TIÊU CHUẨN QUỐC GIA TCVN 8655:2010 (ISO/IEC 15438: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 VỀ MÃ VẠCH PDF 417

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

TIÊU CHUẨN QUỐC GIA

TCVN 8655:2010

ISO/IEC 15438: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 VỀ MÃ VẠCH PDF417

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

Lời nói đầu

TCVN 8655:2010 hoàn toàn tương đương với ISO/IEC 15438:2006.

TCVN 8655:2010 do Tiểu Ban kĩ thuật tiêu chuẩn quốc gia 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ã hóa bằng vạch dựa vào sự công nhận các vạch và khoảng trống có kích thước xác định. Có nhiều biện pháp mã hóa thông tin vào dạng vạch, được biết đến với tên gọi là kí hiệu mã hóa, các qui tắc xác định việc chuyển dịch kí tự vào các vạch và khoảng trống và các đặc trưng quan trọng khác được biết đến như quy định kĩ thuật về mã vạch.

Nhà sản xuất thiết bị mã vạch và người sử dụng công nghệ mã vạch yêu cầu có sẵn các tiêu chuẩn quy định kĩ thuật về mã vạch để họ tham khảo khi xây dựng các tiêu chuẩn ứng dụng và tiêu chuẩn về thiết bị. ISO và IEC hiểu rõ và có mục tiêu đối với việc quy định mã vạch trong tiêu chuẩn này là hoàn toàn trong phạm vi chung, không bị ràng buộc vào bất kì hạn chế, giấy phép và phí nào.

 

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 PDF417

Information technology – Automatic identification and data capture techniques – PDF417 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 PDF417, các đặc tính của mã vạch, việc mã hóa các ký tự dữ liệu, các định dạng mã vạch, các kích thước, các quy tắc sửa lỗi, thuật toán giải mã tham khảo, và số lượng các tham số ứng dụng.

2. Tài liệu 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 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.

TCVN 8656-1:2010 (ISO/IEC 19762-1) 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: Các thuật ngữ chung liên quan đến AIDC

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)

ISO/IEC 8859-1 Information technology – 8-bit single-byte coded graphic character sets – Part 1: Lantin alphabet No. 1 (Công nghệ thông tin – Bộ kí tự đồ họa mã hóa 8 bit đơn – 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 – dimension 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 – Các số phân định vật mang dữ liệu (gồm cả các mã nhận dạng mã vạch))

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) – Thuật ngữ hài hòa – Phần 2: Phương tiện đọc quang học)

ISO/IEC 24723, Information technology – Automatic identification and data capture techniques – EAN.UCC Composite bar code symbology specification (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 ghép EAN.UCC)

AIM Inc. International technical Standard: ITS/04-001, Extended Channel Interpretations – Part 1: ldentification Schemes and protocols (Tiêu chuẩn kỹ thuật quốc tế: ITS/04/001, Diễn dịch kênh m rộng – Phần 1: Các lược đồ và giao thức phân định)

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

Trong tiêu chuẩn này sử dụng các thuật ngữ và định nghĩa nêu trong TCVN 8656-1:2010 (ISO/IEC 19762-1).

3.1. Mô hình kênh cơ sở (basic channel model)

Hệ thống chuẩn về việc mã hóa và truyền dữ liệu mã vạch, trong đó các byte gói tin dữ liệu được lấy từ bộ giải mã nhưng không có thông tin kiểm soát về gói tin được truyền

CHÚ THÍCH: Bộ giải mã tuân theo mô hình hoạt động trong Phương thức Kênh Cơ sở.

3.2. Chuỗi vạch-khoảng trống (bar-space sequence)

Chuỗi biểu diễn chiều rộng môđun của các phần tử kí tự mã vạch

3.3. Cụm (cluster)

Bất kỳ ba tập con loại trừ lẫn nhau của các kí tự mã vạch PDF417, các kí tự mã vạch trong cụm đã cho phù hợp với các quy tắc cấu trúc riêng được sử dụng trong việc giải mã mã vạch

3.4. Phương thức nén (compaction mode)

Bất kì ba thuật toán nén dữ liệu trong PDF417 (văn bản, các phương thức nén số và byte) được sử dụng để ánh xạ các byte dữ liệu 8 bít một cách hiệu quả đến các từ mã của PDF417

3.5. Khoảng cách e (e-distance)

Khoảng cách từ đường biên chủ đạo của một phần tử đến đường biên ch đạo của phần tử tương tự tiếp theo, hoặc từ đường biên cuối đến đường biên cuối

3.6. Từ mã điều chỉnh lỗi (error correction codeword)

Từ mã mã hóa giá trị được bắt nguồn từ thuật toán về từ mã điều chỉnh lỗi để kích hoạt các lỗi giải mã được phát hiện và, phụ thuộc vào mức điều chỉnh lỗi, được điều chỉnh

3.7. Diễn dịch kênh mở rộng (Extended Channel Interpretation)

Quy trình trong phạm vi một vài mã vạch, bao gồm PDF417, để thay thế diễn dịch mặc định bằng diễn dịch mặc định khác theo một cách đáng tin cậy

CHÚ THÍCH: Diễn dịch trước khi tạo ra mã vạch có thể được lấy lại sau khi giải mã mã vạch được quét để tái tạo gói tin dữ liệu trong định dạng gốc của nó.

3.8. Mô hình kênh mở rộng (Extended Channel Model)

Hệ thống về mã hóa và truyền các byte gói tin dữ liệu và thông tin kiểm soát về gói tin, thông tin kiểm soát được truyền tải sử dụng các chuỗi thoát ECI

CHÚ THÍCH: Bộ giải mã tuân theo mô hình này hoạt động trong Phương thức Kênh mở rộng.

3.9. Từ mã chức năng (Function codeword)

Trong mã vạch, từ mã bắt đầu bằng một phép tính riêng, ví dụ để chuyển giữa các bộ mã hóa dữ liệu, để gọi một lược đồ nén, để lập trình bộ đọc, hoặc để gọi các ECI

3.10Mã phân định nhãn toàn cầu (Global Label Identifier)

GLI

Quy trình trong mã vạch PDF417 hoạt động theo một cách tương tự với ECI

CHÚ THÍCHHệ thống GLI là tiền thân của hệ thống ECI độc lập

3.11. Macro PDF417 (Macro PDF417)

Quy trình trong mã vạch PDF417 phân tán dữ liệu từ một tệp tin máy tính qua một số mã vạch PDF417 liên quan một cách hợp lý

CHÚ THÍCH 1: Quy trình mở rộng dung lượng dữ liệu ngoài một mã vạch đơn.

CHÚ THÍCH 2: Quy trình này tương tự với đặc tính gắn với cấu trúc trong các mã vạch khác.

3.12Từ mã Mode latch (Mode Latch codeword)

Từ mã được sử dụng để chuyển từ một phương thức này sang một phương thức khác, có hiệu lực cho tới khi từ mã latch hoặc shift khác trở nên đơn giản hoặc rõ ràng để sử dụng, hoặc đến khi kết thúc mã

3.13Từ mã Mode Shift (Mode Shift codeword)

Từ mã được sử dụng để chuyển từ một phương thức sang này một phương thức khác, sau khi việc mã hóa trở về phương thức ban đầu

3.14Từ mã ch báo hàng (Row Indicator codeword)

Từ mã PDF417 sát với kí tự bắt đầu và kí tự kết thúc trong một hàng, trong đó mã hóa thông tin về cấu trúc của mã vạch PDF417 dưới dạng phân định hàng, tổng số hàng và cột, và mức điều chỉnh lỗi

3.15Bộ Mô tả độ dài mã vạch (Symbol Length Descriptor)

Từ mã đầu tiên trong mã vạch PDF417, trong đó mã hóa tổng số từ mã dữ liệu trong mã vạch

4. Mã vạch, phép tính và thuật ngữ viết tắt

4.1. Mã vạch

Các mã vạch toán học sau đây được áp dụng nhằm đáp ứng các mục đích nêu trong tiêu chuẩn này. Có nhiều trường hợp các mã vạch được sử dụng trong phương trình theo nhiều cách khác nhau. Điều này được áp dụng để nhất quán với việc sử dụng ký hiệu chung và được định nghĩa rõ trong tiêu chuẩn này.

A tỉ lệ bề mặt mã vạch (chiều cao đến chiều rộng) của mã vạch PDF417

b độ dài phần tử trong một ký tự của mã vạch

c số cột của mã vạch trong miền dữ liệu (không bao gồm các từ mã đầu, cuối và chỉ báo hàng)

d từ mã dữ liệu bao gồm tất cả từ mã chức năng

E từ mã điều chỉnh lỗi

e đường biên đến kích thước đường biên tương tự trong kí tự mã vạch

F số hàng

f số lỗi thay thế

H độ cao của mã vạch bao gồm vùng trống

K số cụm

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

L ch báo hàng trái

l số vết xóa

m số từ mã dữ liệu nguồn trước khi bổ sung bộ Mô tả Độ dài Mã vạch và các từ mã đệm

n tổng số các từ mã dữ liệu bao gồm bộ Mô tả Độ dài Mã vạch và các từ mã đệm

p độ dốc và chiều rộng của ký tự mã vạch

QH vùng trống nằm ngang

Qv vùng trống thẳng đứng

R chỉ báo hàng phải

r số hàng trong mã vạch

s mức điều chỉnh lỗi

W độ rộng của mã vạch bao gồm vùng trống

X độ rộng môđun hoặc kích thước X

Y độ cao môđun (cũng được gọi là độ cao của hàng)

4.2. Các phép tính toán học

Các phép tính toán học sau đây áp dụng nhằm đáp ứng các mục đích nêu trong tiêu chuẩn này.

div là toán tử phân chia số nguyên, làm tròn xuống

INT là giá trị nguyên còn lại sau khi chia

mod là số dư nguyên dương sau khi chia. Nếu số dư là âm, thì sẽ cộng số dư với số chia để được kết quả là số dương. Ví dụ, -29160 chia 929 dư -361, khi đó lấy phần dư cộng với 929 được kết quả là 568.

4.3. Thuật ngữ viết tắt

Các thuật ngữ viết tắt sau đây áp dụng nhằm đáp ứng các mục đích nêu trong tiêu chuẩn này.

ECI Diễn dịch kênh mở rộng

GLI Số phân định nhãn toàn cầu

5. Yêu cầu

5.1. Đặc tính của mã vạch

5.1.1. Đặc tính cơ bản

PDF417 là một loại mã vạch với các đặc tính cơ bản sau đây:

a) Bộ kí tự mã hóa

1. Phương thức nén văn bản (xem 5.4.1.5) thừa nhận tất cả các kí tự ASCII có thể in ra sẽ được mã hóa, ví dụ: các giá trị từ 32 đến 126 theo ISO/IEC 646 (IRV), cũng như các kí tự kiểm soát đã chọn.

2. Phương thức nén byte (xem 5.4.3) thừa nhận tất cả 256 giá trị byte 8 bit có thể được mã hóa. Điều này bao gồm tất cả các ký tự ASCII giá trị từ 0 đến 127 và hỗ trợ bộ kí tự quốc tế.

3. Phương thức nén số (xem 5.4.4) thừa nhận việc mã hóa hiệu quả các chuỗi dữ liệu số.

4. Trên 811 800 bộ kí tự khác nhau hoặc các diễn dịch dữ liệu.

5. Các từ mã chức năng khác nhau dùng cho các mục đích kiểm soát.

b) Cấu trúc kí tự của mã vạch: các ký tự (n, k, m) của 17 môđun (n), 4 vạch và 4 yếu tố trống (k), với 6 môđun chiều rộng của yếu tố lớn nhất (m).

c) Số lượng tối đa có thể các kí tự dữ liệu trong mỗi mã vạch (ở mức điều chỉnh lỗi là 0): 925 từ mã dữ liệu có thể mã hóa:

1. Phương thức nén văn bản: 1 850 ký tự (2 kí tự dữ liệu mỗi từ mã).

2. Phương thức nén byte: 1 108 ký tự (1,2 kí tự dữ liệu mỗi từ mã).

3. Phương thức nén số: 2 710 ký tự (2,93 kí tự dữ liệu mỗi từ mã).

Tại mức điều chỉnh lỗi tối thiểu đã khuyến cáo, có tối đa 863 từ mã dữ liệu có thể mã hóa:

4. Phương thức nén văn bản: 1 726 kí tự (2 kí tự dữ liệu mỗi từ mã).

5. Phương thức nén byte: 1 033 kí tự (1,2 kí tự dữ liệu mỗi từ mã).

6. Phương thức nén số: 2 528 kí tự (2,93 kí tự dữ liệu mỗi mã).

d) Kích cỡ mã vạch

1. Số hàng: 3 đến 90.

2. Số cột: 1 đến 30.

3. Chiều rộng trong các môđun: 90X đến 583X bao gồm các vùng trống.

4. Số lượng từ mã tối đa: 928 từ mã.

5. Số lượng từ mã dữ liệu tối đa: 925 từ mã.

Khi số hàng và cột được chọn, tỉ lệ bề mặt của mã PDF417 có thể bị thay đổi khi in để phù hợp với các yêu cầu về không gian của ứng dụng.

e) Điều chỉnh lỗi có thể chọn: 2 đến 512 từ mã mỗi mã vạch (xem 5.7).

f) Vùng không chứa dữ liệu:

1. Mỗi hàng: 73 môđun, bao gồm các vùng trống.

2. Mỗi mã vạch: tối thiểu 3 từ mã, được biểu diễn như các ký tự mã vạch.

g) Kiểu mã: liên tục, hai kích thước nhiều hàng

h) Tự kiểm tra kí tự: Có

i) Có thể giải mã hai chiều: Có

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

Trong mã vạch PDF417, các đặc tính bổ sung là vốn có hoặc tùy chọn được tóm tắt như sau:

a) nén dữ liệu: (vốn có) Ba lược đồ được xác định để nén một số các đặc tính dữ liệu vào các từ mã. Nhìn chung, dữ liệu không được biểu diễn trực tiếp trên một ký tự về một cơ sở từ mã (xem 5.4.1.5 đến 5.4.4).

b) Các diễn dịch kênh mở rộng: (tùy chọn) Các cơ chế này cho phép trên 811 800 bộ kí tự dữ liệu hoặc diễn dịch khác nhau được mã hóa (xem 5.5).

c) Macro PDF417: (tùy chọn) Cơ chế này cho phép các tệp dữ liệu được biểu diễn một cách logic và liền nhau trong một số mã vạch PDF417. Trên 99 999 mã vạch PDF417 khác nhau có thể được kết nối hoặc ràng buộc vào nhau và được quét theo một chuỗi nào đó giúp cho tệp dữ liệu gốc được thiết kế lại một cách chính xác (xem 5.13).

d) Đường biên đến đường biên giải mã: (vốn có) PDF417 có thể được giải mã bằng cách đo các phần tử từ đường biên đến đường biên tương tự (5.3.1).

e) Quét hàng chéo: (vốn có) Sự kết hợp của ba đặc tính sau đây trong PDF417 tạo thuận lợi cho việc quét hàng chéo:

– được đồng bộ hóa theo chiều ngang, hoặc tự định thời

– phân định hàng

– được đồng bộ hóa theo chiều dọc, bằng cách sử dụng các giá trị của cụm để hoàn tất việc phân hóa hàng cục bộ.

Sự kết hợp này cho phép máy quét mã vạch một chiều đi qua một số hàng và hoàn tất việc giải mã dữ liệu một phần miễn sao ít nhất một ký tự mã vạch hoàn thiện ở mỗi hàng được giải mã thành từ mã. Thuật toán giải mã có thể đặt các từ mã riêng lẻ vào một ma trận có ý nghĩa.

f) Điều chỉnh lỗi: (vốn có) Người dùng có thể xác định một trong 9 mức điều chỉnh lỗi. Mức 0 không chỉ phát hiện ra lỗi mà còn có thể điều chỉnh một cách thiếu chính xác các từ mã còn thiếu hoặc đã giải mã.

g) PDF417 nén: (tùy chọn) Trong các môi trường tương đối “trong sạch”, có thể giảm một số hàng đầu để cải thiện mật độ của mã vạch.

CHÚ THÍCH: Trong các quy định kĩ thuật trước đây về mã vạch PDF417, PDF417 nén được gọi là PDF417 bị cắt ngắn. PDF417 nén là thuật ngữ ưu tiên để tránh nhầm lẫn với một thuật ngữ được sử dụng phổ biến hơn là “bị cắt ngắn”.

5.2. Cấu trúc mã vạch

5.2.1. Tham số của mã vạch PDF417

Mỗi mã vạch PDF417 bao gồm nhiều hàng được sắp xếp theo chiều dọc với tối thiểu 3 hàng (tối đa 90 hàng). Mỗi hàng phải bao gồm tối thiểu 1 kí tự mã vạch (tối đa 30 kí tự). Không bao gồm các cột chỉ báo hàng, cột đầu và cuối. Mã vạch phải bao gồm một vùng trống ở tất cả bốn phía. Hình 1 minh họa một mã vạch PDF417 mã hóa văn bản: Chuẩn về mã vạch PDF417.

Hình 1 – Cấu trúc mã vạch PDF417

5.2.2. Tham số hàng

Mỗi hàng của mã vạch PDF417 phải bao gồm:

a) Vùng trống đầu

b) Kí tự bắt đầu

c) Kí tự mã vạch chỉ báo hàng trái

d) 1 đến 30 ký tự mã vạch

e) Kí tự mã vạch chỉ báo hàng phải

f) Kí tự kết thúc

g) Vùng trống cuối

CHÚ THÍCH: Số kí tự mã vạch (hoặc từ mã) đề cập trong mục “d” ở trên bằng với số cột dữ liệu trong mã vạch PDF417.

5.2.3. Chuỗi từ mã

Mã vạch PDF417 có thể bao gồm trên 928 kí tự mã vạch hoặc từ mã. Kí tự mã vạch là thuật ngữ thích hợp hơn để xem vạch/ khoảng trống được in; từ mã thích hợp cho giá trị số của kí tự mã vạch. Các từ mã phải theo chuỗi này:

a) Từ mã đầu tiên, bộ Mô tả độ dài mã vạch mã hóa toàn bộ số từ mã dữ liệu trong mã vạch, bao gồm bộ Mô tả độ dài mã vạch, các từ mã dữ liệu và các từ mã đệm, nhưng không bao gồm các từ mã điều chỉnh lỗi.

b) Các từ mã dữ liệu phải theo sau kí tự có khả năng mã hóa điển hình nhất. Các từ mã chức năng có thể được chèn để hoàn tất việc nén dữ liệu.

c) Các từ mã đệm cho phép chuỗi từ mã được biểu diễn theo ma trận hình chữ nhật. Các từ mã đệm cũng có thể được sử dụng để lấp đầy các hàng bổ sung nhằm đạt được tỉ lệ bề mặt mong muốn hoặc được quy định bởi ứng dụng.

d) Một khối kiểm soát Macro PDF417 tùy chọn.

e) Các từ mã điều chỉnh lỗi về việc phát hiện và điều chỉnh lỗi.

Các từ mã được sắp xếp cùng với từ mã điển hình nhất kế với bộ Mô tả độ dài mã vạch, được mã hóa từ trái qua phải và từ hàng trên cùng đến hàng dưới cùng. Hình 2 minh họa định dạng chuỗi về mã vạch giống như Hình 1. Trong Hình 2, Mức điều chỉnh lỗi 1 được sử dụng và một kí tự đệm cần lấp đầy ma trận mã vạch.

Hình 2 – Ví dụ về lược đồ mã vạch của PDF417

trong đó

L, R, d và E được đề cập trong Điều 4

d15 = bộ Mô tả độ dài mã vạch (trong ví dụ này, với một giá trị của 16)

d14 đến d= biểu diễn dữ liệu đã mã hóa

d0 =  từ mã đệm

Các quy tắc và lời khuyên về việc lập cấu trúc ma trận được nêu trong điều 5.9.

5.3. Mã hóa cơ bản

5.3.1. Cấu trúc ký tự mã vạch

Mỗi kí tự mã vạch PDF417 phải bao gồm bốn yếu tố vạch và yếu tố khoảng trống, mỗi yếu tố có thể có một đến sáu môđun chiều rộng. Bốn phần tử vạch và bốn phần tử khoảng trống phải đo 17 môđun tất cả. Các kí tự mã vạch có thể được giải mã bằng cách đo các khoảng cách e trong ký tự.

Mỗi kí tự mã vạch PDF417 được xác định bởi chuỗi vạch-khoảng trống gồm 8 số, trong đó biểu diễn các chiều rộng môđun của tám yếu tố của kí tự mã vạch đó. Hình 3 minh họa một kí tự mã vạch với chuỗi vạch-khoảng trống 51111125.

Hình 3 – Kí tự của mã vạch PDF417

Có 929 giá trị kí tự mã vạch (từ mã) được đánh số từ 0 đến 928.

Các từ mã được biểu diễn bởi ba bộ kí tự mã vạch hoặc các cụm loại trừ lẫn nhau. Mỗi cụm mã hóa 929 từ mã PDF417 có sẵn thành các mẫu vạch-khoảng trống khác nhau sao cho một cụm khác với cụm khác. Các số của cụm là 0, 3, và 6. Định nghĩa cụm áp dụng cho tất cả các kí tự mã vạch PDF417, ngoại trừ các kí tự bắt đầu và kết thúc.

Cụm số K được xác định bởi công thức sau đây:

K = (b1 – b2 + b3 – b4 + 9) mod 9

Trong đó b1 b2b3, và b4 biểu diễn chiều rộng trong các môđun của bốn phần tử vạch tương ứng

Cụm số K về kí tự mã vạch trong Hình 3 là:

K = (5  1 + 1 – 2 + 9) mod 9 = 3

Các từ mã và chuỗi vạch-khoảng trống cho mỗi cụm kí tự mã vạch được đề cập đến trong Phụ lục A

5.3.2. Kí tự bắt đầu và kết thúc

Các kí tự bắt đầu và kết thúc phải được sắp xếp như trong Bảng 1 và minh họa trong Hình 4:

Bảng 1 – Chuỗi vạch-khoảng trống cho các kí tự bắt đầu và kết thúc

Kí tự

Chuỗi vạch-khoảng trống

B

S

B

S

B

S

B

S

B

Bắt đầu

8

1

1

1

1

1

1

3

 

Kết thúc

7

1

1

3

1

1

1

2

1

CHÚ THÍCH 1: Các kí tự bắt đầu và kết thúc của mã vạch PDF417 là duy nhất có nhiều hơn 6 môđun chiều rộng.

CHÚ THÍCH 2Kí tự kết thúc có thêm một môđun phần từ vạch đơn.

Đối với tất cả các hàng, các kí tự bắt đầu và kết thúc phải có cùng chuỗi vạch-khoảng trống.

Hình 4 – Các kí tự bắt đầu và kết thúc của mã vạch PDF417

5.4. Mã hóa (dữ liệu) mức cao

Mã hóa mức cao biến đổi các kí tự dữ liệu thành các từ mã tương ứng.

Các lược đồ nén dữ liệu được sử dụng để hoàn tất việc mã mức cao một cách hiệu quả. Ba phương thức được đề cập dưới đây, mỗi phương thức xác định một ánh xạ riêng giữa dữ liệu người sử dụng và các chuỗi từ mã. PDF417 có ba phương thức nén dữ liệu:

– Phương thức nén văn bản (xem 5.4.1.5)

– Phương thức nén byte (xem 5.4.3)

– Phương thức nén số (xem 5.4.4)

Chuỗi các byte dữ liệu cho trước có thể được biểu diễn bởi các thứ tự từ mã khác nhau, phụ thuộc vào cách bộ mã hóa chuyển giữa các phương thức nén và phương thức con nén. Không có cách đơn l nào để mã hóa dữ liệu trong mã vạch PDF417.

900 từ mã (0 đến 899) luôn có sẵn trong mỗi phương thức về mã hóa dữ liệu và các chức năng khác trong phương thức. 29 từ mã cò lại được ấn định cho các chức năng cụ thể (xem 5.4.1) độc lập với phương thức nén hiện hành.

PDF417 cũng hỗ trợ hệ thống Diễn dịch Kênh Mở rộng, cho phép các diễn dịch dữ liệu khác được mã hóa chính xác trong mã vạch (xem 5.5).

5.4.1. Từ mã chức năng

Các từ mã từ 900 đến 928 được ấn định làm các từ mã chức năng như sau:

– chuyển giữa các phương thức (xem 5.4.1.1)

– các ứng dụng nâng cao sử dụng các Diễn dịch Kênh mở rộng (ECIs) (xem 5.4.1.2)

– các ứng dụng nâng cao khác (xem 5.4.1.3 và 5.4.1.4)

Hiện tại, các từ mã từ 903 đến 912, 914 đến 917, và 919 là các từ mã dự trữ. Bảng 2 xác định danh sách gồm đầy đủ các từ mã chức năng đã ấn định và dự trữ. Các chức năng của chúng được đề cập trong các điều từ 5.4.1.1 đến 5.4.1.5. Xem 5.4.6 về cách xử lý các từ mã dự trữ.

Bảng 2 – Nhiệm vụ của các từ mã chức năng trong mã vạch PDF417

Từ mã

Chức năng

Tham khảo điều

900

mode latch sang phương thức nén văn bản 5.4.1.1

901

mode latch sang phương thức nén byte 5.4.1.1, 5.4.3.1

902

mode latch sang phương thức nén số 5.4.1.1

903 đến 912

Dự trữ  

913

mode shift sang phương thức nén byte 5.4.1.1

914 đến 917, 919

Dự trữ  

918

cờ liên kết đến thành phần hàng kèm theo, trong mã vạch ghép (khác với mã vạch ghép EAN.UCC) 5.4.1.5

920

cờ liên kết đến thành phần một chiều kèm theo, trong mã vạch ghép EAN.UCC 5.4.1.5

921

khi tạo bộ đọc 5.4.1.4

922

từ mã cuối cho khối kiểm soát Macro PDF 5.13

923

thẻ phân định phần đầu các trường tùy chọn trong khối kiểm soát Macro PDF 5.13

924

mode latch sang phương thức nén byte (sử dụng khác với 901) 5.4.1.1, 5.4.3.1

925 đến 927

số phân định cho một Diễn dịch Kênh Mở rộng (ECI) 5.5

928

từ mã đánh dấu Macro biểu thị phần đầu của khối kiểm soát Macro PDF 5.13

5.4.1.1. Từ mã chức năng cho việc chuyển phương thức

Trong một mã vạch PDF417, có thể chuyển tới và lui các phương thức mỗi lần có yêu cầu. Lời khuyên về việc chọn lựa các phương thức thích hợp có trong điều 5.4.5.

Từ mã Mode Latch có thể được sử dụng để chuyển từ phương thức hiện hành tới phương thức đích mà có tác dụng đến khi bộ chuyển phương thức khác được đưa vào sử dụng. Các từ mã từ 900 đến 902 và 924 được ấn định cho mục đích này. Bảng 3 xác định chức năng của chúng.

Từ mã Mode Shift 913 tạo ra một bộ chuyển tạm thời từ phương thức nén văn bản sang phương thức nén byte. Bộ chuyển này chỉ có hiệu quả cho từ mã tiếp theo, sau khi phương thức trở lại phương thức con thịnh hành của phương thức nén văn bản. Từ mã 913 chỉ sẵn có trong phương thức nén văn bản, cách sử dụng của nó được mô tả trong điều 5.4.2.4.

Bảng 3 – Các từ mã chuyển phương thức và định nghĩa phương thức

Phương thức đích

Mode Latch

Mode Shift

Nén văn bản

900

 

Nén byte

901/924

913

Nén số

902

 

CHÚ THÍCH: Bảng 3 phân định từ mã được sử dụng để chuyển phương thức đã xác định.

Các quy tắc chuyển giữa ba phương thức được đề cập trong Bảng 4 và biểu diễn trong Hình 5.

Bảng 4 – Bảng chuyển phương thức, các từ mã biểu diễn và chức năng của chúng

Phương thức gốc

Phương thức đích

Văn bản

Byte

Số

Văn bản

mode latch 900 mode shift 913

mode latch 901

mode latch 924

mode latch 902

Byte

mode latch 900 mode latch 901

mode latch 924

mode latch 902

Số

mode latch 900 mode latch 901

mode latch 924

mode latch 902

Hình 5 – Chuyển phương thức có sẵn

Các quy tắc chuyển thành phương thức nén byte được mô tả đầy đủ hơn ở điều 5.4.3.1.

5.4.1.2. Các từ mã chức năng cho việc chuyển sang các từ mã Diễn dịch Kênh Mở rộng

Từ mã ECI có thể được sử dụng để chuyển tới một diễn dịch cụ thể, mà vẫn có tác dụng đến khi một từ mã ECI khác được đưa vào sử dụng rõ ràng hoặc đến phần cuối của dữ liệu. Các từ mã từ 925 đến 927 được ấn định cho chức năng này (xem 5.5).

5.4.1.3. Các từ mã chức năng về Macro PDF417

Các mã vạch Macro PDF417 (xem 5.13) phải sử dụng từ mã 928 tại điểm bắt đầu của khối kiểm soát Macro PDF417. Các từ mã 922 và 923 được sử dụng cho các chức năng trong Macro PDF417.

5.4.1.4. Từ mã chức năng để khởi tạo bộ đọc

Từ mã 921 phải được sử dụng để hướng dẫn người đọc dịch dữ liệu chứa trong mã vạch khi lập trình khởi tạo bộ đọc. Từ mã 921 phải xuất hiện đầu tiên sau bộ Mô tả Độ dài Mã vạch. Nếu có chuỗi khởi tạo Macro PDF417 thì từ mã 921 phải xuất hiện trong mỗi mã vạch.

Dữ liệu chứa trong mã vạch khởi tạo hoặc chuỗi các mã vạch, sẽ không được bộ đọc truyền đi.

5.4.1.5. Các từ mã chức năng cho các cờ liên kết trong mã vạch ghép

Từ mã 920 phải được sử dụng như một cờ liên kết để báo hiệu sự có mặt của thành phần một chiều EAN.UCC liên quan phù hợp ISO/IEC 24723.

Từ mã 918 phải được sử dụng làm cờ liên kết để báo hiệu sự có mặt của thành phần một chiều liên quan trong mọi mã vạch ghép.

Khi sử dụng, từ mã 918 hoặc 920 có thể xuất hiện ở mọi vị trí trong mã vạch. Yêu cầu kĩ thuật của mã vạch ghép có thể xác định vị trí cụ thể của cờ liên kết.

Các bộ đọc hỗ trợ ứng dụng ghép đã được chỉ định phải giải mã và truyền dữ liệu từ tt cả các thành phần như đã quy định trong yêu cầu kĩ thuật về mã vạch ghép liên quan. Các bộ đọc không hỗ trợ ứng dụng ghép có thể xử lý từ mã 918 hoặc 920 như một từ mã dự trữ (xem 5.4.6). Ngoài ra, các bộ đọc không hỗ trợ ứng dụng ghép 918 có thể có một lựa chọn là bỏ qua thành phần ghép 2 chiều và ch truyền dữ liệu từ thành phần một chiều liên quan.

5.4.2. Phương thức nén văn bản

Phương thức nén văn bản bao gồm tất cả các kí tự ASCII có thể in được (ví dụ: các giá trị từ 32 đến 126) và ba kí tự kiểm soát ASCII: HT hoặc tab (ASCII giá trị 9), LF (tín hiệu chuyển hàng) (ASCII giá trị 10) và CR (quay lại bộ phận vận tải) (ASCII giá trị 13). Phương thức nén văn bản cũng bao gồm các kí tự latch và shift được sử dụng dành riêng trong phương thức này.

Phương thức nén văn bản mã hóa trên 2 kí tự mỗi từ mã. Các quy tắc biến đổi dữ liệu thành các từ mã PDF417 được đề cập trong điều 5.4.2.2. Các bộ chuyển phương thức con được đề cập trong điều 5.4.2.3.

5.4.2.1. Các phương thức con về nén văn bản

Phương thức nén văn bản gồm bốn phương thức con:

– Alpha (chữ hoa)

– Lower (chữ thường)

– Hỗn hợp (số và chấm câu)

– Chấm câu

Mỗi phương thức con chứa 30 kí tự, bao gồm các kí tự shift và latch của phương thức con.

Phương thức nén mặc định cho PDF417 có hiệu quả tại lúc bắt đầu mỗi mã vạch luôn là phương thức con Alpha (chữ hoa) của phương thức nén văn bản. Từ mã latch từ một phương thức khác sang phương thức nén văn bản phải luôn chuyển sang phương thức con Alpha của phương thức nén văn bản.

Tất cả các kí tự và giá trị của chúng được đề cập trong Bảng 5

Bảng 5 – Định nghĩa phương thức con

Các giá trị của Base 30

Các phương thức con về nén văn bản

Alpha

Lower

Hn hợp

Chấm câu

Kí tự

ASCII

Kí tự

ASCII

Kí tự

ASCII

Kí tự

ASCII

0

A

65

a

97

0

48

;

59

1

B

66

b

98

1

49

60

2

C

67

c

99

2

50

62

3

D

68

d

100

3

51

@

64

4

E

69

e

101

4

52

[

91

5

F

70

f

102

5

53

\

92

6

G

71

g

103

6

54

]

93

7

H

72

h

104

7

55

_

95

8

I

73

i

105

8

56

96

9

J

74

j

106

9

57

~

126

10

K

75

k

107

&

38

!

33

11

L

76

I

108

CR

13

CR

13

12

M

77

m

109

HT

9

HT

9

13

N

78

n

110

,

44

,

44

14

O

79

o

111

:

58

:

58

15

P

80

p

112

#

35

LF

10

16

Q

81

q

113

45

45

17

R

82

r

114

.

46

.

46

18

S

83

s

115

$

36

$

36

19

T

84

t

116

/

47

/

47

20

U

85

u

117

+

43

34

21

V

86

v

118

%

37

|

124

22

W

87

w

119

*

42

*

42

23

X

88

x

120

=

61

(

40

24

Y

89

y

121

^

94

)

41

25

Z

90

z

122

pl

?

63

26

khoảng trống

32

khoảng trống

32

khoảng trống

32

{

123

27

II

as

II

}

125

28

ml

ml

al

39

29

ps

ps

 ps

al

al = latch sang alpha                 ml = latch sang hỗn hợp

as = shift sang alpha                 pl = latch sang chấm câu

II = latch sang lower                   ps = shift sang chấm câu

CHÚ THÍCH: Các cột Kí tự ở trên biểu diễn diễn dịch mặc định của ECI 000003 của các giá trị byte đã được chỉ ra trong các cột ASCII liền kề. Mỗi bảng biểu diễn một nửa từ mã, ví dụ: các dãy giá trị từ 0 đến 29 (xem 5.4.2.2).

5.4.2.2. Các quy tắc nén cho việc mã hóa trong phương thức nén văn bản

Trong phương thức nén văn bản, các cặp kí tự dữ liệu được biểu diễn trong từ mã đơn. Các giá trị được ấn định cho các kí tự dữ liệu nằm trong khoảng từ 0 đến 29 (tức là cơ số/ base 30) và được đề cập trong bảng 5. Đối với mỗi cặp của các giá trị base 30, giá trị đầu tiên hoặc bên trái phải được thiết kế nhiều giá trị h hơn, các giá trị khác thiết kế ít giá trị / hơn.

Từ mã PDF417 đã mã hóa được xác định bằng việc sử dụng công thức sau:

d = h 30 + l

trong đó: d được quy định trong điều 4

Công thức này cũng áp dụng cho các giá trị base 30 đối với các shift và latch trong phương thức nén văn bản. Các giá trị shift và latch thích hợp được sử dụng giữa các phương thức con. Nếu việc mã hóa chuỗi ký tự không có kết quả là một số chẵn các giá trị của base 30, xem điều 5.4.2.4 về cơ chế sử dụng cụ thể.

Ví dụ sau đây minh họa cách nén đạt được trong phương thức nén văn bản.

Ví DỤ: Dữ liệu được mã hóa: PDF417

Bảng 6 – Ví dụ về việc mã hóa nén văn bản

Các cặp kí tự

h

/

x 30 + /

Từ mã

P D

15

3

15 x 30 + 3

453

F ml

5

28

x 0 + 28

178

1

4

1

x 30 + 1

121

ps

7

29

x 30 + 29

239

CHÚ THÍCH 1ml (latch sang phương thức con hỗn hợp) được sử dụng để mã hóa các ký tự số

CHÚ THÍCH 2ps được sử dụng như một giá trị đệm trong ví dụ này, các giá trị shift và latch khác có thể được sử dụng (xem 5.4.2.4)

Dữ liệu PDF417 được biểu diễn bởi các từ mã 453, 178, 121, 239

5.4.2.3. Chức năng của shift và latch trong việc chuyển phương thức con của nén văn bản

Việc chuyển từ một phương thức con sang một phương thức con khác trong phương thức nén văn bản phải thông qua các giá trị latch và shift đã xác định cho phương thức con trước bộ chuyển.

Phương thức con của shift phải được sử dụng để chuyển một phương thức con của nén văn bản sang một phương thức con khác chỉ với một kí tự dữ liệu. Các từ mã tiếp theo trở lại phương thức con đang được sử dụng trước shift (ngoại tr việc ps được sử dụng như một bước đệm, xem 5.4.2.4). Shift có các chức năng như sau:

– ps = shift chuyển sang phương thức con chấm câu

– as = shift chuyển sang phương thức con chữ viết hoa

Phương thức con của Latch phải được sử dụng để chuyển một phương thức con của nén văn bản sang một phương thức con khác mà có hiệu quả đến khi một latch hay shift khác được đưa vào sử dụng. Latch có các chức năng như sau:

– al = latch sang phương thức con theo chữ viết hoa

– II = latch sang phương thức con chữ thường

– ml = latch sang phương thức con hỗn hợp

– pl = latch sang phương thức con chấm câu

Bộ các chức năng của latch và shift giới hạn luôn sẵn có trong mỗi phương thức con của nén văn bản. Các chức năng này được liệt kê trong Bảng 5. Bảng 7 biểu diễn việc chuyển giữa các phương thức con của nén văn bản; Hình 6 biểu diễn các chức năng này dưới dạng lược đồ.

CHÚ THÍCH: Tiếp theo phương thức con của latch có thể là phương thức con của latch hoặc shift khác; còn tiếp theo phương thức con của shift có thể không phải là phương thức của con shift hoặc latch.

Bảng 7 – Bảng chuyển phương thức con của nén văn bản

Phương thức con gốc

Phương thức con đích

Alpha

Lower

Hỗn hợp

Chấm câu

Alpha

 

II

ml

ps

Lower

as

ml

ps

Hỗn hp

al

II

 

ps

pl

Chấm câu

al

 

 

 

Hình 6 – Chuyển phương thức con của nén văn bản

5.4.2.4. Cơ chế sử dụng lớp đệm trong phương thức nén văn bản

Nếu chuỗi kí tự nén văn bản không có kết quả là một số chẵn các giá trị của base 30, thì phải bổ sung ở cuối chuỗi kí tự một lớp đệm. Bảng 6 nêu ví dụ được minh họa. Khi không có các chức năng vô hiệu trong phương thức nén văn bản thì phương thức con của shift và latch phải được sử dụng theo các cơ chế xác định trong các trường hợp sau đây:

a) Nếu chuỗi kí tự tiếp tục xuất hiện đến cuối dữ liệu hoặc chuỗi kí tự của phương thức nén văn bản được theo sau bằng cách chốt phương thức nén khác, khi đó lớp đệm có thể là bất kì shift hay latch của phương thức con nào.

b) Nếu chuỗi kí tự của phương thức nén văn bản được theo sau bởi shift byte (từ mã 913) để mã hóa kí tự của phương thức nén byte đơn, hai cơ chế có thể được sử dụng phụ thuộc vào phương thức con của nén văn bản đang được sử dụng trước shift nén byte:

1) Nếu phương thức con của nén văn bản không phải là chấm câu, thì giá trị 29 (ps) của base 30 phải được sử dụng nếu việc mã hóa được nhằm để trở lại phương thức con của nén văn bản giống như vậy. Bộ giải mã ngay lập tức bỏ qua ps trước từ mã 913.

2) Nếu phương thức con của nén văn bản là chấm câu, thì giá trị 29 (al) của base 30 phải được sử dụng. Bộ giải mã không bỏ qua (al), do đó sẽ không quay lại phương thức con Alpha.

5.4.2.5. Chuyển từ phương thức nén văn bản

Phương thức nén văn bản có thể được kết thúc ở cuối mã vạch, hoặc bởi bất kì từ mã nào sau đây:

– 900 (latch của phương thức nén văn bản)

– 901 (latch của phương thức nén byte)

– 902 (latch của phương thức nén số)

– 924 (latch của phương thức nén byte)

– 928 (phần đầu của khối kiểm soát Macro PDF417)

– 923 (phần đầu của trường tùy chọn Macro PDF417)

– 922 (ký tự kết thúc Macro PFD417)

Ba từ mã cuối cùng chỉ xuất hiện trong khối kiểm soát Macro PDF417 của mã vạch Macro PDF417 (xem 5.13.1). Phương thức nén văn bản cũng bị ảnh hưởng bởi sự xuất hiện của từ mã dự trữ (xem 5.4.6).

Nếu bộ giải mã có trong phương thức nén văn bản và gặp từ mã 913 (shift của phương thức nén byte), thì nó giải mã từ mã theo sau từ mã 913 như một byte nhị phân đơn và sau đó quay về phương thức nén văn bản. Phương thức con mà bộ giải mã quay về là phương thức con được latch gần đây nhất có hiệu quả trước từ mã 913; một shift của phương thức con ps ngay lập tức bị bỏ qua trước từ mã 913.

Nếu bộ giả mã có trong phương thức nén văn bản và gặp từ mã 900 (latch của phương thức nén văn bản), thì bộ giải mã sẽ khởi tạo lại phương thức con Alpha.

5.4.3. Phương thức nén byte

Phương thức nén byte cho phép một chuỗi các byte 8 bit được mã hóa thành chuỗi các từ mã. Điều này được thực hiện bởi bộ chuyển đổi Base 256 thành Base 900, trong đó đạt được tỉ lệ nén của sáu byte trên năm từ mã (1,2 : 1).

Tất c kí tự và giá trị của chúng (0 đến 256) được quy định trong Phụ lục B. Điều này được coi như một diễn dịch kí tự kiểm soát và diễn dịch đồ họa mặc định. Khi các ECI được gọi ra (xem 5.5) thì diễn dịch này được xác định là ECI 000003 (xem 5.5.2).

CHÚ THÍCH: Trong các quy định kĩ thuật về PDF417 trước đây, bộ kí tự mặc định tương đương với ECI (trang mã về hệ điều hành MS-DOS). Diễn dịch về các giá trị kí tự byte dưới 128 là không đổi, thao tác của thiết bị in và quét mã vạch PDF417 là vô hiệu. Các ứng dụng mới sử dụng các giá trị kí tự byte trên 127 phải thừa nhận diễn dịch mặc định ECI 000003 về tính tương hợp rõ nét nhất với các hệ thống hiện hành. Các ứng dụng hiện có sử dụng các giá trị ở trên 127 có thể tiếp tục mã hóa và xử lý dữ liệu như trước. Các ứng dụng dựa vào diễn dịch mặc định các giá trị trên 127 trước đó có thể mã hóa ECI 000002 rõ ràng nếu chúng muốn chuyển bằng tín hiệu diễn dịch này.

5.4.3.1. Chuyển sang phương thức nén byte

Trong phương thức nén số hoặc văn bản, để chuyển sang phương thức nén byte cần sử dụng một trong các từ mã sau đây:

– Mode latch 924 được sử dụng khi tổng số kí tự nén byte được mã hóa là bội số của 6

– Mode latch 901 được sử dụng khi tổng số kí tự nén byte được mã hóa không phải là bội số của 6

– Mode shift 913 có thể được sử dụng thay cho từ mã 901 khi kí tự nén byte đơn phải được mã hóa

5.4.3.2. Quy tắc nén để mã hóa kí tự nén byte đơn (sử dụng mode shift 913)

Để mã hóa kí tự nén byte đơn, từ mã phải là giá trị thập phân (0 đến 255) của kí tự như đã quy định trong Phụ lục B.

5.4.3.3. Quy tắc nén để mã hóa các chuỗi kí tự nén byte dài hơn (sử dụng Mode latch 924 hoặc 901)

Quy trình sau đây được sử dụng để mã hóa dữ liệu kí tự nén byte

1) Thiết lập tổng số kí tự nén byte.

2) Nếu là bội số của 6 thì mode latch 924 và 901 phải được sử dụng.

3) Chia nhỏ số kí tự nén byte thành chuỗi 6 ký tự, từ trái qua phải (từ các kí tự quan trọng nhất đến ít quan trọng nhất).

4) Gán các giá trị thập phân 6 byte dữ liệu được mã hóa trong phương thức nén byte b5 đến b0 (trong đó b5 là byte dữ liệu đầu tiên).

5) Thực hiện bộ chuyển đổi từ base 256 thành base 900 để tạo một chuỗi gồm 5 từ mã. Phụ lục C xác định thuật toán và minh họa ví dụ.

6) Nhắc lại từ Bước 3 nếu cần thiết.

7) Với các kí tự nén byte còn lại khi sử dụng mode latch 901, (ví dụ: khi nhóm cuối cùng ít hơn 6 kí tự nén byte) (các) từ mã phải là (các) giá trị thập phân (0 đến 255) của (các) kí tự đã quy định trong Phụ lục B, theo thứ tự từ quan trọng nhất đến ít quan trọng nhất.

CHÚ THÍCH: Phương thức nén byte sau Mode latch 901 thừa nhận rằng tổng số byte được mã hóa không phải là bội số của 6. Nếu số byte được mã trong phương thức nén byte là bội số nguyên của 6 thì 901 hoặc 924 sẽ được mã hóa, và được đặt ở bất kì điểm nào trong mã vạch nhằm tạo ra một mã hóa chính xác theo các quy tắc mã hóa này. Ví dụ, từ mã 924 là từ mã thứ nht hoặc thứ hai có thể phân định hàng từ mã sau đây của phương thức nén byte khi mã hóa số byte là bội của 6. Như một sự lựa chọn, từ mã 901 có thể được đặt ở bất kỳ vị trí nào trong dòng từ mã của phương thức nén byte nhằm phân chia dòng thành hai đoạn, cả hai đoạn này đều không mã hóa số byte là bội của 6.

Nếu có yêu cầu về mã hóa bổ sung trong các phương thức nén số hoặc văn bản thì các kí tự latch thích hợp phải được sử dụng (xem 5.4.1.1).

5.4.3.4. Chuyển từ nén byte

Phương thức nén byte có thể kết thúc ở cuối mã vạch hoặc bất kì các từ mã sau đây:

– 900 (latch của phương thức nén văn bản)

– 901 (latch của phương thức nén byte)

– 902 (latch của phương thức nén số)

– 924 (latch của phương thức nén byte)

– 928 (phần đầu của khối kiểm soát Macro PDF417)

– 923 (phần đầu của trường tùy chọn Macro PDF417)

– 922 (ký tự kết thúc Macro PFD417)

Ba từ mã cuối cùng chỉ xuất hiện trong khối kiểm soát Marcro PDF417 của mã vạch Macro PDF417 (xem 5.13.1). Phương thức nén byte cũng bị ảnh hưởng bởi sự có mặt của từ mã dự trữ (xem 5.4.6).

Việc gọi lại phương thức nén byte (bằng cách sử dụng từ mã 901 hoặc 924 trong phương thức nén byte) để hoàn thành nhóm 6 ký tự nén byte của phương thức nén byte trước đó như đã mô tả trong điều 5.4.3.3, và sau đó bắt đầu một nhóm mới. Quy trình này có thể cần thiết khi số gán ECI cần được mã hóa (xem 5.5.3.2).

Đối với phương thức nén văn bản, trong suốt quá trình giải mã, việc xử lý nhóm các từ mã cuối cùng khác nhau phụ thuộc vào liệu phương thức nén byte được gọi ra với từ mã 901 hoặc 924 hay không.

Nếu phương thức nén byte được gọi ra với từ mã 924, tổng số từ mã trong phương thức nén phải là bội số của năm. Nếu không phải như vậy thì mã vạch không hợp lệ. Tất cả các nhóm 5 từ mã được giải mã thành các nhóm 6 byte.

Nếu phương thức nén byte được gọi ra với từ mã 901 thì nhóm các từ mã cuối cùng được diễn dịch trực tiếp là một byte mỗi từ mã, mà không cần nén. Do đó, nếu nhóm cuối cùng gồm năm từ mã thì nhóm được diễn dịch là 5 byte hơn là 6.

5.4.4. Phương thức nén số

Phương thức nén số là phương pháp nén dữ liệu từ base 10 đến base 900 và phải được sử dụng để mã hóa các chuỗi số liên tiếp. Phương thức bén số mã hóa trên 2,93 chữ số mỗi từ mã.

5.4.4.1. Latch sang phương thức nén số

Phương thức bén số có thể được gọi khi trong các phương thức nén văn bản hoặc nén byte sử dụng mode latch 902.

5.4.4.2. Quy tắc nén để mã hóa các chuỗi số liên tiếp

Quy trình sau đây được sử dụng để nén dữ liệu số:

1) Chia chuỗi số thành các nhóm 44 chữ số, ngoại trừ nhóm cuối cùng, nhóm này có thể chứa ít chữ số hơn.

2) Với mỗi nhóm, bổ sung chữ số 1 vào vị trí quan trọng nhất để ngăn ngừa sự mất mát các số 0 ở đầu

VÍ DỤ

dữ liệu gốc

00246812345678

sau bước 2

1 00246812345678

CHÚ THÍCH: Chữ số đầu 1 được rời đi trong thuật toán giải mã

3) Biểu diễn việc chuyển đổi base 10 đến base 900. Phụ lục D quy định thuật toán về việc chuyển đổi này và minh họa ví dụ.

4) Nhắc lại từ Bước 2 khi cần.

Các quy tắc sau đây có thể được sử dụng để xác định số từ mã chính xác trong phương thức nén số:

– Các nhóm 44 chữ số nén 15 từ mã

– Đối với các nhóm chuỗi số ngắn hơn, số từ mã có thể được tính như sau:

Các từ mã = INT(số các chữ số / 3) + 1

VÍ DỤĐối với chuỗi 28 số

INT (28/3) + 1 = 9 + 1 = 10 từ mã

5.4.4.3. Chuyển từ phương thức nén số

Phương thức nén số có thể được kết thức ở cuối mã vạch, hoặc bất kì từ mã sau đây:

– 900 (latch của phương thức nén văn bản)

– 901 (latch của phương thức nén byte)

– 902 (latch của phương thức nén số)

– 924 (latch của phương thức nén byte)

– 928 (phần đầu của khối kiểm soát Macro PDF417)

– 923 (phần đầu của trường tùy chọn Macro PDF417)

– 922 (ký tự kết thúc Macro PFD417)

Ba từ mã cuối cùng chỉ xuất hiện trong khối kiểm soát Macro PDF417 của mã vạch Macro PDF417 (xem 5.13.1). Phương thức nén số cũng bị ảnh hưởng bởi sự có mặt từ mã dự trữ (xem 5.4.6).

Việc gọi lại phương thức nén số (bằng cách sử dụng từ mã 902 trong phương thức nén số) để kết thúc nhóm trong phương thức nén số hiện hành như đã mô tả trong điều 5.4.2.2, và sau đó bắt đầu một nhóm mới. Quy trình này có thể cần thiết khi số gán ECI cần được mã hóa (xem 5.5.3.4).

Đối với phương thức nén số, trong suốt quá trình giải mã, việc chuyển đổi base 900 thành base 10 phải có kết quả là một số có chữ số quan trọng nhất là “1”. Nếu việc chuyển đổi này không có kết quả là một số bắt đầu với “1″, thì mã vạch sẽ không hợp lệ. Chữ số đầu “1″ được rời đi để tạo số gốc.

5.4.5. Lời khuyên về việc lựa chọn phương thức nén thích hợp

Tất cả các việc thực hiện cơ bản về in và quét các mã vạch PDF417 phải hỗ trợ ba phương thức: nén văn bản, nén byte, và nén số. Bộ ký tự mặc định về nén văn bản được đề cập trong Bảng 5; về nén byte được đề cập trong Phụ lục B. Phương thức nén văn bản hiệu quả hơn phương thức nén byte về việc mã hóa các tệp văn bản ASCII chuẩn bởi việc nén các giá trị ký tự ASCII 9, 10, 13 và 32 đến 126 tốt hơn.

Phương thức nén số phải được sử dụng cho các chuỗi số dài.

Lời khuyên về việc chuyển giữa các phương thức để giảm thiểu số từ mã được cung cấp như một thuật toán trong Phụ lục N.

5.4.6. Xử lý các từ mã dự trữ của PDF417

5.4.6.1. Tổng quan

Các mã vạch PDF417 sử dụng trong các hệ thống mở không được dùng bất kì từ mã dành riêng (xem 5.4.1) trong tiêu chuẩn này. Tuy nhiên, thiết bị giải mã phải hỗ trợ việc truyền các từ mã dự trữ sử dụng các chuỗi thoát như quy định trong 5.17.4. Thiết bị giải mã có thể cũng hỗ trợ lựa chọn xử lý các mã vạch như vậy là không hợp lệ, cũng như vậy khi hoạt động trong Phương thức Kênh Cơ sở.

Các hệ thống nhận phải xóa bỏ dữ liệu chứa các chuỗi thoát sử dụng các từ mã dự trữ, trừ phi hệ thống hiểu được định nghĩa mới về từ mã dự trữ trước.

5.4.6.2. Sử dụng các từ mã dự trữ trong tương lai

Bất kì từ mã chức năng mới được xác định trong các sửa đổi của tiêu chuẩn này phải có các quy tắc mã hóa được quy định phù hợp với thiết bị tồn tại trước đó. Đặc biệt là:

– Khi một từ mã báo hiệu mới (chống lại từ mã của phương thức nén mới) được mã hóa, nó được theo sau bởi latch của phương thức nén thích hp để các từ mã dữ liệu tiếp theo được diễn dịch và truyền như một hàng byte, hơn là chuỗi các từ mã thoát không diễn dịch. Phương pháp này sẽ cho các kết quả mong muốn với thiết bị giải mã phù hợp với cả tiêu chuẩn gốc và tiêu chuẩn này, không quan tâm liệu thiết bị có dùng giao thức truyền mới hay nguyên bản hay không.

– Tại hệ thống nhận, bộ giải mã ECI sẽ xử lý các ECI báo hiệu (ví dụ: Khối điều khiển Macro và các từ mã thoát không diễn dịch) trước các ECI có khả năng mã hóa (ví dụ như các bộ ký tự). Do đó, bộ mã hóa phải chú ý tới thứ tự các thao tác sau:

1) Nếu xuất hiện các ECI của khối kiểm soát Macro thì chúng sẽ được sử dụng để sắp xếp hàng byte theo thứ tự chính xác.

2) Các từ mã dữ liệu thoát được dịch bởi bộ giải mã ECI theo các quy tắc của phương thức nén mới hoặc ECI báo hiệu, và các byte dữ liệu kết quả sẽ được chèn vào vị trí thích hợp của chúng trong hàng byte.

3) Cuối cùng, bộ kí tự và các ECI có khả năng mã hóa khác sẽ được áp dụng cho hàng byte kết quả.

5.5. Diễn dịch Kênh Mở rộng

Giao thức diễn dịch kênh mở rộng (ECI) cho phép hàng dữ liệu xuất có các diễn dịch khác với diễn dịch của bộ ký tự mặc định. Giao thức ECI được xác định một cách nhất quán qua số mã vạch, bao gồm PDF417. Các ECI được ấn định bởi AIM Global, Inc (Hiệp hội thương mại xác thực tự động).

CHÚ THÍCH: Lược đồ về mã vạch gọi là Số phân định toàn cầu (GLIs) được xác định cho mã vạch PDF417. Việc mã hóa và giải mã các ECI giống với các yêu cầu kĩ thuật trước đây về các GLI của PDF417. Tuy nhiên, phương thức truyền các gói tin giải mã theo các yêu cầu kĩ thuật trước đây về PDF417 cho các GLI là khác với phương thức truyền các ECI. Cũng có nhiều điểm khác biệt trong việc sử dụng các ECI với Macro PDF417. Tiêu chuẩn này cho phép sử dụng các giao thức hiện hành và trước đây, theo cách này thiết bị mới và cũ có thể tiếp tục cùng tồn tại.

Có năm kiểu diễn dịch được hỗ trợ trong PDF417:

a) các bộ ký tự (hoặc các trang mã)

b) các diễn dịch theo mục đích chung như là mã hóa dữ liệu và nén dữ liệu (khác với các phương thức nén của mã vạch)

c) người sử dụng xác định các diễn dịch về các hệ thống đóng

d) truyền thông tin kiểm soát về Macro PDF417

e) truyền các từ mã không diễn dịch của PDF417

Việc truyền giao thức Diễn dịch Kênh mở rộng được quy định đầy đủ trong tiêu chuẩn quốc tế ITS/04-001 của AIM, Phần 1: Giao thức cung cấp phương pháp để quy định các diễn dịch riêng về các giá trị byte trước khi in và sau khi giải mã.

Diễn dịch Kênh Mở rộng (ECI) được phân định bởi số có 6 chữ số được mã hóa trong mã vạch PDF417 bởi một trong ba từ mã cụ thể theo sau bởi một hoặc hai từ mã (xem 5.5.1). ECI có thể bị gọi ra ở bất cứ đâu trong gói tin mã hóa theo các quy tắc của phương thức nén (xem 5.5.3).

Giao thức ECI chỉ có thể được sử dụng với các bộ giải mã cho phép truyền mã nhận dạng mã vạch (xem 5.17.5). Các bộ giải mã không được phép truyền số phân định mã vạch thì không thể chuyển các chuỗi thoát từ mã vạch chứa ECI.

5.5.1. Mã hóa số gán ECI

ECI có thể được gọi ra ở bất kỳ đâu trong hàng dữ liệu, tùy thuộc vào các điều kiện nêu trong điều 5.5.3. Trước đây, khi một ECI được gọi ra, quá trình chuyển có thể diễn ra ở mọi phương thức nén. Phương thức nén đã sử dụng được xác định hoàn toàn bởi các giá trị dữ liệu 8 bit đang được mã hóa và không phụ thuộc vào ECI hiện hành. Ví dụ, chuỗi các giá trị trong khoảng từ 48 đến 57 (thập phân) được mã hóa một cách hiệu quả nhất trong phương thức nén số thậm chí nếu chuỗi không được diễn dịch là các số.

Số gán ECI được mã hóa ở một trong ba chuỗi từ mã ECI, trong đó bắt đầu với các từ mã 927, 926 hoặc 925. Một trong hai từ mã bổ sung không được sử dụng để mã hóa số gán ECI. Các quy tắc mã hóa được quy định trong Bảng 8.

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

Số gán ECI

Chuỗi từ mã

Các từ mã

Các khoảng

000000 đến 000899

C0

927

 

 

C1

ECI_no

C= (0 đến 899)

000900 đến 810899

C0

926

 

 

C1

ECI_no div 900 – 1

C= (0 đến 899)

 

C2

ECI_no mod 900

C2 = (0 đến 899)

810900 đến 811799

C0

925

 

 

C1

ECI_no – 810 900

C= (0 đến 899)

Có 811 800 số gán ECI có sẵn trong mã vạch PDF417

CHÚ THÍCH: Phương pháp mã hóa giống với lược đồ GLI hợp nhất trong các yêu cầu kỹ thuật về PDF417 của AIM Mỹ (1994) và AIM Châu Âu (1994).

Ví dụ sau đây minh họa việc mã hóa:

VÍ DỤECI = 013579

Các từ mã         [926] [13 579 div 900– 1] [13 579 mod 900]

[926] [15-1] [79]

[926] [14] [79]

5.5.2. Diễn dịch Kênh mở rộng mặc định và được gán trước

Các ECI từ ECI 000000 đến ECI 000003 được gán trước phù hợp với các yêu cầu kĩ thuật về mã vạch hiện có, bao gồm PDF417.

– ECI 000000 (ngang bằng với ECI 0 nguyên bản) biểu diễn lược đồ mã hóa mặc định của các bộ mã hóa tuân theo các tiêu chuẩn về PDF nguyên bản

– ECI 000001 (ngang bằng với GLI 1 nguyên bản) biểu diễn lược đồ mã hóa GLI của một số mã vạch với các ký tự từ 0 đến 127 giống với các kĩ tự đó trong ISO/IEC 646:1991, Phiên bản Tham chiếu Quốc tế (tương đương với ANSI X 3.4) và các ký tự từ 128 đến 255 giống với các giá trị đó trong ISO/IEC 8859-1.

CHÚ THÍCH: ECI 000000 (tương đương với GLI 0) và ECI 000001 (tương đương với GLI 1) yêu cầu một số logic 0 dạng return-to-GLI tại phần đầu mỗi mã vạch đã mã hóa của bộ mã vạch Macro PDF417. Giao thức này không chấp nhận các Diễn dịch Kênh Mở rộng khác.

– ECI 000002 có bảng mã tương đương với ECI 000000, mà không có số logic 0 dạng return-to-GLI

– ECI 000003 có bảng mã tương đương với ECI 000001, mà không có số logic 0 dạng return-to- GLI. ECI 000003 là lược đồ mã hóa mặc định về các bộ mã hóa hoàn toàn phù hợp với tiêu chuẩn này

ECI 000000 và ECI 000001 không được mã hóa trong cùng mã vạch PDF417 hoặc bộ mã vạch Macro PDF417 như các ECI khác, ngoại trừ các ECI do người sử dụng xác định. ECI 000002 và ECI cung cấp các lựa chọn thích hợp cho ECI 000000 và ECI 000001 tương ứng. ECI 000000 và ECI 000001 không được sử dụng trong các ứng dụng mới.

5.5.3. Mã hóa chuỗi ECI trong phương thức nén

Nguyên tắc mã hóa chung là: các ECI được áp dụng cho hàng byte dữ liệu nguồn (các diễn dịch báo hiệu khác nhau) tạo ra hàng byte đã sửa đổi được mã hóa thành các mã vạch PDF417 sử dụng các phương thức nén của mã vạch chi tính hiệu quả. Mã hóa ECI và nén mã vạch tạo thành hai lớp quá trình logic độc lập.

Mặc dù các số gán ECI và các phương thức nén có thể được hoà chung với nhau, nhưng một vài kết hợp có thể tạo ra sự tối nghĩa và không logic. Các điều sau đây quy định cách các ECI có thể hợp nhất với nhau một cách rõ ràng bằng cách quy định việc sắp xếp các chuỗi thoát ECI hợp lệ.

5.5.3.1. ECI và phương thức nén văn bản

Một chuỗi thoát ECI có thể được đặt tại bất kỳ đâu trong phương thức nén văn bản. Phương thức con gọi ra ngay trước chuỗi thoát ECI được lưu giữ cho việc mã hóa sau nó. Do đó, các latch và shift của phương thức con được lưu giữ qua chuỗi thoát ECI; và một shift của phương thức con ngay trước chuỗi thoát ECI không bị bỏ qua.

5.5.3.2. ECIs và phương thức nén byte sử dụng mode latch 924 và 901

Nếu mã hóa trong phương thức nén byte sử dụng mode latch 924, thì chuỗi thoát ECI có thể được định vị bởi bộ mã hóa theo ngay sau từ mã 924, hoặc ở ranh giới 5 từ mã sau đó. Cần phải cung cấp một vị trí rõ ràng trong hàng byte đã giải mã để cho bộ giải mã đặt chuỗi thoát.

Nếu bộ giải mã có trong phiên bản 924 của phương thức nén byte và tìm thấy chuỗi thoát ECI theo sau một nhóm 5 từ mã, nó sẽ cung cấp sáu byte dữ liệu liên quan đến các từ mã trước chuỗi thoát, cung cấp chuỗi thoát và sau đó tiếp tục thu thập các từ mã để giải mã trong phương thức nén byte. Nếu bộ giải mã bắt gặp một chuỗi thoát ECI khác với các vị trí quy định này thì mã vạch sẽ được xem là không hợp lệ.

Nếu việc mã hóa trong phương thức nén byte sử dụng mode latch 901, thì chuỗi thoát ECI có thể được định vị:

– theo ngay sau từ mã 901

– sau ngay bất kì bộ năm từ mã mã hóa sáu byte

– sau ngay bất kì các từ mã gồm byte đơn ở phần cuối của chuỗi

CHÚ THÍCH: Bộ giải mã không thể thừa nhận rằng, ch chuỗi thoát ECI theo sau một bộ gồm năm từ mã, năm từ mã mã hóa sáu byte, khi hàng nhập độ dài 6N + 5 (trong đó N là một số nguyên) có bộ năm từ mã cuối cùng ch mã hóa 5 byte, một byte mỗi từ mã. Do đó, bộ giải mã phải quét trước trong mã vạch qua chuỗi thoát ECI để xác định hai phương thức 901 kết thúc, như đã quy định trong điều 5.4.3.4. Dựa vào thông tin này, có thể xác định cách thức nhóm 5 từ mã được mã hóa.

Hình 7 minh họa các vị trí hợp lệ về các chuỗi thoát ECI khi mã hóa trong phương thức nén byte. Nếu bộ giải mã bt gặp một chuỗi thoát ECI trong nhóm 5 từ mã, thì mã vạch được xem là không hợp lệ.

Hình 7 – Vị trí hợp lệ về chuỗi thoát trong phương thức nén byte

5.5.3.3. ECI và phương thức nén byte sử dụng mode shift 913

Nếu mã hóa trong phương thức nén byte sử dụng mode shift 913, thì chuỗi thoát ECI có thể được đặt

– ngay trước từ mã 913

– ngay sau từ mã 913

– ngay sau và cách từ mã 913 một từ mã

Trong hai trường hợp đầu tiên, chuỗi thoát ECI được cung cấp trước byte đã mã hóa, trong khi ở trường hợp cuối chuỗi thoát được cung cấp sau byte đã mã hóa.

5.5.3.1. ECI và phương thức nén số

Một chuỗi thoát ECI không được đặt trong nhóm các từ mã đang được xử lý thông qua bộ chuyển đổi base 10 đến base 900 như đã quy định trong điều 5.4.4.2. Nó ch có thể được đặt trong phương thức nén số tại ranh giới giữa các nhóm 15 từ mã. Điều này là cần thiết để cung cấp một vị trí rõ ràng trong hàng chuỗi số đã được giải mã để bộ giải mã đặt chuỗi thoát.

Do đó, chuỗi thoát ECI chỉ có thể được đặt:

– ngay sau từ mã 902

– sau từ mã thứ 15

– sau từ mã thứ 30

– v.v.

Nếu bộ mã hóa cần đặt chuỗi thoát ECI tại vị trí mà không có kết quả là các từ mã là bội số của 15, thì nó sẽ coi khối số trước ECI là thực thể hoàn thiện, như đã quy định trong 5.4.4.2 bước 2. Bộ mã hóa sẽ gọi lại phương thức nén số bằng cách đặt từ mã 902 khác trong hàng được theo sau bởi chuỗi thoát ECI.

Nếu bộ giải mã tìm thấy chuỗi thoát ECI ở một trong các điểm ranh giới đã xác định ở trên, thì nó phải phát ra các byte dữ liệu liên quan đến từ mã trước chuỗi thoát (nếu có), sau đó phát ra chuỗi thoát và tiếp tục thu thập các từ mã về việc giải mã trong phương thức nén số. Nếu bộ giải mã bắt gặp một chuỗi thoát ECI tại vị trí khác với các vị trí quy định thì mã vạch được xem như không hợp lệ.

5.5.3.5. ECI liên kết

Hai hoặc nhiều chuỗi thoát ECI (ví dụ: các số gán) có thể được đặt ở mọi điểm mà một ECI có thể được định vị một cách có giá trị: với điều kiện không đặt giữa chúng từ mã nào khác với chúng được sử dụng để mã hóa chuỗi thoát ECI.

5.5.4. Giao thức giải mã trước

Giao thức về việc truyền dữ liệu ECI giống như đã quy định trong điều 5.17.2. Khi truyền các ECI, các số phân định (xem 5.17.5) phải được thực hiện đầy đủ và số phân định mã vạch thích hợp sẽ được truyền như một lời mở đầu.

5.6. Xác định chuỗi từ mã

Quá trình mã hóa sinh ra chuỗi các từ mã:

dn-1 … d0

trong đó: d = từ mã dữ liệu bao gồm bộ  tả Độ dài Mã vạch và tất cả các từ mã chức năng

n = tổng số từ mã dữ liệu (và bước đệm) bao gồm bộ Mô tả Độ dài Mã vạch, không tính các từ mã sửa lỗi.

Trong suốt quá trình mã hóa, các chuỗi từ mã sẽ được thiết lập. Giống như dữ liệu gốc, dữ liệu quan trọng nhất sẽ xuất hiện đầu tiên, ví dụ dữ liệu số và nguyên bản viết từ trái qua phải. Chuỗi các từ mã phải là chuỗi mà từ mã dữ liệu quan trọng nhất chứa dữ liệu đã mã hóa là từ mã ký hiệu d 2. Từ mã dữ liệu cuối cùng (bước đệm) là từ mã kí hiệu d0.

Quá trình được sử dụng để xác định ma trận hàng và cột của mã vạch (xem 5.9.2) yêu cầu bổ sung các từ mã đệm ở phần cuối của chuỗi từ mã dữ liệu.

5.7. Phát hiện lỗi và sửa

Mỗi mã vạch PDF417 chứa ít nhất hai từ mã sửa lỗi. Các từ mã sửa lỗi cung cấp khả năng phát hiện và sửa lỗi.

5.7.1. Mức sửa lỗi

Mức sửa lỗi cho mã vạch PDF417 có thể lựa chọn ở thời điểm tạo mã vạch. Bảng 9 biểu diễn số từ mã sửa lỗi cho mỗi mức sửa lỗi.

Bảng 9 – Mức sửa lỗi và từ mã sửa lỗi

Mức sửa lỗi

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

0

2

1

4

2

8

3

16

4

32

5

64

6

128

7

256

8

512

5.7.2. Khả năng sửa lỗi

Sửa lỗi có thể được sử dụng để bù đắp cho các lỗi trong nhãn và các hiểu nhầm trong suốt quy trình giải mã. Đối với bất kì mức sửa lỗi đưa ra, một số từ mã sửa lỗi được hợp nhất thành mã vạch PDF417. Thuật toán về từ mã sửa lỗi cho phép hai kiểu lỗi được khôi phục lại:

– vết xóa, đó là từ mã thiếu hoặc không thể giải mã ở v trí đã biết,

– lỗi thay thế, đó là từ mã được giải mã nhầm ở vị trí không xác định.

Lược đồ sửa lỗi yêu cầu một từ mã sửa lỗi để sửa vết xóa và hai từ mã điều chỉnh lỗi đ khôi phục lỗi thay thế. Do đó, mức điều chỉnh lỗi có thể sửa mọi kết hợp giữa các lỗi thay thế và các vết xóa thoả mãn các phương trình sau đây:

l + 2f ≤ 2s+1 – 2

trong đó: l, f và s được quy định trong 4.1.

Tuy nhiên, Nếu hầu hết khả năng sửa lỗi được sử dụng để điều chỉnh các vết xóa, thì có thể gia tăng các lỗi không phát hiện được. Với lý do này, bất cứ khi nào có ít hơn 4 lỗi được điều chỉnh (trừ khi s 0), thì khả năng điều chỉnh lỗi nên được giảm như sau:

l + 2f ≤ 2s+1 – 3

trong đó: l, f và s được đề cập trong điều 4.1

VÍ DỤ: Mã vạch PDF417 mức sửa lỗi 3 có 16 từ mã điều chỉnh lỗi trong đó trên 14 từ mã có thể được sử dụng để sửa các lỗi và các vết xóa. Chúng có thể sửa trên 13 vết xóa và 7 lỗi thay thế, hoặc mọi kết hợp giữa các vết xóa l và các lỗi thay thế tuân theo các phương trình ở trên. Bảng 10 quy định các kết hợp có thể xảy ra.

Bảng 10 – Các kết hợp sửa lỗi có thể xảy ra đối với mức sửa lỗi 13

Lỗi thay thế đã khôi phục

Vết xóa đã khôi phục

Phương trình xác định

0

13 hoặc ít hơn

l + 2f ≤ 2s+1 – 3

(số lỗi < 4)

1

11 hoặc ít hơn

2

9 hoặc ít hơn

3

7 hoặc ít hơn

4

6 hoặc ít hơn

l + 2f ≤ 2s+1 – 2

(số lỗi ≥ 4)

5

4 hoặc ít hơn

6

2 hoặc ít hơn

7

0

5.7.3. Xác định các từ mã sửa lỗi

Quá trình gồm hai giai đoạn phải được thực hiện để xác định các từ mã sửa lỗi:

1) Lựa chọn mức sửa lỗi. Người sử dụng hoặc ứng dụng xác định lựa chọn, điều này được quy định trong Phụ lục E.

2) Tạo ra các từ mã sửa lỗi. Điều này liên quan đến bộ quy tắc được đề cập trong điều 5.10. Các quy trình không được sử dụng cho đến khi tất cả các từ mã dữ liệu bao gồm các từ mã đệm (xem 5.9.2) được xác định

CHÚ THÍCH: Các quy trình được quy định trong các điều từ 5.3 đến 5.9, 5.13 và 5.14 là mối quan tâm hàng đầu của người sử dụng. Các quy trình nhiều kĩ thuật hơn được đề cập trong các điều 5.10, 5.11 và 5.15 có thể được hoàn tất và không cần các quyết định của người sử dụng.

5.8. Kích thước

Các mã vạch PDF417 tuân theo các kích thước sau đây:

5.8.1. Độ rộng tối thiểu của một môđun (X)

Độ rộng tối thiểu của một môđun được xác định bởi quy định kĩ thuật, có liên quan đến tính sẵn có của thiết bị về việc tạo và đọc mã vạch và phù hợp với các yêu cầu chung của ứng dụng.

Kích thước X phải là một hằng số qua một mã vạch cho trước.

CHÚ THÍCH: Các tiêu chuẩn về phép đo chất lượng mã vạch hiện hành (ví dụ ISO/IEC 15415) không yêu cầu các phép đo kích thước tuyệt đối để đánh giá chất lượng mã vạch. Nếu không tuân theo bất kì kích thước tối thiểu nào thì đó là lý do không chấp thuận mã vạch trong các tiêu chuẩn này.

5.8.2. Độ cao hàng (Y)

Đối với các mã vạch với ít nhất mức sửa lỗi tối thiểu đã khuyến cáo:

 3 X

Đối với các mã vạch với ít hơn mức điều chỉnh lỗi tối thiểu đã khuyến cáo, chiều cao hàng có thể được tăng lên, cụ thể là khi giá trị X nhỏ. (Xem Phụ lục E để biết thêm chi tiết về mức điều chỉnh lỗi đã khuyến cáo).

5.8.3. Vùng trống

– Độ rộng tối thiểu của vùng trống nằm ngang (đến bên trái và phải của mã vạch PDF417): 2X

– Kích cỡ tối thiểu của vùng trống thẳng đứng (bên trên và phía dưới mã vạch PDF417): 2X

5.9. Xác định định dạng mã vạch

Ma trận mã vạch PDF417 và toàn bộ kích cỡ, hình dáng của mã vạch được xác định bởi:

1) độ rộng môđun và tỉ lệ bề mặt và,

2) số hàng và cột trong ma trận mã vạch.

Để tạo nên một mã vạch PDF417, các tham số này được lựa chọn qua sự kết hợp của các thiết bị nhập người sử dụng, quy định ứng dụng và cài đặt mặc định. Quá trình lựa chọn có thể lặp đi lặp lại cho đến khi người sử dụng hài lòng với định dạng kết quả.

5.9.1. Xác định tỉ lệ bề mặt của môđun

Tỉ lệ bề mặt của môđun in ra phải được xác định bởi hai kích thước:

– X kích thước mong muốn của vạch và khoảng trống hẹp nhất

– Y kích thước mong muốn của chiều dài mỗi hàng

Các tham số này được xác định bởi người sử dụng hoặc bởi ứng dụng. Các phần tử quan trọng mà xác định các giá trị của các tham số này là giải pháp của việc in và quét hệ thống được sử dụng trong ứng dụng. Các vấn đề này được nêu trong điều 5.14.

5.9.2. Xác định ma trận hàng và cột của mã vạch

Có một vài phần tử cần được xem xét để xác định ma trận mã vạch, ví dụ: số hàng r và số cột c:

– số lượng và kiểu dữ liệu được mã hóa

– các quy tắc cơ bản của mã vạch, ví dụ: xác định các giới hạn về số hàng và cột (xem 5.2.1 và 5.2.2)

– không gian vật lý sẵn có để in mã vạch

– trên thực tế các hàng dài hơn sẽ sử dụng mã vạch ở trên ít hơn (các ký tự bắt đầu và kết thúc, chỉ báo hàng và không gian về vùng trống)

– trên thực tế độ dài của hàng (bao gồm các vùng trống) phải ít hơn độ dài của dòng quét được quy định hoặc bao hàm bởi ứng dụng

– kiểu máy quét, trong đó xác định toàn bộ tỉ lệ bề mặt của mã vạch

– mức điều chỉnh lỗi đã chọn.

Đối với nhiều ứng dụng, độ rộng cho phép của mã vạch là một phần tử bắt buộc đầu tiên, và ma trận mã vạch có thể được xác định trực tiếp bằng cách ấn định lại số cột. Phụ lục O cung cấp các hướng dẫn chính xác hơn được sử dụng để xác định ma trận mã vạch.

Sau khi dữ liệu nguồn được mã hóa sử dụng các phương thức nén đã lựa chọn, số từ mã dữ liệu nguồn m (trước khi bổ sung bộ Mô tả độ dài mã vạch và các từ mã đệm) được biết. Khi số hàng, cột và mức sửa lỗi được lựa chọn thì tổng số từ mã dữ liệu n được tính như sau:

= c x r  k

trong đó: c, k, n và r được quy định trong điều 4.1

Ma trận có thể đưa đến một tình huống mà số hàng và cột yêu cầu sử dụng các từ mã đệm (bằng cách chuyển đổi sử dụng giá trị 900). Điều này xảy ra khi:

n > m + 1

trong đó: m  n được quy định trong điều 4.1

Bộ Mô tả độ dài mã vạch phải được đặt là giá trị n đã xác định ở trên:

dn-1 = n = c x r – k

Số các từ mã đệm yêu cầu là (n – m) – 1.

Các từ mã đệm phải có giá trị 900 và phải được đặt trong các vị trí ít quan trọng nhất của chuỗi từ mã dữ liệu, ví dụ: bên phải từ mã dữ liệu nguồn ít quan trọng nhưng trước Khối kiểm soát Macro PDF417, nếu có. Ví dụ về quá trình này được nêu dưới đây. Ngoại trừ việc chèn bộ Mô tả độ dài mã vạch và các từ mã đệm, chuỗi từ mã phải giống y hệt như cái được tạo lúc ban đầu khi mã hóa dữ liệu nguồn.

VÍ DỤ

để m = 246, c = 12, r = 24, và k = 32, thì n = (c x r) – k = (12 x 24) – 32 = 256.

CHÚ THÍCH: Kí hiệu như đã được nêu ở trên

Giá trị của bộ Mô tả độ dài mã vạch là n = 256.

Số từ mã đệm = (n  m)  1 = 256 – 246 – 1 = 9. Trong ví dụ này, các từ mã dữ liệu (trước khi đệm) bắt đầu với một latch đến phương thức nén số (từ mã 902), và kết thúc với từ mã 423, và tất cả các bước đệm đều sử dụng từ mã 900. Việc bổ sung bộ Mô tả độ dài mã vạch và các bước đệm được biểu diễn dưới đây:

Chuỗi từ mã dữ liệu gốc            dm-1… d0

Các từ mã                                 902… 423

Chuỗi từ mã dữ liệu đã đệm      dn-1 dn… d9 d8 … d0

Các từ mã                                 256    902… 423    900 … 900

5.10. Tạo các từ mã sửa lỗi

Các từ mã sửa lỗi được tạo bằng cách sử dụng quy trình xác định dưới đây. Chúng được tính trên cơ sở các giá trị của tất cả từ mã dữ liệu bao gồm bộ Mô tả độ dài mã vạch và các từ mã đệm. Chuỗi từ mã được xác định như sau:

dn-1, dn2, … d0

trong đó: dn-1 là bộ Mô tả độ dài mã vạch

Đa thức về dữ liệu mã vạch là:

d(x) = dn-1xn-1 + dn2xn-2 + … + d1x + d0

Đa thức sau đây mô tả cách các từ mã sửa lỗi được tính cho dòng dữ liệu và mức sửa lỗi đã chọn. Tất cả số học được thực hiện theo modulo 929.

Các từ mã sửa lỗi là phần bổ sung các hệ số của số dư từ việc chia đa thức dữ liệu mã vạch d(x) nhân với xk bởi đa thức tạo g(x). Các giá trị âm được ánh xạ thành trường Galois GF (929) bằng cách thêm 929 cho đến khi giá trị ≥ 0.

Đa thức tạo sau đây được sử dụng để tính các hệ số về các từ mã sửa lỗi k yêu cầu cho mức sửa lỗi:

gk(x) (x – 3)(x – 32)(x – 33)…(x – 3k)

a0 + a1x + a2x2 +…+ ak-1xk-1 + xk

trong đó

gk(x) = đa số tạo và x là biến số

k = tổng số từ mã điều chỉnh lỗi

a= hệ số các lũy thừa được đưa ra bởi đa thức tạo gk(x)

Ví dụ về việc tính các hệ số được có trong Phụ lục Q.

Phụ lục F chứa tất cả các giá trị hệ số cần thiết để mã hóa mã vạch PDF417 của mức điều chỉnh lỗi. Các từ mã sửa lỗi phải được tính theo thuật toán xác định dưới đây sử dụng kí hiệu sau:

di = từ mã dữ liệu dn-1 … d0

Ej = từ mã điều chỉnh lỗi Ek-1 … E0

aj = hệ số lũy thừa của x lấy từ đa thức tạo (xem giải thích ở trên và Phụ lục F)

t1, t2, t3 = các biến tạm thời

Thuật toán:

1. Nhận dạng chuỗi từ mã dữ liệu dn-1, dn-2, d0

2. Khởi tạo các từ mã sửa lỗi E0, …, Ek1 đến giá trị 0

3. Với mỗi từ mã dữ liệu d= dn-1 … d0

BEGIN

t1 = (di + Ek-1) mod 929

Với mỗi từ mã sửa lỗi Ej = Ek-1 … E1:

BEGIN

t2 = (t1 x aj) mod 929

t3 = 929 – t2

Ej = (Ej-1 + t3) mod 929

END

t2 = (t1 x a0) mod 929

t3 = 929 – t2

E= t3 mod 929

END

4. Đối với mỗi từ mã sửa lỗi, Ej = E0…Ek1, tính phần bù:

BEGIN

if Ej không bằng 0

Ej = 929 – Ej

END

Một ví dụ về việc tính các từ mã sửa lỗi được quy định trong Phụ lục Q.

Một quy trình khác về việc tạo các t mã sửa lỗi, sử dụng mạch phân chia được quy định trong Phụ lục R.

5.11. Mã hóa mức thấp

Mã hóa mức thấp chuyển đổi các từ mã thành các kí tự mã vạch tương ứng của chúng (chuỗi vạch-khong trống) chỉ ra rằng ma trận mã vạch đã được ấn định.

Hình 8 minh họa dưới dạng lược đồ về mã vạch PDF417, vị trí tương ứng của mỗi từ mã dữ liệu, từ mã sửa lỗi và các chỉ báo hàng.

Hình 8 – Mã vạch PDF417 điển hình biểu diễn dưới dạng lược đồ vị trí các từ mã

trong đó:

Lr = chỉ báo hàng trái

R= ch báo hàng phải

Vùng tô bóng = vùng từ mã dữ liệu

Vùng không tô bóng phía dưới vùng t mã là các từ mã sửa lỗi

5.11.1. Các cụm

PDF417 sử dụng hệ thống hàng cục bộ để tìm ra các chuyển đổi hàng-hàng.

Bộ các từ mã được biểu diễn trong mỗi ba cụm. Các số cụm 0, 3 và 6 được sử dụng. Các chuỗi vạch-khoảng trống liên kết của mỗi ký tự mã vạch biểu diễn mỗi từ mã và cụm được quy định trong Phụ lục A.

Để mã hóa các chỉ báo hàng và từ mã, mỗi hàng phải chứa các ký tự mã vạch (dấu hiệu vạch- khoảng trống) chỉ của một cụm. Hàng 1 sử dụng các ký tự mã vạch từ cụm 0, hàng 2 sử dụng các ký tự mã vạch từ cụm 3, hàng 3 sử dụng các ký tự mã vạch từ cụm 6, hàng 4 sử dụng các ký tự mã vạch từ cụm 0 và v.v. Chuỗi cụm 0, 3, 6 lặp lại liên tục. Số cụm K cho mọi hàng có thể được tính:

K [(số hàng – 1) mod 3] x 3

trong đó: các hàng được đánh số từ 1 đến r (như trong điều 4.1).

Do hai hàng liền nhau có các cụm khác nhau nên máy giải mã có thể sử dụng các tia quét đi qua các hàng trong khi gii mã mã vạch PDF417.

5.11.2. Xác định ma trận mã vạch

Ma trận các hàng và cột của mã vạch cuối cùng phải được xác định bởi các quy trình đã quy định trong điều 5.9.2. Điều này cung cấp các giá trị của r và c.

5.11.3. Xác định giá trị của các chỉ báo hàng trái và phải

Các chỉ báo hàng trong mã vạch PDF417 là các từ mã mã hoà một vài tham số chính: số hàng (F), số các hàng (r), số cột (c) và mức sửa lỗi (s). Thông tin được truyền qua ba hàng và vòng lặp phải nhắc lại liên tục. Số hàng (F) phải được mã hóa trong mỗi hàng.

5.11.3.1. Chỉ báo dòng trái

Các chỉ báo hàng bên được tính như sau:

Nếu K= 0; L= 30 x ((F – 1) div 3) + (r – 1) div 3

Nếu KF = 3; LF = 30 x ((F – 1) div 3) + (s x 3) + (r – 1) mod 3

Nếu KF = 6; LF = 30 x ((F – 1) div 3) + (c – 1)

trong đó: c, F, r, s và K được quy định trong điều 4.1

5.11.3.2. Ch báo hàng bên phải

Các chỉ báo hàng bên phải được tính như sau:

Nếu KF = 0R= 30 x ((F – 1) div 3) + (c – 1)

Nếu KF = 3; R= 30 x ((F – 1) div 3) + (r – 1) div 3

Nếu KF = 6; R= 30 x ((F – 1) div 3) + (s x 3) + (r – 1) mod 3

trong đó: c, F, r, s và K được quy định trong điều 4.1.

5.11.4. Mã hóa hàng

Trong mỗi hàng, các kí tự mã vạch sau đây tuân theo số cụm:

– chỉ báo hàng bên trái

– các kí tự mã vạch biểu diễn dữ liệu và/hoặc các từ mã sửa lỗi đến một số bng với số cột.

– chỉ báo dòng bên phải

Các kí tự bắt đầu và kết thúc là không thay đổi đối với tất cả các hàng.

Mã vạch được mã hóa theo từng hàng, lấy các từ mã c (số các cột) vào mỗi hàng. Hàng đầu tiên bao gồm bộ Mô tả độ dài mã vạch trong cột đầu tiên. Dòng cuối cùng bao gồm một số hoặc tất cả từ mã sửa lỗi.

5.12. PDF417 nén

Các mã vạch PDF417 nén là một lựa chọn có sẵn. Nếu được sử dụng, PDP417 nén phải phù hợp với Phụ lục G.

5.13. Macro PDF417

Macro PDF417 cung cấp một cơ chế về dữ liệu trong tệp được chia thành các khối và được biểu diễn ở nơi có từ hai mã vạch PDF417 trở lên. Cơ chế này tương tự với đặc tính gn kết cấu trúc trong các mã vạch khác.

Mỗi mã vạch Macro PDF417 chứa thông tin kiểm soát bổ sung để giúp cho tệp dữ liệu gốc được thiết kế lại một cách thích đáng, không kể đến chuỗi mà các mã vạch PDF417 riêng lẻ được quét và giải mã.

Trên 99 999 mã vạch PDF417 riêng lẻ có thể được sử dụng để mã hóa dữ liệu trong Macro PDF417.

Các chi tiết đầy đủ về quy trình của Macro PDF417 được quy định trong Phụ lục H.

5.13.1. Các phương thức nén và Macro PDF417

Khối Kiểm soát Macro PDF417 có phương thức mã hóa định trước, vì vậy từ mã 928 là nguyên nhân của sự kết thúc chuỗi phương thức nén trong thân mã vạch. Trường chỉ số từng phần (Segment Index) được mã hóa trong phương thức nén số. Mỗi trường tùy chọn của Macro PDF417 xác định có một phương thức nén lúc đầu và một phương thức con cụ thể, phần đầu của trường tùy chọn mới kết thúc phương thức nén từ trường trước đó (xem Phụ lục H.2.3) và khởi đầu phương thức mặc định của nó. Cụ thể là, nếu hai trường tùy chọn liên tiếp cùng sử dụng phương thức nén văn bản thì phương thức con Alpha được sắp xếp lại khi gặp từ mã 923.

5.13.2. ECI và Macro PDF417

Tùy thuộc vào các quy định trong điều 5.5.2, các ECI có thể xuất hiện ở gói tin đã mã hóa trong bộ mã vạch PDF417 đơn hoặc bộ các mã vạch Macro PDF417. Mọi ECI được gọi ra phải áp dụng cho đến khi kết thúc dữ liệu đã được mã hóa hoặc cho đến khi gặp ECI khác. Do đó, diễn dịch ECI có thể đứng giữa hai hay nhiều mã vạch.

(Các) diễn dịch ECI trong thân của dòng từ mã dữ liệu không mở rộng thành khối kiểm soát Macro PDF417 nhưng tự động lấy lại ở phần đầu của mã vạch tiếp theo. Dữ liệu của khối kiểm soát được diễn dịch bằng cách sử dụng ECI (000003) mặc định, trừ khi chuỗi thoát ECI được mã hóa trong trường tùy chọn ở khối kiểm soát; hiệu quả của ECI này được tự kết thúc ở phần cuối của trường nơi nó xuất hiện.

CHÚ THÍCH: Khi thực hiện các GLI theo yêu cầu kỹ thuật trước đó (ví dụ: các yêu cầu kỹ thuật về PDF417 của AIM Mỹ (1994) và của AIM Châu Âu (1994)), việc mã hóa bao gồm một phản hồi đến GLI 0 (tương đương với ECI 000000) ở lúc bắt đầu mỗi mã vạch. Nếu GLI 1 có trong mã vạch tiếp theo thì GLI 1 phải được mã hóa tại lúc bắt đầu của mã vạch tiếp theo này. Khi các máy mã hóa phù hợp với các tiêu chuẩn có trước này được sử dụng thì sẽ có li khuyên về cách thức phù hợp với yêu cầu kĩ thuật này trong điều 5.17.6.

5.14. Hướng dẫn cho người sử dụng

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

Các mã vạch PDF417 có khả năng mã hóa số lượng lớn dữ liệu, có nghĩa là diễn dịch người đọc của các kí tự dữ liệu có thể không thực tế. Nói cách khác, văn bản mô tả có thể liên kết mã vạch hơn là văn bản thuần túy. Gói tin có thể được in ở bất kì đâu xung quanh mã vạch, nhưng không được gây trở ngại cho mã vạch hoặc các vùng trống. Phông chữ hoặc kích cỡ kí tự không được quy định trong tiêu chuẩn này, nhưng có thể được quy định trong các tiêu chuẩn ứng dụng.

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

PDF417 có thể được sử dụng trong môi trường tự động phân biệt với một số mã vạch khác (xem Phụ lục S.1).

5.14.3. Các tham số ứng dụng do người sử dụng quy định

Các tiêu chuẩn ứng dụng xác định các tham số của mã vạch PDF417 đã quy định trong tiêu chuẩn này như sau:

5.14.3.1. Mã vạch và các đặc tính về kích thước

Các tiêu chuẩn ứng dụng quy định dữ liệu, mã vạch và các tham số về kích thước sau đây:

a) Lựa chọn và sử dụng các diễn dịch kênh mở rộng, nếu được yêu cầu, để mở rộng mã hóa dữ liệu ngoài diễn dịch mặc định của phương thức cơ bản.

b) Khối lượng dữ liệu trong mã vạch, có thể là cố định, biến đổi hoặc biến đổi tới một lượng tối đa xác định.

c) Lựa chọn mức sửa lỗi

d) Khoảng kích thước X

e) Khoảng kích thước Y

f) Các tham số mã vạch: Khoảng tỷ lệ bề mặt cho phép và/hoặc độ dài và rộng mã vạch có kích cỡ tối đa

CHÚ THÍCH: Các phần tử bổ sung có thể được tính đến khi quy định về các ứng dụng PDF417 được quy định trong Phụ lục O và S.

5.14.3.2. Kiểm tra yêu cầu kĩ thuật

Các tham số để đánh giá mã vạch được xác định bằng cách quy định cấp chất lượng theo ISO/IEC 15415 trong tiêu chuẩn ứng dụng.

Cấp này được trình bày theo dạng:

Cấp kí hiệu tổng thể / số tham chiếu của lỗ đo /bước sóng hưởng ứng đỉnh

Ví dụ sau đây minh họa các kiểu giá trị cần được trình bày:

1,5/10/660

trong đó:

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

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

660 là bước sóng hưởng ứng đỉnh theo nanomet

CHÚ THÍCH: ISO/IEC 15415 đưa ra hướng dẫn về việc lựa chọn các thông số phân cp trong các yêu cầu kĩ thuật về ứng dụng. Các giá trị dành riêng cho ứng dụng sẽ được đề cập đến trong tiêu chuẩn về ứng dụng.

5.14.4. Cht lượng mã vạch PDF417

Các mã vạch PDF417 phải được đánh giá chất lượng bằng việc sử dụng các hướng dẫn về chất lượng in mã vạch 2D quy định trong ISO/IEC 15415 về các mã vạch nhiều hàng với khả năng quét hàng chéo.

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

Thuật toán mã hóa tham chiếu về PDF417 được quy định trong Phụ lục J. Thuật toán giải mã tham chiếu này là cơ sở để đánh giá chất lượng in theo ISO/IEC 15415.

5.16. Phát hiện lỗi và quy trình sửa lỗi

Như một phần của quy trình giải mã, có thể thiết kế lại mã vạch cho các vết xóa và lỗi thay thế trong khả năng sửa lỗi của mã vạch. Điều này có thể được thực hiện bằng cách sử dụng quy trình nêu trong Phụ lục K.

5.17. Dữ liệu truyền đi

5.17.1. Dữ liệu truyền đi trong diễn dịch (mặc định) cơ bản

Tất cả các từ mã dữ liệu được thông dịch thành dữ liệu người sử dụng và được truyền như các byte 8 bit, liệu dữ liệu này có được mã hóa trong phương thức nén văn bản, nén byte hay nén số hay không. Các ký tự bắt đầu và kết thúc, các chỉ báo hàng, bộ Mô tả độ dài mã vạch, các từ mã chuyển phương thức, các từ mã đệm và các từ mã sửa lỗi không được truyền đi.

5.17.2. Giao thức truyền đối với diễn dịch kênh mở rộng (ECI)

Trong các hệ thống mà ECI được hỗ trợ, một tiền tố về số phân định mã vạch được sử dụng với mỗi bộ truyền (xem 4.17.5 và Phụ lục L). Các khối kiểm soát Macro PDF417 (nếu được truyền) được xem như một phần của bộ kiểm soát các chuỗi thoát trong đó hoạt động cùng với giao thức truyền ECI (xem 5.17.3 và Phụ lục H).

Ba từ mã (925, 926 và 927) báo hiệu việc mã hóa của giá trị ECI và được giải mã là các giá trị byte như sau:

1) Nếu chuỗi ECI bắt đầu với từ mã 927:

i. Từ mã 927 được truyền như ký tự thoát 92, biểu diễn dấu nghịch (\), hoặc gạch chéo ngược trong mã hóa mặc định

ii. Từ mã tiếp theo được chuyển thành giá trị 6 số, bằng cách đặt các số 0 trước từ mã. Giá trị 6 số được truyền như 6 giá trị byte tương ứng trong khoảng từ 48 đến 57.

VÍ DỤ:

Mã vạch mã hóa: [927] [123]

Truyền dữ liệu (byte): 92, 48, 48, 48, 49, 50, 51

Diễn dịch ASCII: \000123

2) Nếu chuỗi ECI bắt đầu với từ mã 926:

i. Từ mã 926 được truyền như ký tự thoát 92.

ii. Hai từ mã tiếp theo được chuyển thành giá trị 6 số với các số 0 ở đầu nếu được yêu cầu, sử dụng công thức sau đây:

([từ mã đầu tiên+ 1) x 900 + [từ mã thứ hai]

Giá trị 6 số được truyền như sáu giá trị byte tương ứng trong khoảng từ 48 đến 57.

VÍ DỤ

Mã vạch mã hoá: [926] [136] [156]

Truyền dữ liệu (các byte): 92, 49, 50, 51, 52, 53, 54

Diễn dịch ASCIl:\123456

3) Nếu chuỗi ECI bắt đầu với từ mã 925:

i. Từ mã 925 được truyền như ký tự thoát 92.

ii. Từ mã tiếp theo được chuyển thành giá trị 6 số bằng cách bổ sung giá trị 810 900 cho nó. Giá trị 6 số được truyền như sáu giá trị byte tương ứng trong khoảng từ 48 đến 57.

VÍ DỤ

Mã vạch mã hóa [925] [456]

Truyền dữ liệu (byte): 92, 56,49, 49, 52, 53, 54

Diễn dịch ASCII:\811356

Quy trình được lặp lại với mỗi lần xuất hiện của ECI.

Phần mềm ứng dụng thừa nhận chuỗi thoát 7 byte của kí tự thoát 92 theo sau bởi sáu byte (mỗi byte trong khoảng 48 đến 57) diễn dịch tất cả các kí tự theo sau đến cuối dữ liệu mã hóa hoặc đến khi byte đơn 92 khác bị bắt gặp, đến từ ECI được xác định bởi chuỗi sáu số.

Nếu dấu ngược, hoặc kí tự khác được biểu diễn bởi byte 92 cần được sử dụng như dữ liệu mã hóa, thì việc truyền như sau. Bất cứ khi nào byte 92 xuất hiện như dữ liệu, thì hai byte của giá trị đó phải được truyền; do đó một lần xuất hiện đơn luôn luôn là ký tự thoát và lần xuất hiện kép cho biết dữ liệu thực.

Ví DỤ:

Dữ liệu mã hóa: A\\B\C

Sự truyền:         A\\\\B\\C

5.17.3. Dữ liệu truyền đối với Macro PDF417

Giao thức cho dữ liệu truyền đối với Macro PDF417 có trong H.6.

5.17.4. Truyền từ mã dự trữ sử dụng giao thức ECI

Khi hoạt động theo giao thức truyền ECI, các bộ giải mã PDF417 phải truyền chuỗi thoát sáu byte của từ mã dự trữ (diễn dịch là ‘\CnnnC’), biểu diễn ký tự thoát (92) theo sau bởi ’C’(67), ba số biểu diễn giá trị thập phân của từ mã dự trữ, theo sau bởi C’ khác, kết thúc chuỗi thoát theo cách độc lập. Các từ mã dữ liệu theo sau từ mã dự trữ không được diễn dịch bởi bộ giải mã theo bất kỳ phương thức nén nào, nhưng thay vào đó được truyền như một loạt chuỗi thoát biểu diễn các từ mã sử dụng cùng chuỗi thoát sáu byte đã nêu ở phần đầu đoạn văn bản này. Tất cả các từ mã dữ liệu còn lại được truyền theo cách này cho đến khi đạt được một trong các điều sau đây:

– phần cuối của dữ liệu mã hóa trong mã vạch

– một latch của phương thức nén được thừa nhận

– từ mã chức năng của Khối Kiểm soát Macro PDF417 (928, 923, hoặc 922)

Từ mã 913 (Byte shift) chỉ được thừa nhận từ phương thức nén văn bản, do đó không phải là một phần của dòng từ mã trong quá trình gửi các từ mã không được diễn dịch và thoát này.

CHÚ THÍCH: Giao thức này có thể truyền một cách thích đáng cú pháp gói tin của mọi từ mã dự trữ mà định nghĩa của nó nhằm mục đích cung cấp chức năng báo hiệu hoặc để biểu diễn một phương thức nén mới.

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

Khi cấu trúc của dữ liệu (dưới dạng Macro PDF417, ECI, v.v) được phân định, số phân định mã vạch phù hợp được bổ sung như một lời mở đầu cho dữ liệu được truyền bởi bộ giải mã. Xem Phụ lục L về các số phân định mã vạch áp dụng PDF417.

5.17.6. Quá trình truyền sử dụng các giao thức cũ

Giới thiệu về hệ thống Diễn dịch Kênh Mở rộng, chung cho một số mã vạch có tác động đến các mã vạch hiện có bao gồm PDF417. Các quy tắc giải mã và mã hóa cơ bn còn lại trong tiêu chuẩn này giống với các quy tắc trong các yêu cầu kỹ thuật về PDF417 của AIM Mỹ (1994) và AIM Châu Âu (1994). Trong định dạng quá trình truyền các ECI và Macro PDF417 là khác nhau, nhưng truyền tải cùng thông tin.

Tất cả phần mềm và thiết bị giải mã PDF417 mới phải tuân theo tiêu chuẩn này. Tuy nhiên, thiết bị phù hợp với tiêu chuẩn trước đây sẽ vẫn tồn tại trong một vài năm nữa. Phụ lục M xác định các quy tắc phải làm theo khi sử dụng phần mềm và thiết bị giải mã không có khả năng tuân theo các mã vạch Macro PDF417 và ECI hiện hành. Theo cách này, thiết bị giải mã cũ và mới có thể tiếp tục cùng tồn tại.

 

Phụ lục A

(quy định)

Bảng mã hóa/ giải mã chuỗi vạch-khoảng trống của mã vạch PDF417

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

0

31111136

51111125

21111155

 

26

31113251

31112612

61113221

1

41111144

61111133

31111163

 

27

11113334

31113125

11113262

2

51111152

41111216

11111246

 

28

21113342

41113133

51113312

3

31111235

51111224

21111254

 

29

11114144

51113141

11113361

4

41111243

61111232

31111262

 

30

21114152

21113216

51113411

5

51111251

41111315

11111345

 

31

11114243

31113224

41114114

6

21111326

51111323

21111353

 

32

21114251

41113232

51114122

7

31111334

61111331

31111361

 

33

11115152

21113315

41114213

8

21111425

41111414

11111444

 

34

51116111

31113323

51114221

9

11111516

51111422

21111452

 

35

31121135

41113331

41114312

10

21111524

41111513

11111543

 

36

41121143

21113414

41114411

11

11111615

51111521

61112114

 

37

51121151

31113422

31115114

12

21112136

41111612

11112155

 

38

21121226

21113513

41115122

13

31112144

41112125

21112163

 

39

31121234

31113521

31115213

14

41112152

51112133

61112213

 

40

41121242

21113612

41115221

15

21112235

61112141

11112254

 

41

21121325

21114125

31115312

16

31112243

31112216

21112262

 

42

31121333

31114133

31115411

17

41112251

41112224

61112312

 

43

11121416

41114141

21116114

18

11112326

51112232

11112353

 

44

21121424

11114216

31116122

19

21112334

31112315

21112361

 

45

31121432

21114224

21116213

20

11112425

41112323

61112411

 

46

11121515

31114232

31116221

21

11113136

51112331

11112452

 

47

21121523

11114315

21116312

22

21113144

31112414

51113114

 

48

11121614

21114323

11121146

23

31113152

41112422

61113122

 

49

21122135

31114331

21121154

24

11113235

31112513

11113163

 

50

31122143

11114414

31121162

25

21113243

41112521

51113213

 

51

41122151

21114422

11121245

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

52

11122226

11114513

21121253

 

83

11131613

51122231

31126121

53

21122234

21114521

31121261

 

84

11132126

31122314

21126212

54

31122242

11115125

11121344

 

85

21132134

41122322

21126311

55

11122325

21115133

21121352

 

86

31132142

31122413

11131145

56

21122333

31115141

11121443

 

87

11132225

41122421

21131153

57

31122341

11115224

21121451

 

88

21132233

31122512

31131161

58

11122424

21115232

11121542

 

89

31132241

31122611

11131244

59

21122432

11115323

61122113

 

90

11132324

21123116

21131252

60

11123135

21115331

11122154

 

91

21132332

31123124

11131343

61

21123143

11115422

21122162

 

92

11132423

41123132

21131351

62

31123151

11116133

61122212

 

93

11132522

21123215

11131442

63

11123234

21116141

11122253

 

94

11133134

31123223

11131541

64

21123242

11116232

21122261

 

95

21133142

41123231

61132112

65

11123333

11116331

61122311

 

96

11133233

21123314

11132153

66

21123341

41121116

11122352

 

97

21133241

31123322

21132161

67

11124143

51121124

11122451

 

98

11133332

21123413

61132211

68

21124151

61121132

51123113

 

99

11134142

31123421

11132252

69

11124242

41121215

61123121

 

100

21141125

21123512

11132351

70

11124341

51121223

11123162

 

101

31141133

21123611

51133112

71

21131126

61121231

51123212

 

102

41141141

11124116

11133161

72

31131134

41121314

11123261

 

103

11141216

21124124

51133211

73

41131142

51121322

51123311

 

104

21141224

31124132

41134112

74

21131225

41121413

41124113

 

105

31141232

11124215

41134211

75

31131233

51121421

51124121

 

106

11141315

21124223

31135112

76

41131241

41121512

41124212

 

107

21141323

31124231

31135211

77

11131316

41121611

41124311

 

108

31141331

11124314

21136112

78

21131324

31122116

31125113

 

109

11141414

21124322

21136211

79

31131332

41122124

41125121

 

110

21141422

11124413

11141144

80

11131415

51122132

31125212

 

111

11141513

21124421

21141152

81

21131423

31122215

31125311

 

112

21141521

11124512

11141243

82

11131514

41122223

21126113

 

113

11142125

11125124

21141251

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

114

21142133

21125132

11141342

 

145

52111151

31133321

22112261

115

31142141

11125223

11141441

 

146

22111226

21133412

62112311

116

11142224

21125231

61142111

 

147

32111234

21133511

12112352

117

21142232

11125322

11142152

 

148

42111242

11134115

12112451

118

11142323

11125421

11142251

 

149

22111325

21134123

52113113

119

21142331

11126132

51143111

 

150

32111333

31134131

62113121

120

11142422

11126231

41144111

 

151

42111341

11134214

12113162

121

11142521

41131115

31145111

 

152

12111416

21134222

52113212

122

21143141

51131123

11151143

 

153

22111424

11134313

12113261

123

11143331

61131131

21151151

 

154

12111515

21134321

52113311

124

11151116

41131214

11151242

 

155

22112135

11134412

42114113

125

21151124

51131222

11151341

 

156

32112143

11134511

52114121

126

31151132

41131313

11152151

 

157

42112151

11135123

42114212

127

11151215

51131321

11161142

 

158

12112226

21135131

42114311

128

21151223

41131412

11161241

 

159

22112234

11135222

32115113

129

31151231

41131511

12111146

 

160

32112242

11135321

42115121

130

11151314

31132115

22111154

 

161

12112325

11136131

32115212

131

21151322

41132123

32111162

 

162

22112333

41141114

32115311

132

11151413

51132131

12111245

 

163

12112424

51141122

22116113

133

21151421

31132214

22111253

 

164

12112523

41141213

32116121

134

11151512

41132222

32111261

 

165

12113135

51141221

22116212

135

11152124

31132313

12111344

 

166

22113143

41141312

22116311

136

11152223

41132321

22111352

 

167

32113151

41141411

21211145

137

11152322

31132412

12111443

 

168

12113234

31142114

31211153

138

11161115

31132511

22111451

 

169

22113242

41142122

41211161

139

31161131

21133115

12111542

 

170

12113333

31142213

11211236

140

21161222

31133123

62112113

 

171

12113432

41142221

21211244

141

21161321

41133131

12112154

 

172

12114143

31142312

31211252

142

11161511

21133214

22112162

 

173

22114151

31142411

11211335

143

32111135

31133222

62112212

 

174

12114242

21143114

21211343

144

42111143

21133313

12112253

 

175

12115151

31143122

31211351

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

176

31211126

21143213

11211434

 

207

12122126

31162211

12123161

177

41211134

31143221

21211442

 

208

22122134

21163112

51214112

178

51211142

21143312

11211533

 

209

32122142

21163211

52123211

179

31211225

21143411

21211541

 

210

11213126

42111116

11214161

180

41211233

11144114

11211632

 

211

12122225

52111124

51214211

181

51211241

21144122

12121145

 

212

22122233

62111132

42124112

182

21211316

11144213

22121153

 

213

32122241

42111215

41215112

183

31211324

21144221

32121161

 

214

11213225

52111223

42124211

184

41211332

11144312

11212145

 

215

21213233

62111231

41215211

185

21211415

11144411

12121244

 

216

31213241

42111314

32125112

186

31211423

11145122

22121252

 

217

11213324

52111322

31216112

187

41211431

11145221

11212244

 

218

12122423

42111413

32125211

188

21211514

41151113

21212252

 

219

11213423

52111421

31216211

189

31211522

51151121

22121351

 

220

12123134

42111512

22126112

190

22121126

41151212

11212343

 

221

22123142

42111611

22126211

191

32121134

41151311

12121442

 

222

11214134

32112116

11221136

192

42121142

31152113

11212442

 

223

12123233

42112124

21221144

193

21212126

41152121

12121541

 

224

22123241

52112132

31221152

194

22121225

31152212

11212541

 

225

11214233

32112215

11221235

195

32121233

31152311

62122112

 

226

21214241

42112223

21221243

196

42121241

21153113

12122153

 

227

11214332

52112231

31221251

197

21212225

31153121

22122161

 

228

12124142

32112314

11221334

198

31212233

21153212

61213112

 

229

11215142

42112322

21221342

199

41212241

21153311

62122211

 

230

12124241

32112413

11221433

200

11212316

11154113

11213153

 

231

11215241

42112421

21221441

201

12121415

21154121

12122252

 

232

31221125

32112512

11221532

202

22121423

11154212

61213211

 

233

41221133

32112611

11221631

203

32121431

11154311

11213252

 

234

51221141

22113116

12131144

204

11212415

41161112

12122351

 

235

21221216

32113124

22131152

205

21212423

41161211

11213351

 

236

31221224

42113132

11222144

206

11212514

31162112

52123112

 

237

41221232

22113215

12131243

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

238

21221315

32113223

22131251

 

269

21223232

61211222

12141242

239

31221323

42113231

11222243

 

270

22132331

11211263

11232242

240

41221331

22113314

21222251

 

271

11223323

51211313

12141341

241

21221414

32113322

11222342

 

272

12132422

61211321

11232341

242

31221422

22113413

12131441

 

273

12132521

11211362

12142151

243

21221513

32113421

11222441

 

274

12133133

51211412

11233151

244

21221612

22113512

62132111

 

275

22133141

51211511

11241134

245

22131125

22113611

12132152

 

276

11224133

42121115

21241142

246

32131133

12114116

61223111

 

277

12133232

52121123

11241233

247

42131141

22114124

11223152

 

278

11224232

62121131

21241241

248

21222125

32114132

12132251

 

279

12133331

41212115

11241332

249

22131224

12114215

11223251

 

280

11224331

42121214

11241431

250

32131232

22114223

52133111

 

281

11225141

61212131

12151142

251

11222216

32114231

51224111

 

282

21231116

41212214

11242142

252

12131315

12114314

42134111

 

283

31231124

51212222

12151241

253

31222232

22114322

41225111

 

284

41231132

52121321

11242241

254

32131331

12114413

32135111

 

285

21231215

41212313

11251133

255

11222315

22114421

31226111

 

286

31231223

42121412

21251141

256

12131414

12114512

22136111

 

287

41231231

41212412

11251232

257

22131422

12115124

11231135

 

288

21231314

42121511

11251331

258

11222414

22115132

21231143

 

289

31231322

41212511

12161141

259

21222422

12115223

31231151

 

290

21231413

32122115

11252141

260

22131521

22115231

11231234

 

291

31231421

42122123

11261132

261

12131612

12115322

21231242

 

292

21231512

52122131

11261231

262

12132125

12115421

11231333

 

293

21231611

31213115

13111145

263

22132133

12116132

21231341

 

294

12141116

32122214

23111153

264

32132141

12116231

11231432

 

295

22141124

42122222

33111161

265

11223125

51211115

11231531

 

296

32141132

31213214

13111244

266

12132224

61211123

12141143

 

297

11232116

41213222

23111252

267

22132232

11211164

22141151

 

298

12141215

42122321

13111343

268

11223224

51211214

11232143

 

299

22141223

31213313

23111351

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

300

32141231

32122412

13111442

 

331

12151115

12125123

12212144

301

11232215

31213412

13111541

 

332

22151123

22125131

13121243

302

21232223

32122511

63112112

 

333

32151131

11216123

23121251

303

31232231

31213511

13112153

 

334

11242115

12125222

12212243

304

11232314

22123115

23112161

 

335

12151214

11216222

22212251

305

12141413

32123123

63112211

 

336

22151222

12125321

12212342

306

22141421

42123131

13112252

 

337

11242214

11216321

13121441

307

11232413

21214115

13112351

 

338

21242222

12126131

12212441

308

21232421

22123214

53113112

 

339

22151321

51221114

63122111

309

11232512

32123222

13113161

 

340

11242313

61221122

13122152

310

12142124

21214214

53113211

 

341

12151412

11221163

62213111

311

22142132

31214222

43114112

 

342

11242412

51221213

12213152

312

11233124

32123321

43114211

 

343

12151511

61221221

13122251

313

12142223

21214313

33115112

 

344

12152123

11221262

12213251

314

22142231

22123412

33115211

 

345

11243123

51221312

53123111

315

11233223

21214412

23116112

 

346

11243222

11221361

52214111

316

21233231

22123511

23116211

 

347

11243321

51221411

43124111

317

11233322

21214511

12211136

 

348

31251122

42131114

42215111

318

12142421

12124115

22211144

 

349

31251221

52131122

33125111

319

11233421

22124123

32211152

 

350

21251411

41222114

32216111

320

11234132

32124131

12211235

 

351

22161122

42131213

23126111

321

11234231

11215115

22211243

 

352

12161213

52131221

21311135

322

21241115

12124214

32211251

 

353

11252213

41222213

31311143

323

31241123

22124222

12211334

 

354

11252312

51222221

41311151

324

41241131

11215214

22211342

 

355

11252411

41222312

11311226

325

21241214

21215222

12211433

 

356

23111126

42131411

21311234

326

31241222

22124321

22211441

 

357

33111134

41222411

31311242

327

21241313

11215313

12211532

 

358

43111142

32132114

11311325

328

31241321

12124412

12211631

 

359

23111225

42132122

21311333

329

21241412

11215412

13121144

 

360

33111233

31223114

31311341

330

21241511

12124511

23121152

 

361

13111316

32132213

11311424

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

362

23111324

42132221

21311432

 

393

42211331

61231121

11321126

363

33111332

31223213

11311523

 

394

22211414

11231162

21321134

364

13111415

41223221

21311531

 

395

32211422

51231212

31321142

365

23111423

31223312

11311622

 

396

22211513

11231261

11321225

366

13111514

32132411

12221135

 

397

32211521

51231311

21321233

367

13111613

31223411

22221143

 

398

23121125

42141113

31321241

368

13112126

22133114

32221151

 

399

33121133

52141121

11321324

369

23112134

32133122

11312135

 

400

43121141

41232113

21321332

370

33112142

21224114

12221234

 

401

22212125

51232121

11321423

371

13112225

22133213

22221242

 

402

23121224

41232212

21321431

372

23112233

32133221

11312234

 

403

33121232

42141311

11321522

373

33112241

21224213

21312242

 

404

12212216

41232311

11321621

374

13112324

31224221

22221341

 

405

13121315

32142113

12231134

375

23112332

21224312

11312333

 

406

32212232

42142121

22231142

376

13112423

22133411

12221432

 

407

33121331

31233113

11322134

377

13112522

21224411

11312432

 

408

12212315

32142212

12231233

378

13113134

12134114

12221531

 

409

22212323

31233212

22231241

379

23113142

22134122

11312531

 

410

23121422

32142311

11322233

380

13113233

11225114

13131143

 

411

12212414

31233311

21322241

381

23113241

12134213

23131151

 

412

13121513

22143113

11322332

382

13113332

22134221

12222143

 

413

12212513

32143121

12231431

383

13114142

11225213

13131242

 

414

13122125

21234113

11322431

384

13114241

21225221

11313143

 

415

23122133

31234121

13141142

385

32211125

11225312

12222242

 

416

33122141

21234212

12232142

386

42211133

12134411

13131341

 

417

12213125

22143311

13141241

387

52211141

11225411

11313242

 

418

13122224

21234311

11323142

388

22211216

12135122

12222341

 

419

32213141

12144113

12232241

389

32211224

11226122

11313341

 

420

12213224

22144121

11323241

390

42211232

12135221

13132151

 

421

22213232

11235113

11331125

391

22211315

11226221

12223151

 

422

23122331

12144212

21331133

392

32211323

51231113

11314151

 

423

12213323

11235212

31331141

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

424

13122422

12144311

11331224

 

455

21312314

53111123

11352131

425

12213422

11235311

21331232

 

456

22221413

63111131

11361122

426

13123133

12145121

11331323

 

457

32221421

43111214

11361221

427

23123141

11236121

21331331

 

458

21312413

53111222

14111144

428

12214133

51241112

11331422

 

459

31312421

43111313

24111152

429

13123232

11241161

11331521

 

460

22221611

53111321

14111243

430

12214232

51241211

12241133

 

461

13131116

43111412

24111251

431

13123331

42151112

22241141

 

462

23131124

43111511

14111342

432

13124141

41242112

11332133

 

463

33131132

33112115

14111441

433

12215141

42151211

12241232

 

464

12222116

43112123

14112152

434

31311116

41242211

11332232

 

465

13131215

53112131

14112251

435

41311124

32152112

12241331

 

466

23131223

33112214

54113111

436

51311132

31243112

11332331

 

467

33131231

43112222

44114111

437

31311215

32152211

13151141

 

468

11313116

33112313

34115111

438

41311223

31243211

12242141

 

469

12222215

43112321

24116111

439

51311231

22153112

11333141

 

470

22222223

33112412

13211135

440

31311314

21244112

11341124

 

471

32222231

33112511

23211143

441

41311322

22153211

21341132

 

472

11313215

23113115

33211151

442

31311413

21244211

11341223

 

473

21313223

33113123

13211234

443

41311421

12154112

21341231

 

474

31313231

43113131

23211242

444

31311512

11245112

11341322

 

475

23131421

23113214

13211333

445

22221116

12154211

11341421

 

476

11313314

33113222

23211341

446

32221124

11245211

12251132

 

477

12222413

23113313

13211432

447

42221132

51251111

11342132

 

478

22222421

33113321

13211531

448

21312116

42161111

12251231

 

479

11313413

23113412

14121143

449

22221215

41252111

11342231

 

480

13131611

23113511

24121151

450

41312132

32162111

11351123

 

481

13132124

13114115

13212143

451

42221231

31253111

21351131

 

482

23132132

23114123

14121242

452

21312215

22163111

11351222

 

483

12223124

33114131

13212242

453

31312223

21254111

11351321

 

484

13132223

13114214

14121341

454

41312231

43111115

12261131

 

485

23132231

23114222

13212341

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

486

11314124

13114313

14122151

 

517

22231412

33122213

31411133

487

12223223

23114321

13213151

 

518

21322412

43122221

41411141

488

22223231

13114412

12311126

 

519

22231511

32213213

11411216

489

11314223

13114511

22311134

 

520

21322511

42213221

21411224

490

21314231

13115123

32311142

 

521

13141115

32213312

31411232

491

13132421

23115131

12311225

 

522

23141123

33122411

11411315

492

12223421

13115222

22311233

 

523

33141131

32213411

21411323

493

13133132

13115321

32311241

 

524

12232115

23123114

31411331

494

12224132

13116131

12311324

 

525

13141214

33123122

11411414

495

13133231

52211114

22311332

 

526

23141222

22214114

21411422

496

11315132

62211122

12311423

 

527

11323115

23123213

11411513

497

12224231

12211163

22311431

 

528

12232214

33123221

21411521

498

31321115

52211213

12311522

 

529

22232222

22214213

11411612

499

41321123

62211221

12311621

 

530

23141321

32214221

12321125

500

51321131

12211262

13221134

 

531

11323214

22214312

22321133

501

31321214

52211312

23221142

 

532

21323222

23123411

32321141

502

41321222

12211361

12312134

 

533

13141412

22214411

11412125

503

31321313

52211411

13221233

 

534

11323313

13124114

12321224

504

41321321

43121114

23221241

 

535

12232412

23124122

22321232

505

31321412

53121122

12312233

 

536

13141511

12215114

11412224

506

31321511

42212114

13221332

 

537

12232511

13124213

21412232

507

22231115

43121213

12312332

 

538

13142123

23124221

22321331

508

32231123

53121221

13221431

 

539

23142131

12215213

11412323

509

42231131

42212213

12312431

 

540

12233123

22215221

12321422

510

21322115

52212221

14131142

 

541

13142222

12215312

11412422

511

22231214

42212312

13222142

 

542

11324123

13124411

12321521

512

41322131

43121411

14131241

 

543

12233222

12215411

11412521

513

21322214

42212411

12313142

 

544

13142321

13125122

13231133

514

31322222

33122114

13222241

 

545

11324222

12216122

23231141

515

32231321

43122122

12313241

 

546

12233321

13125221

12322133

516

21322313

32213114

21411125

 

547

13143131

12216221

13231232

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

548

11325131

61311113

11413133

 

579

12243122

43132121

11422421

549

31331114

11311154

12322232

 

580

11334122

32223113

13241132

550

41331122

21311162

13231331

 

581

11334221

33132212

12332132

551

31331213

61311212

11413232

 

582

41341121

31314113

13241231

552

41331221

11311253

12322331

 

583

31341311

32223212

11423132

553

31331312

21311261

11413331

 

584

32251121

33132311

12332231

554

31331411

61311311

14141141

 

585

22251212

31314212

11423231

555

22241114

11311352

13232141

 

586

22251311

32223311

11431115

556

32241122

11311451

12323141

 

587

13161113

31314311

21431123

557

21332114

52221113

11414141

 

588

12252113

23133113

31431131

558

22241213

62221121

11421116

 

589

11343113

33133121

11431214

559

32241221

12221162

21421124

 

590

13161311

22224113

21431222

560

21332213

51312113

31421132

 

591

12252311

23133212

11431313

561

31332221

61312121

11421215

 

592

24111125

21315113

21431321

562

21332312

11312162

21421223

 

593

14111216

22224212

11431412

563

22241411

12221261

31421231

 

594

24111224

23133311

11431511

564

21332411

51312212

11421314

 

595

14111315

21315212

12341123

565

13151114

52221311

21421322

 

596

24111323

22224311

22341131

566

23151122

11312261

11421413

 

597

34111331

21315311

11432123

567

12242114

51312311

21421421

 

598

14111414

13134113

12341222

568

13151213

43131113

11421512

 

599

24111422

23134121

11432222

569

23151221

53131121

11421611

 

600

14111513

12225113

12341321

570

11333114

42222113

12331124

 

601

24111521

13134212

11432321

571

12242213

43131212

22331132

 

602

14112125

11316113

13251131

572

22242221

41313113

11422124

 

603

24112133

12225212

12342131

573

11333213

51313121

12331223

 

604

34112141

13134311

11433131

574

21333221

43131311

22331231

 

605

14112224

11316212

11441114

575

13151411

41313212

11422223

 

606

24112232

12225311

21441122

576

11333312

42222311

21422231

 

607

14112323

11316311

11441213

577

12242411

41313311

11422322

 

608

24112331

13135121

21441221

578

11333411

33132113

12331421

 

609

14112422

12226121

11441312

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

  BSBSBSBS BSBSBSBS BSBSBSBS

610

14112521

61321112

11441411

 

641

14121611

12235112

13311323

611

14113133

11321153

12351122

 

642

14122124

13144211

23311331

612

24113141

21321161

11442122

 

643

24122132

11326112

13311422

613

14113232

61321211

12351221

 

644

13213124

12235211

13311521

614

14113331

11321252

11442221

 

645

14122223

11326211

14221133

615

14114141

11321351

11451113

 

646

24122231

61331111

24221141

616

23211116

52231112

21451121

 

647

13213223

11331152

13312133

617

33211124

12231161

11451212

 

648

23213231

11331251

14221232

618

43211132

51322112

11451311

 

649

13213322

52241111

13312232

619

23211215

52231211

12361121

 

650

14122421

51332111

14221331

620

33211223

11322161

11452121

 

651

14123132

43151111

13312331

621

23211314

51322211

15111143

 

652

13214132

42242111

15131141

622

33211322

43141112

25111151

 

653

14123231

41333111

14222141

623

23211413

42232112

15111242

 

654

13214231

33152111

13313141

624

33211421

43141211

15111341

 

655

32311115

32243111

12411116

625

23211512

41323112

15112151

 

656

42311123

31334111

22411124

626

14121116

42232211

14211134

 

657

52311131

23153111

32411132

627

24121124

41323211

24211142

 

658

32311214

22244111

12411215

628

34121132

33142112

14211233

 

659

42311222

21335111

22411223

629

13212116

32233112

24211241

 

660

32311313

13154111

32411231

630

14121215

33142211

14211332

 

661

42311321

12245111

12411314

631

33212132

31324112

14211431

 

662

32311412

11336111

22411322

632

34121231

32233211

15121142

 

663

32311511

11341151

12411413

633

13212215

31324211

14212142

 

664

23221115

44111114

22411421

634

23212223

23143112

15121241

 

665

33221123

54111122

12411512

635

33212231

22234112

14212241

 

666

22312115

44111213

12411611

636

13212314

23143211

13311125

 

667

23221214

54111221

13321124

637

14121413

21325112

23311133

 

668

33221222

44111312

23321132

638

24121421

22234211

33311141

 

669

22312214

44111411

12412124

639

13212413

21325211

13311224

 

670

32312222

34112114

13321223

640

23212421

13144112

23311232

 

671

33221321

44112122

23321231

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

672

22312313

34112213

12412223

 

703

13224131

34122113

11512412

673

23221412

44112221

22412231

 

704

12315131

44122121

12421511

674

22312412

34112312

12412322

 

705

41411114

33213113

11512511

675

23221511

34112411

13321421

 

706

51411122

34122212

13331123

676

22312511

24113114

12412421

 

707

41411213

33213212

23331131

677

14131115

34113122

14231132

 

708

51411221

34122311

12422123

678

24131123

24113213

13322132

 

709

414113121

33213311

13331222

679

13222115

34113221

14231231

 

710

41411411

24123113

11513123

680

14131214

24113312

12413132

 

711

32321114

34123121

12422222

681

33222131

24113411

13322231

 

712

42321122

23214113

13331321

682

12313115

14114114

12413231

 

713

31412114

24123212

11513222

683

13222214

24114122

21511115

 

714

41412122

23214212

12422321

684

23222222

14114213

31511123

 

715

42321221

24123311

11513321

685

24131321

24114221

41511131

 

716

31412213

23214311

14241131

686

12313214

14114312

21511214

 

717

41412221

14124113

13332131

687

22313222

14114411

31511222

 

718

31412312

24124121

12423131

688

14131412

14115122

21511313

 

719

32321411

13215113

11514131

689

12313313

14115221

31511321

 

720

31412411

14124212

21521114

690

13222412

53211113

21511412

 

721

23231114

13215212

31521122

691

14131511

63211121

21511511

 

722

33231122

14124311

21521213

692

13222511

13211162

12421115

 

723

22322114

13215311

31521221

693

14132123

53211212

22421123

 

724

23231213

14125121

21521312

694

24132131

13211261

32421131

 

725

33231221

13216121

21521411

695

13223123

53211311

11512115

 

726

21413114

62311112

12431114

696

14132222

44121113

12421214

 

727

22322213

12311153

22431122

697

12314123

54121121

22421222

 

728

32322221

22311161

11522114

698

13223222

43212113

11512214

 

729

21413213

62311211

12431213

699

14132321

44121212

21512222

 

730

31413221

12311252

22431221

700

12314222

43212212

22421321

 

731

23231411

12311351

11522213

701

13223321

44121311

11512313

 

732

21413312

53221112

21522221

702

14133131

43212311

12421412

 

733

22322411

13221161

11522312

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

734

21413411

52312112

12431411

 

765

31422113

21411251

25211141

735

14141114

53221211

11522411

 

766

41422121

11411342

15211232

736

24141122

12312161

13341122

 

767

31422212

11411441

15211331

737

13232114

52312211

12432122

 

768

32331311

62321111

16121141

738

14141213

44131112

13341221

 

769

31422311

12321152

15212141

739

24141221

43222112

11523122

 

770

23241113

61412111

14311124

740

12323114

44131211

12432221

 

771

33241121

11412152

24311132

741

13232213

42313112

11523221

 

772

22332113

12321251

14311223

742

23232221

43222211

21531113

 

773

23241212

11412251

24311231

743

11414114

42313211

31531121

 

774

21423113

53231111

14311322

744

12323213

34132112

21531212

 

775

22332212

52322111

14311421

745

22323221

33223112

21531311

 

776

23241311

51413111

15221132

746

14141411

34132211

12441113

 

777

21423212

44141111

14312132

747

11414213

32314112

22441121

 

778

22332311

43232111

15221231

748

21414221

33223211

11532113

 

779

21423311

42323111

14312231

749

13232411

32314211

12441212

 

780

14151113

41414111

13411115

750

11414312

24133112

11532212

 

781

24151121

34142111

23411123

751

14142122

23224112

12441311

 

782

13242113

33233111

33411131

752

13233122

24133211

11532311

 

783

23242121

32324111

13411214

753

14142221

22315112

13351121

 

784

12333113

31415111

23411222

754

12324122

23224211

12442121

 

785

13242212

24143111

13411313

755

13233221

22315211

11533121

 

786

14151311

23234111

23411321

756

11415122

14134112

21541112

 

787

11424113

22325111

13411412

757

12324221

13225112

21541211

 

788

12333212

21416111

13411511

758

11415221

14134211

12451112

 

789

13242311

14144111

14321123

759

41421113

12316112

11542112

 

790

11424212

13235111

24321131

760

51421121

13225211

12451211

 

791

12333311

12326111

13412123

761

41421212

12316211

11542211

 

792

11424311

11421143

23412131

762

41421311

11411144

16111142

 

793

13243121

21421151

13412222

763

32331113

21411152

16111241

 

794

11425121

11421242

14321321

764

42331121

11411243

15211133

 

795

41431211

11421341

13412321

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

796

31432112

12331151

15231131

 

827

24212123

34213211

21612113

797

31432211

11422151

14322131

 

828

25121222

25123112

22521212

798

22342112

11431142

13413131

 

829

14212214

24214112

21612212

799

21433112

11431241

22511114

 

830

24212222

25123211

22521311

800

21433211

11441141

32511122

 

831

14212313

24214211

21612311

801

13252112

45111113

22511213

 

832

24212321

15124112

13431113

802

12343112

45111212

32511221

 

833

14212412

14215112

23431121

803

11434112

45111311

22511312

 

834

15121511

15124211

12522113

804

11434211

35112113

22511411

 

835

14212511

14215211

13431212

805

15111116

45112121

13421114

 

836

15122123

63311111

11613113

806

15111215

35112212

23421122

 

837

25122131

13311152

12522212

807

25111223

35112311

12512114

 

838

14213123

13311251

13431311

808

15111314

25113113

22512122

 

839

24213131

54221111

11613212

809

15111413

35113121

23421221

 

840

14213222

53312111

12522311

810

15111512

25113212

12512213

 

841

15122321

45131111

11613311

811

15112124

25113311

13421312

 

842

14213321

44222111

14341121

812

15112223

15114113

12512312

 

843

15123131

43313111

13432121

813

15112322

25114121

13421411

 

844

14214131

35132111

12523121

814

15112421

15114212

12512411

 

845

33311114

34223111

11614121

815

15113132

15114311

14331122

 

846

33311213

33314111

31621112

816

15113231

15115121

13422122

 

847

33311312

25133111

31621211

817

24211115

54211112

14331221

 

848

33311411

24224111

22531112

818

24211214

14211161

12513122

 

849

24221114

23315111

21622112

819

34211222

54211211

13422221

 

850

23312114

15134111

22531211

820

24211313

45121112

12513221

 

851

33312122

14225111

21622211

821

34211321

44212112

31611113

 

852

34221221

13316111

13441112

822

24211412

45121211

41611121

 

853

23312213

12411143

12532112

823

24211511

44212211

31611212

 

854

33312221

22411151

13441211

824

15121115

35122112

31611311

 

855

23312312

12411242

11623112

825

25121123

34213112

22521113

 

856

24221411

12411341

12532211

826

14212115

35122211

32521121

 

857

23312411

13321151

11623211

 

Từ mã

Chuỗi vạch – khoảng trống

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

 

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

 

BSBSBSBS

BSBSBSBS

BSBSBSBS

858

15131114

12412151

31631111

 

889

22413113

16124111

23512121

859

14222114

11511134

22541111

 

890

23322212

15215111

13512212

860

15131213

21511142

21632111

 

891

24231311

14311151

14421311

861

25131221

11511233

13451111

 

892

22413212

13411142

13512311

862

13313114

21511241

12542111

 

893

23322311

13411241

15331121

863

14222213

11511332

11633111

 

894

22413311

12511133

14422121

864

15131312

11511431

16211132

 

895

15141113

22511141

13513121

865

13313213

12421142

16211231

 

896

25141121

12511232

32611112

866

14222312

11512142

15311123

 

897

14232113

12511331

32611211

867

15131411

12421241

25311131

 

898

24232121

13421141

23521112

868

13313312

11512241

15311222

 

899

13323113

12512141

22612112

869

14222411

11521133

15311321

 

900

14232212

11611124

23521211

870

15132122

21521141

16221131

 

901

15141311

21611132

22612211

871

14223122

11521232

15312131

 

902

12414113

11611223

14431112

872

15132221

11521331

14411114

 

903

13323212

21611231

13522112

873

13314122

12431141

24411122

 

904

14232311

11611322

14431211

874

14223221

11522141

14411213

 

905

12414212

11611421

12613112

875

13314221

11531132

24411221

 

906

13323311

12521132

13522211

876

42411113

11531231

14411312

 

907

15142121

11612132

12613211

877

42411212

11541131

14411411

 

908

14233121

12521231

32621111

878

42411311

36112112

15321122

 

909

13324121

11612231

23531111

879

33321113

36112211

14412122

 

910

12415121

11621123

22622111

880

32412113

26113112

15321221

 

911

51511112

21621131

14441111

881

42412121

26113211

14412221

 

912

51511211

11621222

13532111

882

32412212

16114112

23511113

 

913

42421112

11621321

12623111

883

33321311

16114211

33511121

 

914

41512112

12531131

16311122

884

32412311

45212111

23511212

 

915

42421211

11622131

16311221

885

24231113

36122111

23511311

 

916

41512211

11631122

16411113

886

34231121

35213111

14421113

 

917

33331112

11631221

25411121

887

23322113

26123111

24421121

 

918

32422112

14411141

15411212

888

33322121

25214111

13512113

 

919

33331211

13511132

15411311

 

Từ mã

Chuỗi vạch – khoảng trống

Cụm 0

Cụm 3

Cụm 6

BSBSBSBS

BSBSBSBS

BSBSBSBS

920

31513112

13511231

16321121

921

32422211

12611123

15412121

922

31513211

22611131

24511112

923

24241112

12611222

24511211

924

23332112

12611321

15421112

925

24241211

13521131

14512112

926

22423112

12612131

15421211

927

23332211

12621122

14512211

928

21514112

12621221

33611111

 

Phụ lục B

(quy định)

Bộ ký tự mặc định cho Mode nén bytec

CHÚ THÍCH: Bảng này tương đương với bộ ký tự quy định trong ISO/IEC 8859-1, có bổ sung các kí tự kiểm soát (các giá tr byte từ 00 – 31) được quy định trong ISO/IEC 646, Phiên bản tham chiếu của quốc tế.

 

Phụ lục C

(quy định)

Thuật toán mã hóa phương thức nén byte

Chuyển đổi này được sử dụng trong phương thức nén byte. Sáu byte dữ liệu được chuyển thành năm từ mã dữ liệu PDF417. Phương trình chuyển đổi là:

b5 x 2565 + b4 x 2564 + b3 x 2563 + b2 x 2562 + b1 x 2561 + b0 x 2560

= d4 x 9004 + d3 x 9003 + d2 x 9002 + d1 x 9001 + d0 x 9000

trong đó: b = giá trị byte dữ liệu là phân số (0 đến 255)

d = từ mã dữ liệu

Thuật toán sau đây có thể được sử dụng cho chuyển đổi base 256 thành base 900.

1. Chọn t = biến tạm thời

2. Tính t = b5 x 2565 + b4 x 2564 + b3 x 2563 + b2 x 2562 + b1 x 2561 + b0 x 2560

3. Tính mỗi từ mã như sau

Đối với mỗi từ mã d= d0 … d4

BEGIN

di =  t mod 900

t =  t div 900

END

VÍ DỤ:

Mã hóa các ký tự nén byte b5…. b0 {231, 101, 11, 97, 205, 2}

Tính tổng t sử dụng các giá trị thập phân của sáu ký tự nén byte:

t = 231 x 2565 + 101 x 2564 + 11 x 2563 + 97 x 2562 + 205 x 2561 + 2 x 2560

= 254 421 168 672 002

Tính từ mã 0

d= 254 421 168 672 002 mod 900 = 302

t = 254 421 168 672 002 div 900 = 282 690 187 413

Tính từ mã 1

d1 = 282 690 187 413 mod 900 = 213

t = 282 690 187 413 div 900 = 314 100 208

Tính từ mã 2

d2 = 314 100 208 mod 900 = 208

t = 314 100 208 div 900 = 349 000

Tính từ mã 3

d3 = 349 000 mod 900 = 700

t = 349 000 div 900 = 387

Tính từ mã 4

d4 = 387 mod 900 = 387

t = 387 div 900 = 0

Chuỗi từ mã d4…. d0 là 387, 700, 208, 213, 302

 

Phụ lục D

(quy định)

Thuật toán mã hóa phương thức nén số

Chuyển đổi này được sử dụng trong phương thức nén số. Các nhóm trên 44 chữ số liên tiếp được chuyển thành 15 từ mã dữ liệu PDF417 hoặc ít hơn.

Thuật toán sau đây có thể được sử dụng cho việc chuyển đổi base 10 thành base 900.

1. Chọn t = giá trị tạm thời

2. Đặt giá trị đầu của t là nhóm trên 44 chữ số liên tiếp, bắt đầu bằng số 1

3. Tính mỗi từ mã như sau:

Đối với mỗi từ mã di = d0…. dn-1

BEGIN

di =  t mod 900

t =  t div 900

nếu t = 0, thì dừng mã hóa

END

VÍ DỤ

Mã hóa chuỗi số gồm 15 chữ số 000213298174000

Thêm vào đầu chuỗi số 1 và đặt giá trị đầu của

t = 1 000 213 298 174 000

Tính từ mã 0

d0 = 1 000 213 298 174 000 mod 900 = 200

t = 1 000 213 298 174 000 div 900 = 1 111 348 109 082

Tính từ mã 1

d= 1 111 348 109 082 mod 900 = 282

t = 1 111 348 109 082 div 900 = 1 234 831 232

Tính từ mã 2

d2 = 1 234 831 232 mod 900 = 632

= 1 234 831 232 div 900 = 1 372 034

Tính từ mã 3

d= 1 372 034 mod 900 = 434

t = 1 372 034 div 900 = 1 524

Tính từ mã 4

d4 1 524 mod 900 = 624

t = 1 524 div 900 = 1

Tính từ mã 5

d5 =  1 mod 900 = 1

t = 1 div 900 = 0

Chuỗi từ mã d5… d0 là 1, 624, 434, 632, 282, 200

 

Phụ lục E

(quy định)

Lựa chọn mức sửa lỗi của người sử dụng

E.1 Mức điều chỉnh lỗi tối thiểu được khuyến cáo

Mức điều chỉnh lỗi tối thiu được chỉ rõ trong Bảng E.1.

Bảng E.1 – Mức sửa lỗi được khuyến cáo

Số từ mã dữ liệu

Mức sửa lỗi tối thiểu

1 đến 40

2

41 đến 160

3

161 đến 320

4

321 đến 863

5

Giống như một hướng dẫn về việc đánh giá số từ mã dữ liệu từ nội dung dữ liệu sử dụng Bảng E.1, sử dụng 1,8 ký tự văn bản ở mỗi từ mã dữ liệu trong phương thức nén văn bản, 2,9 chữ số mỗi từ mã dữ liệu trong phương thức nén số và 1,2 byte ở mỗi từ mã dữ liệu trong phương thức nén byte.

Các mức sửa lỗi cao hơn phải được sử dụng ở nơi mối nguy hiểm hoặc sự thoái hóa nghiêm trọng của mã vạch được thấy trước. Mức thấp hơn có thể được sử dụng trong các ứng dụng hệ thống khép kín.

E.2 Xem xét khác của người sử dụng về mức điều chỉnh lỗi

Mục đích trong chuẩn ứng dụng nhằm đảm bảo các đặc tính của việc sửa lỗi mà không mất đi khả năng tạo ra nội dung dữ liệu.

Các yếu tố sau đây phải được người sử dụng tính đến trong việc lựa chọn mức điều chỉnh lỗi:

g) Mức điều chỉnh lỗi được khuyến cáo (xem Bảng E.1) phải được tuân thủ

h) Khi số từ mã dữ liệu tối đa trong mỗi mã vạch là 925, số lượng lớn các từ mã dữ liệu giới hạn mức điều chỉnh lỗi tối đa có thể được thực hiện. Nhiều hơn 415 từ mã dữ liệu cản trở việc sửa lỗi mức 8. Nhiều hơn 671 từ mã dữ liệu cản trở mức 7 và 8. Nhiều hơn 799 từ mã dữ liệu cản trở việc sửa lỗi các mức 6, 7 và 8. Nhiều hơn 863 từ mã dữ liệu cản trở mức 5 do đó không được khuyến cáo.

i) Khi các mã vạch PDF417 có các từ mã thiếu hoặc bị xóa, mức sửa lỗi có thể tăng lên mức 8, hoặc trên mức mà số từ mã sửa lỗi lấp đầy ma trận có kích cỡ tối đa phù hợp với ứng dụng.

j) Duy trì chất lượng mã vạch hơn là cân bằng chất lượng in kém bằng cách tăng mức sửa lỗi. Thay vì chấp nhận mức sửa lỗi cao hơn, tốt hơn là chỉ rõ kích thước X lớn hơn hoặc các chất liệu riêng biệt có thể duy trì chất lượng in của mã vạch PDF417.

 

Phụ lục F

(quy định)

Bảng hệ số cho việc tính các từ mã sửa lỗi của mã vạch PDF417

Bảng F.1 – Bảng hệ số cho sửa lỗi mức 0

j

0

1

aj

27

917

Bảng F.2 – Bảng hệ số cho sửa lỗi mức 1

j

0

1

2

3

aj

522

568

723

809

Bảng F.3 – Bảng hệ số cho sửa lỗi mức 2

j

0

1

2

3

4

5

6

7

aj

237

308

436

284

646

653

428

379

Bảng F.4  Bảng hệ số cho sửa lỗi mức 3

j

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

aj

274

562

232

755

599

524

801

132

295

116

442

428

295

42

176

65

Bảng F.5 – Bảng hệ số cho sửa lỗi mức 4

j

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

aj

361

575

922

525

176

586

640

321

536

742

677

742

687

284

193

517

j

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

aj

273

494

263

147

593

800

571

320

803

133

231

390

685

330

63

410

Bảng F.6 – Bảng hệ số cho sửa lỗi mức 5

j

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

aj

539

422

6

93

862

771

453

106

610

287

107

505

733

877

381

612

j

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

aj

723

476

462

172

430

609

858

822

543

376

511

400

672

762

283

184

j

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

aj

440

35

519

31

460

594

225

535

517

352

605

158

651

201

488

502

j

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

aj

648

733

717

83

404

97

280

771

840

629

4

381

843

623

264

543

Bảng F.7 – Bảng hệ số cho sửa lỗi mức 6

j

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

aj

521

310

864

547

858

580

296

379

53

779

897

444

400

925

749

415

j

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

aj

822

93

217

208

928

244

583

620

246

148

447

631

292

908

490

704

j

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

aj

516

258

457

907

594

723

674

292

272

96

684

432

686

606

860

569

j

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

aj

193

219

129

186

236

287

192

775

278

173

40

379

712

463

646

776

j

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

aj

171

491

297

763

156

732

95

270

447

90

507

48

228

821

808

898

j

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

aj

784

663

627

378

382

262

380

602

754

336

89

614

87

432

670

616

j

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

aj

157

374

242

726

600

269

375

898

845

454

354

130

814

587

804

34

j

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

aj

211

330

539

297

827

865

37

517

834

315

550

86

801

4

108

539

Bng F.8 – Bảng hệ số cho sửa lỗi mức 7

j

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

aj

524

894

75

766

882

857

74

204

82

586

708

250

905

786

138

720

j

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

aj

858

194

311

913

275

190

375

850

438

733

194

280

201

280

828

757

j

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

aj

710

814

919

89

68

569

11

204

796

605

540

913

801

700

799

137

j

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

aj

439

418

592

668

353

859

370

694

325

240

216

257

284

549

209

884

j

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

aj

315

70

329

793

490

274

877

162

749

812

684

461

334

376

849

521

j

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

aj

307

291

803

712

19

358

399

908

103

511

51

8

517

225

289

470

j

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

aj

637

731

66

255

917

269

463

830

730

433

848

585

136

538

906

90

j

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

aj

2

290

743

199

655

903

329

49

802

580

355

588

188

462

10

134

j

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

aj

628

320

479

130

739

71

263

318

374

601

192

605

142

673

687

234

j

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

aj

722

384

177

752

607

640

455

193

689

707

805

641

48

60

732

621

j

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

aj

895

544

261

852

655

309

697

755

756

60

231

773

434

421

726

528

j

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

aj

503

118

49

795

32

144

500

238

836

394

280

566

319

9

647

550

j

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

aj

73

914

342

126

32

681

331

792

620

60

609

441

180

791

893

754

j

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

aj

605

383

228

749

760

213

54

297

134

54

834

299

922

191

910

532

j

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

aj

609

829

189

20

167

29

872

449

83

402

41

656

505

579

481

173

j

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

aj

404

251

688

95

497

555

642

543

307

159

924

558

648

55

497

10

Bảng F.9 – Bảng hệ số cho sửa lỗi mức 8

j

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

aj

352

77

373

504

35

599

428

207

409

574

118

498

285

380

350

492

j

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

aj

197

265

920

155

914

299

229

643

294

871

306

88

87

193

352

781

j

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

aj

846

75

327

520

435

543

203

666

249

346

781

621

640

268

794

534

j

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

aj

539

781

408

390

644

102

476

499

290

632

545

37

858

916

552

41

j

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

aj

542

289

122

272

383

800

485

98

752

472

761

107

784

860

658

741

j

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

aj

290

204

681

407

855

85

99

62

482

180

20

297

451

593

913

142

j

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

aj

808

684

287

536

561

76

653

899

729

567

744

390

513

192

516

258

j

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

aj

240

518

794

395

768

848

51

610

384

168

190

826

328

596

786

303

j

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

aj

570

381

415

641

156

237

151

429

531

207

676

710

89

168

304

402

j

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

aj

40

708

575

162

864

229

65

861

841

512

164

477

221

92

358

785

j

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

aj

288

357

850

836

827

736

707

94

8

494

114

521

2

499

851

543

j

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

aj

152

729

771

95

248

361

578

323

856

797

289

51

684

466

533

820

j

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

aj

669

45

902

452

167

342

244

173

35

463

651

51

699

591

452

578

j

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

aj

37

124

298

332

552

43

427

119

662

777

475

850

764

364

578

911

j

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

aj

283

711

472

420

245

288

594

394

511

327

589

777

699

688

43

408

j

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

aj

842

383

721

521

560

644

714

559

62

145

873

663

713

159

672

729

j

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

aj

624

59

193

417

158

209

563

564

343

693

109

608

563

365

181

772

j

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

aj

677

310

248

353

708

410

579

870

617

841

632

860

289

536

35

777

j

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

aj

618

586

424

833

77

597

346

269

757

632

695

751

331

247

184

45

j

304

305

306

307

308

309

310

311

312

313

314

315

316

317

318

319

aj

787

680

18

66

407

369

54

492

228

613

830

922

437

519

644

905

j

320

321

322

323

324

325

326

327

328

329

330

331

332

333

334

335

aj

789

420

305

441

207

300

892

827

141

537

381

662

513

56

252

341

j

336

337

338

339

340

341

342

343

344

345

346

347

348

349

350

351

aj

242

797

838

837

720

224

307

631

61

87

560

310

756

665

397

808

j

352

353

354

355

356

357

358

359

360

361

362

363

364

365

366

367

aj

851

309

473

795

378

31

647

915

459

806

590

731

425

216

548

249

j

368

369

370

371

372

373

374

375

376

377

378

379

380

381

382

383

aj

321

881

699

535

673

782

210

815

905

303

843

922

281

73

469

791

j

384

385

386

387

388

389

390

391

392

393

394

395

396

397

398

399

aj

660

162

498

308

155

422

907

817

187

62

16

425

535

336

286

437

j

400

401

402

403

404

405

406

407

408

409

410

411

412

413

414

415

aj

375

273

610

296

183

923

116

667

751

353

62

366

691

379

687

842

j

416

417

418

419

420

421

422

423

424

425

426

427

428

429

430

431

aj

37

357

720

742

330

5

39

923

311

424

242

749

321

54

669

316

j

432

433

434

435

436

437

438

439

440

441

442

443

444

445

446

447

aj

342

299

534

105

667

488

640

672

576

540

316

486

721

610

46

656

j

448

449

450

451

452

453

454

455

456

457

458

459

460

461

462

463

aj

447

171

616

464

190

531

297

321

762

752

533

175

134

14

381

433

j

464

465

466

467

468

469

470

471

472

473

474

475

476

477

478

479

aj

717

45

111

20

596

284

736

138

646

411

877

669

141

919

45

780

j

480

481

482

483

484

485

486

487

488

489

490

491

492

493

494

495

aj

407

164

332

899

165

726

600

325

498

655

357

752

768

223

849

647

j

496

497

498

499

500

501

502

503

504

505

506

507

508

509

510

511

aj

63

310

863

251

366

304

282

738

675

410

389

244

31

121

303

263

 

Phụ lục G

(quy định)

PDF417 cô đọng

G.1 Mô tả

PDF417 cô đọng có thể được sử dụng ở nơi mà các xem xét về không gian là mối quan tâm hàng đầu và việc làm tổn hại cho mã vạch không thể xảy ra. Trong môi trường mà việc làm tổn hại cho nhãn không xy ra (ví dụ: văn phòng), các chỉ báo hàng bên phải có thể b b qua và dấu hiệu dừng bị giảm xuống một môđun độ rộng vạch, như đã được chỉ ra trong Hình G.1 dưới đây. Quy trình này giảm từ 4 từ mã mỗi hàng xuống còn 2 từ mã mỗi hàng với một số thoả hiệp trong giải mã, hoặc khả năng chống lại tiếng ồn, tổn hại, sự giảm sút, bụi v.v.

Phiên bản này được gọi là PDF417 cô đọng, là bộ giải mã tương thích với tiêu chuẩn này.

Mã vạch PDF417 cô đọng với ít hơn 6 hàng mã hóa số cột chỉ tại một vị trí, mà không phải là lỗi đã điều chỉnh, do đó có thể nguy hiểm đến chất lượng in hoặc tổn hại.

CHÚ THÍCH: Trong các yêu cầu kỹ thuật về PDF417 của AIM Mỹ (1994) và AIM Eurrope (1994), thuật ngữ PDF417 bị cắt ngắn được sử dụng theo cách đồng bộ. Tên PDF417 cô đọng hay được sử dụng hơn để tránh nhầm lẫn với thuật ngữ “bị cắt ngắn”.

Hình G.1 – PDF 417 cô đọng

G.2 Chất lượng in

Mặc dù phương pháp về chất lượng in chuẩn quy định trong điều 5.14.4 được áp dụng cho PDF417 cô đọng, nhưng sự vắng mặt của Dấu hiệu Kết thúc (ngoài môđun vạch đơn) vẫn yêu cầu tạo ra hai ngoại lệ.

Phân tích các giản đồ phản xạ quét về các dấu hiệu bắt đầu và kết thúc chỉ áp dụng cho dấu hiệu bắt đầu.

Để đánh giá hiệu suất Từ mã, yêu cầu quét hàng trên hoặc hàng dưới của mã vạch (ISO/IEC 15415 bao gồm việc giải mã các dấu hiệu bắt đầu và kết thúc không được áp dụng); thay vào đó, đối với các hàng khác, dấu hiệu bắt đầu và ít nhất một từ mã bổ sung phải được giải mã.

 

Phụ lục H

(quy định)

Macro PDF417

H.1 Tổng quan về Macro PDF417

Macro PDF417 cung cấp cơ chế chuẩn để tạo ra phép biểu diễn phân tán của các tệp rất lớn được thực hiện bởi mã vạch PDF417 đơn. Các mã vạch Macro PDF417 khác với các mã vạch PDF417 thường trong đó chúng chứa thông tin kiểm soát bổ sung trong Khối Kiểm soát Macro PDF417.

Sử dụng Macro PDF417, các tệp lớn được chia thành một vài đoạn tệp và được mã hóa thành các mã vạch riêng lẻ. Khối Kiểm soát xác định tệp ID, chuỗi liên kết với nhau và các thông tin tùy chọn khác về tệp. Bộ giải mã Macro PDF417 sử dụng thông tin của Khối Kiểm soát để thiết kế lại tệp một cách chính xác, độc lập với thứ tự quét mã vạch.

H.2 Cú pháp Macro PDF417

Mỗi mã vạch Macro PDF417 phải mã hóa Khối Kiểm soát Macro PDF417 chứa thông tin kiểm soát. Khối Kiểm soát bắt đầu với từ mã đánh dấu Macro (928). Khối kiểm soát theo sau khối dữ liệu mà nó liên kết, và số từ mã trong khối kiểm soát được xem là dữ liệu và được hợp thành giá trị của bộ Mô tả Độ dài Mã vạch. Phần đầu của các từ mã sửa lỗi nhận dạng phần cuối của Khối Kiểm soát.

CHÚ THÍCH: Mã vạch không chứa dữ liệu người sử dụng, khác với Khối Kiểm soát Macro PDF417, là một mã vạch hợp lệ.

Khối Kiểm soát phải chứa ít nhất hai trường bắt buộc: chỉ số đoạn và tệp ID. Nó cũng có thể chứa số trường tùy chọn, như đã mô tả trong Phụ lục H.2.3.

Hình H.1 minh họa vị trí của Khối Kiểm soát trong mã vạch Macro PDF417.

Hình H.1 – Sơ đồ mã vạch PDF417

H.2.1 Chỉ số đoạn

Trong Macro PDF417, mỗi mã vạch biểu diễn một đoạn của toàn bộ tệp. Để thiết kế lại toàn bộ tệp, các đoạn cần được đặt theo đúng thứ tự. Thông tin Kiểm soát trong Khối Kiểm soát tạo điều kiện cho quá trình tái sắp xếp này. Một tệp được chia thành bộ mã vạch j Macro PDF417, trường chỉ số đoạn trong mỗi Khối Kiểm soát của mã vạch chứa giá trị giữa 0 và j -1, tương ứng với vị trí của nội dung mã vạch đó trong phép biểu diễn phân tán.

Trường chỉ số đoạn là hai từ mã độ dài và được mã hóa sử dụng phương thức nén số như đã quy định trong điều 5.4.4. Giá trị chỉ số đoạn phải được đệm với các số 0 chủ đạo tới năm chữ số trước khi phương thức nén số được áp dụng, và việc chuyển thành phương thức nén số không yêu cầu mode latch (từ mã 902). Giá trị cho phép lớn nhất trong trường chỉ số đoạn là 99 998. Do đó, trên 99 999 mã vạch Macro PDF417 có thể bao gồm phép biểu diễn phân tán của tệp dữ liệu.

CHÚ THÍCH: Chỉ số đoạn này chuyển dịch thành sức chứa gần 110 triệu byte dữ liệu trong phương thức nén byte, hoặc 184 triệu ký tự trong phương thức nén văn bản, hoặc gần 300 triệu ký tự trong phương thức nén số.

H.2.2 Trường tệp ID

Đối với mỗi mã vạch Macro PDF417 liên quan, trường tệp ID chứa cùng giá trị. Điều này đảm bảo rằng tất cả các dữ liệu mã vạch được ráp lại thuộc về cùng một phép biểu diễn tệp phân tán. Tệp ID là trường độ dài biến đổi bắt đầu với từ mã đầu tiên theo sau chỉ số đoạn và mở rộng đến phần đầu của các trường tùy chọn (nếu có) hoặc đến phần cuối của Khối Kiểm soát (nếu không có).

Mỗi từ mã trong trường ID có thể có giá trị giữa 0 và 899, tạo cho tệp ID chuỗi các số base 900. Mỗi từ mã của chuỗi được truyền như phép biểu diễn 3 chữ số ASCII giá trị thập phân của nó.

CHÚ THÍCH: Hiệu quả của lược đồ phân định tệp bị ảnh hưởng bởi độ dài của trường tệp ID và sự thích hợp của thuật toán sử dụng để tạo giá trị của nó.

H.2.3 Trường tùy chọn

Các trường tùy chọn có thể theo sau tệp ID. Mỗi trường tùy chọn bắt đầu với chuỗi thẻ cụ thể và mở rộng tới phần đầu của trường tùy chọn tiếp theo (nếu có) hoặc phần cuối của Khối Kiểm soát (nếu không có). Chuỗi thẻ bao gồm từ mã 923, tiếp theo đó là bộ miêu tả trường từ mã đơn. Trong mỗi trường tùy chọn, dữ liệu theo sau chuỗi thẻ có một diễn dịch cụ thể về trường. Các trường tùy chọn rỗng không được sử dụng. Bảng H.1 biểu diễn sự tương ứng giữa các bộ miêu tả trường xác định và nội dung trường tùy chọn. Mỗi trường tùy chọn bắt đầu với trạng thái đầu đến phương thức nén được chỉ ra trong bng và trạng thái đầu đến ECI 000002 (hoặc GLI 0 về các bộ mã hóa phù hợp với các tiêu chuẩn PDF417 trước đó). Các chuỗi thoát ECI, các mode latch và mode shift có thể được sử dụng, nhưng chỉ ở các trường tùy chọn ban đầu trong phương thức nén văn bản.

Các trường này phải luôn luôn biểu diễn các thuộc tính tệp chung và không cần có mặt trong Khối Kiểm soát của nhiều hơn một mã vạch PDF417 trong phép biểu diễn tệp phân tán, ngoại tr trường đếm đoạn như đã mô tả dưới đây. Đoạn chứa các trường này được xác định bởi bộ mã hóa cụ thể. Nếu một trường riêng xuất hiện ở nhiều đoạn thì nó sẽ xuất hiện giống hệt nhau  mỗi đoạn. Không có thứ tự nào được yêu cầu đối với các trường tùy chọn.

Bảng H.1 – Bộ miêu tả trường tùy chọn Macro PDF417

Bộ mô tả trường

Giá trị byte được truyền

Nội dung

Phương thức nén ban đầu

Phương thứca nén cố định

Tổng số các từ b

0

48

Tên Tệp

Nén văn bản

N

Biến

1

49

Bộ đếm Đoạn

Nén Số

Y

4

2

50

Tem Thời gian

Nén Số

Y

6

3

51

Người gửi

Nén văn bản

N

Biến

4

52

Người nhận

Nén văn bản

N

Biến

5

53

Kích cỡ tệp

Nén Số

Y

Biến

6

54

Kiểm tra tổng

Nén Số

Y

4

a A‘Y’ trong cột ‘Phương thức nén cố định’ có nghĩa là không có các ECI, các mode latch và shift nén được cho phép trong trường đó

b Tổng số được chỉ ra trong cột cuối cùng bao gồm chuỗi thẻ hai từ mã

Như đã chỉ ra trong Bảng H.1, tất cả các trường tùy chọn sử dụng mã hóa mức cao của PDF417. Tại phần đầu của mỗi trường, phương thức mặc định hiện hành phải được xác định bởi Bảng H.1, không tính đến các mode shift và latch có trước trong mã vạch.

Cấu trúc cụ thể của các trường tùy chọn như sau:

– Trường đếm đoạn (phân định tổng số mã vạch Macro PDF417 trong tệp phân tán) có thể chứa các giá trị từ 1 đến 99 999 và phải được mã hóa thành hai từ mã. Nếu trường đếm đoạn tùy chọn được sử dụng thì nó phải xuất hiện trong mỗi đoạn.

– Trường tem thời gian được diễn dịch trong phương thức nén số. Nó cho biết tem thời gian trên tệp nguồn được biểu diễn là thời gian trôi qua trong các giây từ 1970:01:01:00:00:00 GMT (ví dụ: 00:00:00 GMT vào ngày 1 tháng 1 năm 1970). Sử dụng định dạng này, bốn từ mã có thể mã hóa mọi ngày tháng trong 200 thế kỷ tới.

– Trường kích cỡ tệp chứa kích cỡ được tính bằng byte của toàn bộ tệp nguồn.

– Trường kiểm tra tổng chứa giá trị của 16 bít (2 byte) kiểm tra tổng CRC sử dụng đa thức CCITT-16 x16 + x12 x5 + 1 tính qua toàn bộ tệp nguồn.

Kích cỡ tệp và kiểm tra tổng phải được tính từ tệp nguồn, trước khi bổ sung bất kỳ chuỗi thoát ECI về mã hóa ECI. Nếu người nhận xác minh kiểm tra tổng sau khi nhận, thì tệp nguồn phải được thiết kế lại nguyên văn. Điều này chỉ yêu cầu đối với các mục đích xác minh kiểm tra tổng tùy chọn, rằng không có người sử dụng hoặc phép biến đổi tùy chọn dòng byte được thực hiện, thậm chí nếu các phép biến đổi này được hoàn thành trong bộ xử lý giải mã ECI.

Nếu CRC được sử dụng thì việc tính toán có thể được thực hiện trước khi dữ liệu được gửi đến máy in hoặc trong máy in, dựa trên các khả năng của máy in.

Bộ miêu tả trường có giá trị lớn hơn 6 hiện không xác định. Tuy nhiên, thiết bị giải mã PDF417 phải giải mã và truyền các trường tùy chọn với bộ miêu tả trường từ 7 đến 9 (byte 55 đến 57) hoặc từ A đến Z (byte 65 đến 90) bằng cách coi dữ liệu của trường như trong phương thức nén văn bản và độ dài biến.

H.2.4 Ký tự kết thúc Macro PDF417

Khối kiểm soát trong mã vạch biểu diễn phần cuối cùng của tệp Macro PDF417 chứa dấu hiệu đặc biệt, chứa từ mã 922 ở cuối Khối Kiểm soát. Khối Kiểm soát về mã vạch khác kết thúc sau các trường tùy chọn mà không có ký tự kết thúc đặc biệt nào.

H.3 Xem xét mã hóa mức cao

Macro PDF417 cung cấp cơ chế liên kết bộ mã vạch một cách lôgic, điều quan trọng là việc nhận ra rằng đối với mã hóa mức cao PDF417, mỗi mã vạch giữ lại một thực thể riêng biệt. Do đó, phạm vi của bộ chuyển phương thức được hạn chế trong mã vạch mà nó tìm thấy. Mỗi mã vạch phải bắt đầu hoàn toàn trong phương thức con Alpha của phương thức nén văn bản.

Hai trường bắt buộc được mã hóa như sau: chỉ số đoạn được mã hóa trong phương thức nén số và tệp ID được mã hóa là chuỗi các số của base 900.

Trong ngữ cảnh trường tùy chọn của Khối Kiểm soát, các phương thức nén trong Bảng H.1 thay thế phương thức được thiết lập bởi các từ mã phân định phương thức trong vùng từ mã dữ liệu của mã vạch. Tuy nhiên, phạm vi ECI hiện hành đi qua Khối kiểm soát Macro đến phần đầu của mã vạch Macro PDF417 tiếp theo. Mỗi trường Khối Kiểm soát Macro bắt đầu với trạng thái đầu đến ECI 000002 (hoặc GLI 0 đối với các bộ mã hóa phù hợp với các tiêu chuẩn PDF417 trước đây). Cũng có khả năng thiết lập một ECI khác trong trường Khối Kiểm soát Macro của phương thức nén văn bản tùy chọn, ví dụ để biểu diễn chính xác tên của người nhận ở Hylạp. Chuỗi thoát ECI có thể được đặt tại mọi vị trí cho phép (xem điều 5.5.3) sau từ mã thẻ (923).

H.4 Ví dụ về mã hóa

Để minh họa việc mã hóa Khối Kiểm soát Macro, sử dụng ví dụ sau đây:

Chuỗi Macro PDF417 mã hóa tổng số 4 567 byte của dữ liệu do người sử dụng xác định trong bốn mã vạch PDF417 (hoặc các đoạn tệp). Dữ liệu “tiêu đề” khác được mã hóa là:

● Tệp ID = 17base 900 53base 900

● Bộ đếm đoạn được sử dụng

● Người gửi: CEN BE

● Người nhận: ISO CH

CHÚ THÍCH: Bộ đếm đoạn, người gửi, người nhận là ba trường tùy chọn được người sử dụng lựa chọn.

Giả sử rằng bộ mã hóa đặt các trường tùy chọn ở mã vạch đầu tiên, thì mã hóa Khối Kiểm soát Macro cho mã vạch đó như sau

… [từ mã dữ liệu cuối cùng] [928]A [111] [100][017] [053]C [923] [001]D

[111] [104][923] [003]F [064] [416] [034][923] [004]H [258] [446] [067]l

[từ mã sửa lỗi đầu tiên]

Bốn mã vạch cuối cùng có Khối Kiểm soát Macro sau đây:

[từ mã dữ liệu cuối cùng] [928]A [111] [100][017] [053]C

[923] [001][111] [104][922][từ mã sửa lỗi đầu tiên]

trong đó:

A = Từ mã đánh dấu Macrro

B = Tệp đoạn ID

Các đoạn tệp được đánh số từ 0 đến  1, và được mã hóa sử dụng phương thức nén số

Đoạn thứ nhất = 00000 = các từ mã 111, 100

Đoạn thứ tư = 00003 = các từ mã 111, 103

= Tệp ID đến base 900

D = Thẻ về trường đếm đoạn

E = Bộ đếm đoạn

F = Thẻ về trường người gửi

G = Mã hóa trường người gửi CEN BE

H = Thẻ về trường người nhận

I = Mã hóa trường người nhận ISO CH

J = Ký tự kết thúc Macro PDF417

H.5 Macro PDF417 và giao thức Diễn dịch Kênh mở rộng

Giao thức Diễn dịch Kênh Mở rộng độc lập với mã vạch được xây dựng sau PDF417 và được quy định như một mã vạch. PDF417 hỗ trợ hệ thống Phân định Nhãn Chung (GLI), tiền thân và cơ sở của giao thức ECI, từ lần xuất bản yêu cầu kỹ thuật về mã vạch đầu tiên năm 1994. Do đó, các diễn dịch GLI trước đây phải được tính đến. Có hai điều kiện khác nhau cần được tính đến:

– GLI 0 và 1 là các diễn dịch được quy định trong yêu cầu kỹ thuật về PDF417 gốc. Các yêu cầu này tương đương với ECI 000000 và ECI 000001. Các quy tắc chuẩn xác về Macro PDF417 được đề cập đến Phụ lục H.5.1.

– Tất cả các phép gán ECI khác mà cách sử dụng của nó với Macro PDF417 được quy định trong Phụ lục H.5.2.

H.5.1 Macro PDF417 với ECI 000000 và 000001 (GLI 0 và 1)

Khi các GLI thực chất là một phần của yêu cầu kĩ thuật về PDF417 gốc, theo lôgic thì cần có bộ mã hóa GLI và Macro PDF417 kết hợp trong một đơn vị. Yêu cầu kĩ thuật về mã vạch PDF417 gốc yêu cầu nguyên lý trở về GLI 0’ tại điểm bắt đầu của các mã vạch Macro PDF417 thứ hai và sau đó, do đó mỗi mã vạch bắt đầu ở diễn dịch mặc định. Đối với GLI 0 và 1 (tương đương với ECI 000000 và ECI 000001), cái này không nh hưởng đến việc mã hóa. Tuy nhiên, đối với một vài ECI phức hợp, nguyên lý trở về GLI 0’ khó thực thì theo cách độc lập với mã vạch.

Phần mềm mã hóa tuân theo yêu cầu kĩ thuật gốc về Macro PDF417, GLI 0 và 1 phù hợp hoàn toàn với các ứng dụng trước đó. Cũng như vậy đối với các ứng dụng trước đó về các GLI do người sử dụng xác định (bây giờ được gọi là các ECI) bởi theo định nghĩa thì vùng hệ thống là bắt buộc.

Tất cả các ECI đánh số là 000002 hoặc cao hơn không được xác định với nguyên lý ’trở về GLI 0’. Do đó, các mã vạch PDF417 sẽ không kết hợp ECI 000000 và ECI 000001 với bất kỳ ECI cao hơn nào (Ngoại trừ trong các hệ thống đóng).

H.5.2 Macro PDF417 và các ECI khác

Bộ mã hóa ECI có thể là một mã vạch độc lập và tạo ra dòng byte đóng vai trò như đầu vào bộ mã hóa mã vạch PDF417. Bộ mã hóa ECI hoạt động giống như có một dòng dữ liệu đơn, không kể đến kích cỡ tệp. Do đó, khi ECI được gọi ra sẽ tiếp tục tồn tại qua các đoạn cho tới ECI khác hoặc phần cuối của dữ liệu đã mã hóa. Điều này là quan trọng nếu, ví dụ, phép gán ECI biểu diễn một lược đồ mã hóa, ở đó việc trở về GLI 0 là không thích hợp.

Các bộ mã hóa Macro PDF417 phù hợp với tiêu chuẩn này không cần mã hóa ECI đang thịnh hành tại phần đầu của các mã vạch PDF417 theo sau.

CHÚ THÍCH: Cần tạo ra mã hóa phần cuối mã vạch theo lô gích, ví dụ: phương thức nén số không đứng giữa hai đoạn, nhưng hai khối nén số riêng biệt có thể được mã hóa tại phần cuối của mã vạch hoặc phần đầu của mã vạch tiếp theo. Các điều kiện này liên quan đến Macro PDF417 và Mã hóa Mức Cao (Xem Phụ lục H.3) và không phải là Macro PDF417 và các ECI.

H.6 Truyền dữ liệu Macro PDF417

Truyền thông tin Khối Kiểm soát Macro PDF417 được xử lý theo cách tương tự với các ECI diễn dịch. Giao thức ECI độc lập với mã vạch được xác định dưới đây, giao thức PDF417 gốc được nêu trong Phụ lục M. Mặc dù Khối Kiểm soát Macro được mã hóa tại phần cuối của dữ liệu mã vạch nhưng nó vẫn được truyền trước dữ liệu mã vạch khi sử dụng giao thức ECI.

Ba từ mã (922, 923 và 928) báo hiệu việc mã hóa Khối Kiểm soát Macro PDF417 hoặc một trong các phần hợp thành của nó. Việc giải mã như sau:

1. Nếu từ mã đánh du Macro (928) bt đầu chuỗi:

a. Từ mã 928 được truyền như chuỗi thoát 92, 77, 73, biểu diễn \MI’ trong diễn dịch mặc định.

b. Hai từ mã tiếp theo phân định chỉ số đoạn. Các từ mã này được mã hóa trong phương thức nén số và giải mã thành số có năm chữ số trong dãy 00000 đến 99998.

c. Các từ mã tiếp theo mã hóa trường tệp ID, trường này phải giống với tất cả mã vạch Macro PDF417 liên quan. Điểm cuối của trường tệp ID là từ mã 922, từ mã 923, hoặc phần cuối của dữ liệu mã hóa trong mã vạch. Mỗi từ mã được chuyển thành số có 3 chữ số trong dãy 000 đến 899 (ví dụ: số từ mã) và được truyền như các giá trị ba byte (trong dãy thập phân 48 đến 57) tiếp theo là tiêu đề thoát: 92, 77, 70, biểu diễn \MF’ trong diễn dịch mặc định.

2. Nếu từ mã thẻ chuỗi Macro (923) bắt đầu chuỗi:

a. Từ mã 923 được truyền như chuỗi thoát 92, 77, 79, biểu diễn \MO’ trong diễn dịch mặc định.

b. Từ mã tiếp theo biểu diễn một trong các bộ miêu tả trường tùy chọn trong Bảng H.1 được truyền như một byte đơn biểu diễn giá trị ASCII của bộ miêu tả.

c. Các từ mã tiếp theo mang nội dung dữ liệu của bộ miêu tả trường tùy chọn. Điểm cuối của trường tùy chọn là từ mã 922, từ mã 923, hoặc phần cuối của dữ liệu được mã hóa trong mã vạch. Các từ mã xen ngang phải được biến đổi theo các quy tắc giải mã của phương thức nén liên quan có trong Bảng H.1. Dữ liệu kết quả có thể là độ dài biến.

3. Nếu ký tự kết thúc Macro PDF417 (từ mã 922) được phân định, thì chuỗi thoát 92, 77, 90, biểu diễn ‘\MZ’ trong diễn dịch mặc định phải được truyền.

4. Tại phần cuối của Khối Kiểm soát Macro, mà được xác định bởi phần cuối của dữ liệu mã hóa trong mã vạch, chuỗi thoát 92, 77, 89 biểu diễn ‘\MY’ trong diễn dịch mặc định phải được truyền.

CHÚ THÍCH: Chuỗi thoát này không được mã hóa rõ ràng trong mã vạch.

Tất cả các trường Khối Kiểm soát Macro về mã vạch (đoạn) phải được truyền như một khối đơn bắt đầu với \MI… và kết thúc với \MY. Quá trình truyền Khối Kiểm soát Macro phải diễn ra trước quá trình truyền phần còn lại của đoạn tệp mã hóa, thậm chí nó được mã hóa tại phần cuối của mã vạch.

VÍ DỤ:

Khối Kiểm soát Macro của mã vạch đầu tiên, Chỉ số Đoạn = 0, với Tệp ID (100, 200, 300) được mã hóa trong mã vạch như chuỗi từ mã:

[928] [111] [100] [100] [200] [300]

Nó được truyền như:

Truyền dữ liệu (byte):

92, 77, 73, 48, 48, 48, 48, 48, 92, 77, 70, 49, 48, 48, 50, 48, 48, 51, 4848, 92, 77, 89

Diễn dịch ASCII:

\MI00000\MF100200300\MY

Khi các mã vạch Macro PDF417 được quét, chức năng de-packetizing khôi phục gói tin gốc, nhớ rằng các mã vạch có thể được quét bên ngoài chuỗi. Nếu hệ thống hoạt động theo phương thức đệm thì chức năng de-packetizing sẽ tồn tại trong bộ giải mã; còn nếu hệ thống hoạt động theo phương thức không đệm thì nó sẽ tồn tại trong hệ thống nhận.

Các bộ giải mã phải cung cấp phương tiện về bộ giải mã, nhờ vậy việc sử xử lý tệp ID của Macro PDF417 có thể bị gián đoạn, do đó cho phép bộ giải mã bắt đầu xử lý tệp ID mới. Cần phải ngăn chặn sự bế tắc tác động lên các mã vạch của tệp ID đã cho bị thiếu hoặc không thể giải mã.

H.6.1 Hoạt động trong phương thức đệm

Trong phương thức đệm, chức năng de-packetizing phải được thực hiện trong bộ đọc/bộ giải mã. Tùy thuộc vào cu hình của thiết b, nó sẽ:

– gửi dữ liệu được tái lập không có khối kiểm soát Macro

Hoặc

– gửi một khối kiểm soát Macro (mà bản thân nó có thể được lập lại để bao gồm tất cả các trường tùy chọn trong mọi mã vạch) để đến trước toàn bộ gói tin được mã hóa. Khối kiểm soát Macro kết quả có trường ch số Macro đặt là 0 và bao gồm trường kết thúc tệp Macro (để đánh du toàn bộ gói tin được tái lập đầu tiên và chỉ có đoạn Macro của chuỗi giả mạo).

H.6.2 Hoạt động trong phương thức không đệm

Trong phương thức không đệm, chức năng de-packetizing phải được thực hiện trong hệ thống nhận. Mỗi khối kiểm soát Macro được truyền biểu diễn tất cả các trường yêu cầu và tùy chọn thực tế được mã hóa trong mã vạch.

Khi được tạo cấu hình trong phương thức không đệm, bộ giải mã có thể được tạo cấu hình một cách tùy chọn không yêu cầu các mã vạch kế tiếp có cùng tệp ID. Quy trình này chỉ phù hợp nếu bộ mã hóa được tạo cấu hình để truyền khối kiểm soát Macro PDF417 đến hệ thống nhận, và hệ thống nhận này được thiết kế để giám sát một đoạn tệp ID của khối kiểm soát nhằm xác định khi nào toàn bộ tệp được xử lý. Các mã vạch với tệp ID hoặc phi tệp ID khác nhau (ví dụ: mã vạch đơn không phải là một phần của bộ Macro PDF417) được xác định bởi hệ thống nhận

Để tạo thuận lợi cho việc kiểm tra tất cả các mã vạch trong bộ Macro PDF417 được nhận trong phương thức hoạt động không đệm, trường đếm đoạn tùy chọn phải được sử dụng bất cứ khi nào có thể như một phần của khối kiểm soát Macro đã mã hóa.

H.6.3 Bộ truyền điều chỉnh về 0

Các yêu cầu kỹ thuật về PDF417 của AIM Mỹ (1994) và AIM Châu Âu (1994) xác định GLI 0 và GLI 1 có các nguyên tắc khác với các nguyên tắc về ECI, bộ đọc tuân theo Tiêu chuẩn quốc tế này, trong hai tình huống sau đây, phải có thêm các chuỗi thoát khi truyền các mã vạch chứa các dẫn chứng GL1:

1. Bộ giải mã truyền chuỗi thoát GLI 0 hoặc chuỗi thoát ECI 000000 (phụ thuộc vào giao thức truyền được lập trình để sử dụng) sau khi truyền dữ liệu của mã vạch Macro PDF417 trong đó dữ liệu của nó kết thúc trong diễn dịch GLI 1 (ECI 000001).

2. Bộ giải mã truyền GLI 1 (ECI 000001) tại lúc bắt đầu của mỗi trường tùy chọn có độ dài biến đã mã hóa trong phương thức nén văn bản trong khối kiểm soát Macro, nếu dữ liệu đến trước trường đó kết thúc trong diễn dịch GL1 (ECI 000001).

Yêu cầu này áp dụng khi hoạt động trong phương thức đệm hoặc không đệm, và liệu bộ giải mã có được lập trình để truyền bằng cách sử dụng giao thức ECI hoặc giao thức truyền PDF417 gốc hay không.

 

Phụ lục I

(quy định)

Kiểm tra chất lượng mã vạch PDF417

Như đã quy định trong điều 5.14.4, chất lượng mã vạch PDF417 được đánh giá theo phương pháp quy định trong ISO/IEC 15415 về việc ước định các mã vạch nhiều hàng với khả năng quét hàng chéo.

Nói tóm lại, các mã vạch PDF417 được phân cấp như sau:

– Phân tích đồ thị đặc tính phản xạ quét khi quét, chỉ áp dụng cho các dấu hiệu bắt đầu và kết thúc

– Lưu lượng từ mã, chỉ áp dụng cho các từ mã dữ liệu và sửa lỗi, trong đó đo tính hiệu quả mà các máy quét một chiều có thể phục hồi dữ liệu từ mã vạch. Lưu lượng từ mã là số các từ mã được giải mã biểu diễn bằng tỉ lệ phần trăm số các từ mã tối đa có thể được giải mã, ví dụ: số cột dữ liệu trong mã vạch nhân với số máy quét “chuẩn” (sau khi điều chỉnh độ nghiêng).

– Sửa lỗi chưa sử dụng, chỉ áp dụng cho các từ mã dữ liệu và các từ mã sửa lỗi, trong đó biểu diễn số lỗi và vết xóa như một chức năng của khả năng sửa lỗi của mã vạch.

– Chất lượng in từ mã, chỉ áp dụng cho các từ mã dữ liệu và các từ mã sửa lỗi, trong đó cho phép khả năng giải mã, các nhược điểm và tham số điều chế của các đồ thị đặc tính phản xạ quét khi quét bao trùm toàn bộ vùng dữ liệu về mã vạch được phân cấp, sau đó các phân cấp này được thay đổi cho phép sự tác động của sửa lỗi trong tấm chắn ít hơn các thuộc tính của mã vạch mà ảnh hưởng đến chất lượng mã vạch.

Dựa trên bản phân tích đồ thị đặc tính phản xạ quét khi quét, các phân cấp dựa trên Lưu lượng Từ mã, Sửa lỗi chưa sử dụng, chất lượng in từ mã và cấp tổng thể của mã vạch phải là thấp nhất,

 

Phụ lục J

(quy định)

Thuật toán giải mã tham chiếu về PDF417

Phụ lục này mô tả thuật toán giải mã tham chiếu sử dụng trong việc tính khả năng giải mã khi đánh giá chất lượng mã vạch sử dụng phương pháp đã mô tả trong ISO/IEC 15415.

Khi đánh giá chất lượng mã vạch qua việc sử dụng thuật toán giải mã tham chiếu này, mã vạch PDF417 được giải mã trong chuỗi các dòng quét chạy qua mã vạch, đi qua ít nhất một kí tự bắt đầu hoặc kết thúc, nhưng không nhất thiết theo từng hàng một. Cần giải mã mã vạch nếu dòng quét đi qua hai hoặc nhiều hàng bằng cách sử dụng số cụm. Việc giải mã các chuỗi vạch-khoảng trống của kí tự mã vạch đạt được bằng cách sử dụng các phương pháp đo cạnh – cạnh’ (e)

Mã vạch PDF417 được mã hóa theo bốn giai đoạn:

1. Khởi tạo – thiết lập ma trận mã vạch.

2. Giải mã dòng sử dụng thuật toán giải mã tham chiếu

3. Hoàn thiện ma trận

4. Giải thích

J.1 Khi tạo

Số giải mã dòng đầy đủ (xem Phụ lục J.2) được thực hiện tại lúc bắt đầu quá trình giải mã để thiết lập các tham số cấu trúc mã vạch (số hàng r, số cột c) và các mức sửa lỗi. Thông tin này được mã hóa trong các chỉ báo hàng trái và phải, kế tiếp là các ký tự bắt đầu và kết thúc.

Sau khi các tham s cấu trúc mã vạch được khởi tạo, ma trận được thiết lập phản ánh kích c (từng hàng, từng cột) của mã vạch được giải mã. Ma trận không bao gồm các ký tự bắt đầu, kết thúc và các chỉ báo hàng.

J.2 Thuật toán giải mã tham chiếu về giải mã dòng

Dòng quét có khả năng giải mã chứa ít nhất: một vùng trống, kí tự bắt đầu hoặc kết thúc, một chỉ báo hàng và một hoặc nhiều kí tự mã vạch trong miền dữ liệu. Dòng quét có thể đi qua nhiều hàng. Thuật toán chứa các bước giải mã dòng sau đây:

1. Xác nhận sự có mặt của vùng trống.

2. Đối với mỗi chuỗi vạch-khoảng trống của ký tự mã vạch (bao gồm kí tự bắt đầu và kết thúc) tính các phép đo độ rộng sau đây theo Hình J.1:

Hình J.1 – Các phép đo giải mã

3. Thay đổi các phép đo e1, e2, e3e4, e5 và e6 thành các giá trị chuẩn hóa E1E2E3, E4, E5 và E6, các giá trị này biểu diễn độ rộng môđun đầy đủ của các phép đo này. Phương pháp sau đây được sử dụng cho giá trị thử i.

nếu 1,5p / 17 ≤ ei <2,5p / 17, thì Ei = 2

nếu 2,5p / 17 ≤ ei <3,5p / 17, thì Ei = 3

nếu 3,5p / 17 ≤ ei <4,5p / 17, thì Ei = 4

nếu 4,5p / 17 ≤ ei <5,5p / 17, thì Ei = 5

nếu 5,5p / 17 ≤ ei <6,5p / 17, thì Ei = 6

nếu 6,5p / 17 ≤ ei <7,5p 17, thì Ei = 7

nếu 7,5p / 17 ≤ ei <8,5p / 17, thì Ei = 8

nếu 8,5p / 17 ≤ ei <9,5p / 17, thì E= 9

Mặt khác chuỗi vạch-khoảng trống của kí tự mã vạch bị lỗi.

4. Sau khi tìm ra kí tự bắt đầu hoặc kết thúc, thử giải mã chỉ báo hàng, và nhiều kí tự mã vạch cũng như số cột trong ma trận, theo hướng từ kí tự bắt đầu hoặc kết thúc được giải mã. Giải mã các chuỗi vạch-khoảng trống của kí tự mã vạch như bước 5.

5. Tính số cụm kí tự mã vạch K:

K = (E1 – E2 + E5 – E6 + 9) mod 9

CHÚ THÍCH 1: Công thức này cho các kết quả giống với phương trình trong điều 4.3.1.

Số cụm K bằng 0, 3 hoặc 6; mặt khác kí tự mã vạch và từ mã liên kết của nó bị lỗi.

6. Lấy lại từ mã từ bảng gii mã (Phụ lục A) sử dụng bảy giá trị (giá trị cụm K và các giá trị E1, E2E3, E4E5 và E6) như khoá. Các giá trị này có thể được tính toán trực tiếp từ các giá trị chuỗi vạch-khoảng trống được quy định trong Phụ lục A.

CHÚ THÍCH 2: Việc tính toán hoàn toàn sử dụng số cụm để phát hiện tất cả các lỗi giải mã gây ra bởi các lỗi đường biên một môđun phi hệ thống.

7. Trước kia, khi các kí tự bắt đầu và/hoặc kết thúc hợp lệ được thiết lập thì các từ mã về chỉ báo hàng trái và/hoặc chỉ báo hàng phải được sử dụng để thiết lập các tham số cấu trúc mã vạch. Phép nghịch đảo của các phương trình trong điều 5.11.3.1 và 5.11.3.2 được sử dụng để thiết lập: số hàng (F), số các hàng (r), số các cột (c) và mức điều chỉnh lỗi (s).

8. Thực hiện các lần kiểm tra thứ hai khác (gia tốc quét, các kích thước định thời tuyệt đối, các vùng trống v.v.) một cách cn thận và phù hợp với các đặc tính riêng của thiết b đọc.

J.3 Lấp đầy ma trận

Quy trình sau đây được sử dụng để lấp đầy ma trận hàng (r) bằng cột (c) thiết lập bởi quy trình khởi tạo:

1. Đặt giá trị đầu của bộ đếm vết xóa v bằng r x c

2. Với mỗi tia quét, thử giải mã nhiều từ mã cũng như số cột của ma trận.

3. Các kết quả giải mã hợp lệ được đặt trong ma trận tại các vị trí thích hợp của chúng được xác định bởi số hàng (từ các chỉ báo hàng) và giá trị cụm.

Nếu hàng chéo xuất hiện thì dòng quét sẽ có số hàng khác nhau được biểu thị bởi các chỉ báo hàng trái và phải. Số cụm được sử dụng để tự thêm vào số hàng chính xác cho mỗi từ mã hợp lệ riêng lẻ.

VÍ DỤ: Một tia quét có các ký tự bắt đầu và kết thúc hợp lệ và có các chỉ báo hàng trái với số hàng 7 và chỉ báo hàng phải với số hàng 10. Có 10 cột trong ma trận. Dòng quét không giải mã ba t mã bởi vì nó không giữ lại toàn bộ từ mã trong một hàng để chuyển hết, tuy nhiên vị trí của các từ mã ‘thiếu’ này được biết từ các bộ đếm thời phần tử.

Hình J.2 – Biểu diễn bằng lược đồ các hàng chéo của dòng quét

Các cụm là: ẩn số, 6, 6, 6, n số, 0, 0, ẩn số, 3, 3.

Sử dụng ma trận ký hiệu r (hàng), c (cột), các từ mã được lấp đầy trong các vị trí:

n số, (8, 2), (8, 3), (8, 4), ẩn số, (9, 6), (9, 7), ẩn số, (10, 9), và (10, 10)

CHÚ THÍCH: Trong ví dụ này ta thấy dòng quét đi qua bốn hàng, kết quả là giải mã thành công 70 % từ mã.

4. Khi ma trận được lấp đầy thì bộ đếm vết xóa v giảm đi một đối với mỗi từ mã hợp lệ.

5. Nếu mức sửa lỗi khác 0 thì việc khôi phục lỗi có thể được thử nghiệm khi số từ mã không xác định (bộ đếm vết xóa v) thoả mãn các phương trình trong điều 5.7.2 (với I và f = 0). Nếu việc khôi phục lỗi thất bại thì sẽ có nhiều từ mã hơn được thu thập.

6. Nếu mức sửa lỗi bằng 0 thì công nhận hai từ mã sửa lỗi.

Để biết thêm chi tiết về việc sửa và phát hiện lỗi, xem trong Phụ lục K.

J.4 Diễn dịch

Bắt đầu từ trạng thái ban đầu của phương thức con Alpha của phương thức nén văn bản, các từ mã dữ liệu được diễn dịch theo các phương thức nén.

 

Phụ lục K

(quy định)

Quy trình điều chỉnh lỗi

Khi toàn bộ số từ mã không xác định v ít hơn hoặc bằng giá trị I trong phương trình thích hợp ở điều 5.7.2, trong đó f = 0, thì lược đồ khôi phục có thể được gọi ra. Các từ mã không xác định được thay thế bởi các số 0 và vị trí của từ mã không xác định thứ l là ji với I = 1, 2, …v. Xây dựng đa thức ký tự mã vạch như sau:

C (x) = Cn-1xn-1 + Cn-2xn-2 + …+C1x+ C0

trong đó: các hệ số n lọc là bộ đọc các từ mã, với Cn-1 là từ mã đầu tiên

n = tổng số từ mã

Tính các giá trị syndrome k (S1 đến Sk) bằng:

C(x) tại = 3i

với = 1 đến i = k

trong đó k = số kí tự sửa lỗi trong mã vạch = 2s+1

Mạch tạo các syndrome được biểu diễn trong Hình K.1

Khi các vị trí của các từ mã không xác định trong ma trận mã vạch được biết từ jl với = 1, 2,…v, đa thức định v lỗi về các vị trí xác định có thể được tính:

s(x) = (1 – b1x) (1 – b2x)…(1 – bvx)

= 1 x s1x + … + svxv

trong đó: bl 3jl

Đa thức định vị lỗi, s(x), có thể được cập nhật để bao trùm vị trí các lỗi. Điều này được thực hiện bằng cách sử dụng thuật toán Berlekamp-Massey. Xem thư mục về văn bản gốc.

Tại vị trí này xác nhận rằng số lỗi và vết xóa thoả mãn phương trình về khả năng sửa lỗi phù hợp trong điều 5.7.2.

s(x) = 0 cho biết vị trí các lỗi t, trong đó t ≥ 0, nếu t = 0 thì không có lỗi. Cần tính giá trị lỗi, ejl, với vị trí jll = 1,…v + t. Để tính các giá trị lỗi một đa thức phụ, đa thức được xác định như sau:

Z(x) = 1 + (s+ s1)x + (s2 s1s1 + s2)x2 +…+ (sh s1sh-1 + s2sh-2 + sh)xh

trong đó: h v + t

Giá trị lỗi tại vị trí ji là:

Sau khi giải quyết thành công các giá trị lỗi, phần bù của các giá trị lỗi được bổ sung vào các từ mã tại các vị trí tương ứng.

 

Phụ lục L

(quy định)

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

Phương pháp đồng nhất quy định trong trong ISO/IEC 15424 được sử dụng để báo cáo việc đọc mã vạch, các lựa chọn trong bộ đọc và các đặc tính đặc biệt của mã vạch gặp phải.

Số phân định mã vạch về PDF417 là:

]Lm

Trong đó:

là kí tự cờ hiệu của số phân định mã vạch (ASCII 93)

L là số phân định mã vạch về PDF417

m là kí tự thay đổi với một trong nhiều giá trị nêu trong Bảng L.1.

Bảng L.1 – Các giá trị thay đổi của số phân định mã vạch về PDF417

m

Lựa chọn

0

Bộ đọc phù hợp với giao thức nêu trong các yêu cầu kỹ thuật về PDF417 của AIM Mỹ (1994) và AIM Châu Âu (1994) (xem Phụ lục M).a

1

Bộ đọc theo sau giao thức về Diễn dịch Kênh Mở rộng của tiêu chuẩn này (xem 5.17.2). Tất cả các ký tự dữ liệu 92 được nhân đôi.

2

Bộ đọc theo sau giao thức về Điều hành Kênh cơ sở của tiêu chuẩn này (4.17.1). Ký tự dữ liệu 92 không được nhân đôi.b
a Khi lựa chọn này được truyền, người nhận không thể xác định liệu các ECI có được gọi ra hay không, hoặc liệu byte dữ liệu 92 có được nhân đôi trong khi truyền hay không.

b Khi các bộ giải mã được lập trong phương thức này, thì các mã vạch Macro PDF417 không đệm và các mã vạch yêu cầu bộ giải mã để truyền các chuỗi thoát ECI không được truyền

Thông tin này không được mã hóa trong mã vạch, nhưng được tạo ra bởi bộ giải mã sau khi giải mã và được truyền như một lời mở đầu cho gói tin dữ liệu.

 

Phụ lục M

(quy định)

Giao thức truyền về bộ giải mã tuân theo các tiêu chuẩn PDF417 gốc

Các yêu cầu kĩ thuật về mã vạch PDF417 trước đây hỗ trợ: Phương thức Kênh Cơ sở, số phân định Nhãn Chung (tiền thân của Diễn dịch Kênh Mở rộng độc lập với mã vạch) và Macro PDF417 (không hợp nhất hoàn toàn với giao thức ECI). Phụ lục này:

 Xác định giao thức truyền phù hợp với yêu cầu kỹ thuật gốc mà có thể vẫn được sử dụng.

 Đề cập đến các vấn đề về sự tương thích.

M.1 Phương thức kênh cơ sở

Trong Kênh cơ sở, tất cả các kí tự dữ liệu mã vạch được dịch theo các phương thức nén hiện hành, và được bao hàm trong phép truyền dữ liệu như chuỗi các byte 8 bít. Các ký tự bắt đầu và kết thúc, các chỉ báo hàng, Mô tả độ dài mã vạch, các từ mã chuyển phương thức và các từ mã sửa lỗi không được truyền.

CHÚ THÍCH: Điều này giống với quy trình trong 5.17.1.

Các bộ giải mã gốc đưa ra số phân định mã vạch ]L0, hoặc có thể không truyền tựa đề của số phân định mã vạch.

M.2 Mã vạch mã hóa GLI

Chỉ có GLI 0 và GLI 1 được quy định trước, nhưng việc truyền tất cả chuỗi thoát GLI/ECI được hỗ tr bởi giao thức gốc. Ba từ mã (925, 926 và 927) báo hiệu việc mã hóa giá trị GLI và được giải mã như các giá trị byte như sau:

1. Nếu chuỗi GLI bắt đầu với từ mã 927:

a. Từ mã 927 được truyền là chuỗi thoát 4 byte 92, 57, 50, 55, biểu diễn ‘\927′ trong diễn dịch ASCII.

b. Từ mã tiếp theo biểu diễn số GLI trong dãy 000 đến 899. Từ mã được chuyển thành giá trị 3 chữ số. Giá trị 3 chữ số được truyền như các giá trị byte thích hợp (48 đến 57), đi trước là byte 92.

VÍ DỤ:

Mã hóa mã vạch:  [927] [001]

Truyền dữ liệu (byte): 92, 57, 50, 55, 92, 48, 48, 49

Diễn dịch ASCII: \927\001

2. Nếu chuỗi GLI bắt đầu với từ mã 926:

a. Từ mã 926 được truyền là chuỗi thoát 4 byte 92, 57, 50, 54, biểu diễn ‘\926’ trong diễn dịch ASCII

b. Hai từ mã tiếp theo (các từ mã từ 000 đến 899 được chấp nhận) biểu diễn số ECI như sau:

Từ mã 1 = ECI_no div 900-1

Từ mã 2 = ECI_no mod 900

Mỗi từ mã được chuyển thành giá trị 3 chữ số. Giá trị 3 chữ số được truyền như các giá trị byte thích hợp (48 đến 57), đi trước là byte 92.

VÍ DỤ:

Mã vạch mã hóa:  [926] [136] [156]

Truyền dữ liệu (byte): 92, 57, 50, 54, 92, 49, 51, 54, 92, 49, 53, 54

Diễn dịch ASCII: \926\136\156

3. Nếu chuỗi GLI bắt đầu với từ mã 925:

a. Từ mã 925 được truyền như chuỗi thoát 4 byte 92, 57, 50, 53, biểu diễn ‘\925’ trong dịch ASCII.

b. Từ mã tiếp theo biểu diễn số người sử dụng xác định GLI không có 810 900 (bất kì từ mã từ 000 đến 899 được chấp nhận). Từ mã này được chuyển thành giá trị 3 chữ số. Giá trị 3 chữ số được truyền như các giá trị byte phù hợp (48 đến 57), đi trước là byte 92.

VÍ DỤ:

Mã vạch mã hóa: [925] [456]

Truyền dữ liệu (byte): 92, 57, 50, 53, 92, 52, 53, 54

Diễn dịch ASCII: \925\456

Quy trình được nhắc lại với mỗi lần GLI xuất hiện.

CHÚ THÍCH 1: Minh họa các ví dụ ECI tương tự, nhưng sử dụng giao thức ECI được quy định trong điều 5.17.2.

Nếu dấu gạch chéo ngược hoặc ký tự khác biểu diễn bởi byte 92 cần được sử dụng như dữ liệu mã hóa, thì việc truyền sẽ là như sau. Bất cứ khi nào byte 92 xuất hiện như dữ liệu, thì hai byte của dữ liệu đó phải được truyền; do đó lần xuất hiện đơn luôn là một kí tự thoát và lần xuất hiện kép cho biết dữ liệu thực.

VÍ DỤ:

Dữ liệu mã hóa: A\\B\C

Sự truyền: A\\\\B\\C

Kí tự thoát mặc định có thể được thay đổi trong bộ giải mã (trong trường hợp hệ thống nhận phải được định hình để phù hợp), nhưng các giá trị byte từ 47 đến 58 (được diễn dịch như các chữ số) không được sử dụng.

CHÚ THÍCH 2: Trong giao thức ECI (xem 5.17.2) kí tự thoát được ấn định tại byte 92.

Như một lựa chọn, các bộ giải mã có thể có phương thức hoạt động ở đó không kí tự thoát nào được xác định, các bộ đọc như vậy không thể truyền các chuỗi thoát hoặc nhân đôi các kí tự dữ liệu. Do đó, phương thức này không thể hỗ trợ việc truyền các chuỗi thoát ECI, hoặc các Khối Kiểm soát Macro PDF417.

M.3 Mã vạch Macro PDF417

Khi hoạt động theo giao thức truyền PDF417 gốc, khi bộ giải mã PDF417 xử lý mã vạch Macro PDF417 với tệp ID cho trước, nó phải giải mã và truyền tất cả mã vạch cho tệp ID đó trước khi có thể truyền các mã vạch khác. Yêu cầu này áp dụng cho các phương thức truyền sau đây.

M.3.1 Truyền trong phương thức đệm

Hệ thống truyền đệm yêu cầu bộ giải mã thu thập toàn bộ bộ mã vạch trước giao thức truyền của nó. Việc xử lý các trường bắt buộc của Khối Kiểm soát Macro được xử lý bên trong. Việc truyền các trường tùy chọn có thể được kích hoạt hoặc không kích hoạt riêng lẻ trong bộ giải mã. Các trường tùy chọn, nếu có, phải được truyền một lần tại phần cuối của toàn bộ bộ dữ liệu. Mỗi trường bắt đầu với việc truyền chuỗi th về trường tùy chọn của Macro PDF417 tương ứng. Chuỗi thẻ bao gồm từ mã 923 được theo sau bởi giá trị thẻ được nêu trong Bảng H.1; chuỗi này được truyền bằng cách sử dụng ký tự thoát như trong Phụ lục M.2. Nội dung giải mã mức cao của trường được truyền sau chuỗi thẻ này.

M.3.2 Truyền trong phương thức không đệm

Hệ thống truyền không đệm cho phép bộ giải mã truyền các mã vạch riêng lẻ khi chúng được giải mã.

Khi sử dụng lược đồ không đệm, việc truyền Tiêu đề Kiểm soát Macro PDF417 phải được kích hoạt, bởi vì các mã vạch trong lược đồ không đệm không được bộ đọc đặt ở bên trong. Điều này cho phép hệ thống máy ch áp đặt thứ tự chính xác trên dữ liệu nhận.

Việc truyền Tiêu đề Kiểm soát Macro PDF417 có thể được kích hoạt hoặc không được kích hoạt. Tiêu đề Kiểm soát Macro PDF417 là một phần của Khối Kiểm soát Macro PDF417 (xem Hình H.1), bao gồm từ mã đánh dấu 928, Chỉ số Đoạn (trong phương thức nén số), và chuỗi từ mã Tệp ID. Khi việc truyền Tiêu đề Kiểm soát được kích hoạt, từ mã đánh dấu và các từ mã Tệp ID phải được truyền bằng cách sử dụng ký tự thoát như đã đề cập trong Phụ lục M.2. Ví dụ, Tiêu đề Kiểm soát Macro PDF417 của mã vạch đầu tiên, Chỉ số Đoạn = 0, với Tệp ID (100, 200, 300) được mã hóa trong mã vạch như chuỗi từ mã:

[928] [111] [100] [100] [200] [300]

và (giả sử rằng ký tự thoát mặc định 92) được truyền như:

Truyền dữ liệu (byte):

92, 57, 50, 56, 48, 48, 48, 48, 48, 92, 49, 48, 48, 92, 50, 48, 48, 92, 51, 48, 48

Diễn dịch ASCII: \92800000\100\200\300

Nếu được kích hoạt, Tiêu đề Kiểm soát Macro PDF417 được truyền sau dữ liệu mã hóa trong mã vạch.

Khi chuỗi GLI cuối cùng được truyền bởi bộ đọc trừ GLI 0, thì dữ liệu đã truyền từ đoạn đó được kết thúc với chuỗi byte: 92, 57, 50, 55, 92, 48, 48, 48 (ASCII tương đương: \927\000) giống như dữ liệu của mã vạch kết thúc với chuỗi các từ mã [927] [000]. Điều này quay về diễn dịch của khối tiếp theo trở lại GLI 0.

Việc truyền các trường tùy chọn có thể được kích hoạt hoặc không được kích hoạt riêng lẻ trong bộ giải mã. Các trường tùy chọn đã kích hoạt được truyền với mỗi mã vạch Macro PDF417 ở đó chúng được mã hóa. Mỗi trường bắt đầu với việc truyền chuỗi thẻ về trường tùy chọn của Macro PDF417 tương ứng. Chuỗi thẻ bao gồm từ mã 923 được theo sau bởi giá trị thẻ như đã nêu trong Bảng 2; chuỗi này phải được truyền bằng cách sử dụng kí tự thoát như quy định trong Phụ lục M.2. Nội dung giải mã mức cao của trường được truyền sau chuỗi thẻ này.

Dựa trên việc truyền dòng dữ liệu đã mã hóa, thật khó để xác định giới hạn tồn tại giữa phần cuối Khối Kiểm soát Macro (đặc biệt nếu chứa các trường tùy chọn) và phần đầu nội dung dữ liệu của mã vạch tiếp theo. Giao thức truyền của hệ thống này (ví dụ: sử dụng các ký tự thoát của phép truyền thường STX và ETX hoặc các quy trình ‘hand shaking’ khác) có thể được sử dụng để xác định các giới hạn giữa các mã vạch Macro PDF417 đã truyền.

Để tạo điều kiện cho việc kiểm tra tất cả các mã vạch trong bộ Macro PDF417 được nhận trong hoạt động không đệm, trường Đếm Đoạn tùy chọn phải được sử dụng bất cứ khi nào có thể như một phần của Khối Kiểm soát Macro đã mã hóa.

M.4 Truyền các từ mã dự trữ sử dụng giao thức PDF417 gốc

Khi hoạt động theo giao thức truyền PDF417 gốc, các bộ giải mã phải truyền từ mã dự trữ như kí tự thoát (mặc định 92) được theo sau bởi ba số, ba số này biểu diễn giá trị thập phân của từ mã dự trữ. Các từ mã dữ liệu theo sau từ mã dự trữ được diễn dịch và truyền theo phương thức nén hiện hành trước từ mã dự trữ. Cụ thể là, diễn dịch sẽ là từ mã dự trữ chèn từ mã latch vào phương thức nén hiện hành.

Một latch như vậy, khi trong phương thức nén số hoặc Byte, khởi tạo lại nhóm các từ mã mới. Nếu phương thức phổ biến là nén văn bản thì kết quả là khởi tạo lại phương thức con của phương thức nén văn bản.

Trong khi giao thức này có thể truyền hợp thức cú pháp gói tin của từ mã dự trữ mà định nghĩa trong tương lai của nó cung cấp một chức năng báo hiệu, nó không cung cấp kết quả rõ ràng cho phương thức nén mới. Do đó, khi sử dụng giao thức truyền PDF417 gốc, bộ nhận phải xóa mọi dữ liệu theo sau chuỗi thoát biểu diễn từ mã của phương thức nén mới xác định.

M.5 Việc đạt được tính tương thích giữa thiết bị PDF417 cũ và mới

M.5.1 Bộ mã hóa

Phần giới thiệu về các Diễn dịch Kênh Mở rộng độc lập với mã vạch muốn nói rằng cần phân chia các chức năng của mã hóa ECI từ mã hóa mã vạch. Trên thực tế, về bản chất mã hóa GLI được kết nối với mã vạch PDF417. Dòng từ mã mã hóa là tương đương nhau, liệu mã vạch có được mã hóa trên các bộ mã hóa mới hoặc hiện có hay không. Nó có khả năng mã hóa, ví dụ, dữ liệu phù hợp với diễn dịch ECI 000123 (mà bản thân nó không được xác định ở ngày công bố tiêu chuẩn này) theo bộ mã hóa GLI đặc thù của PDF417 hoặc trên bộ mã hóa ECI độc lập với mã vạch cấp đầu tiên theo sau đó là bộ mã hóa mã vạch PDF417 cấp thứ hai.

Có hai quy định:

– return-to-GLI 0 logic chỉ áp dụng cho GLI 0 (ECI 000000) và GLI 1 (ECI 000001).

– GLI 0 và 1 không được kết hợp với các ECI khác trong cùng một mã vạch, hoặc bộ Macro PDF417.

M.5.2 Bộ giải mã

Giải pháp cho tính liên tác giữa các bộ giải mã PDF417 giao thức mới và gốc là việc truyền tiền tố của số phân định mã vạch bất cứ khi nào bộ giải mã được định hình cho hoạt động mới của phương thức kênh mở rộng, và sử dụng theo yêu cầu tiền tố đó bất cứ khi nào thiết bị PDF417 mới hoặc cũ được kết hợp tại cùng lúc cài đặt. Một bộ giải mã kích hoạt hoạt động của phương thức kênh mở rộng (thậm chí nếu đọc lẫn các mã vạch của phương thức kênh mở rộng và phương thức kênh cơ sở) sẽ gửi số phân định mã vạch với mỗi phép truyền.

CHÚ THÍCH: Các yêu cầu kĩ thuật về PDF417 của AIM Mỹ (1994) gốc và AIM Châu Âu (1994) không yêu cầu việc sử dụng số phân định mã vạch, thậm chí khi nhân đôi ký tự thoát (mặc định là 92). Phù hợp với giao thức ECI như đã quy định trong tiêu chuẩn này, yêu cầu sử dụng số phân định mã vạch.

Các bộ giải mã tuân theo một trong các điều kiện sau đây:

A Phù hợp hoàn toàn với giao thức ECI và tiêu chuẩn này:

1. Truyền số phân định mã vạch thích hợp.

2. Khả năng được đặt hoặc chuyển đến phương thức kênh cơ sở hoặc hoạt động phương thức kênh mở rộng.

3. Truyền giao thức ECI như đã quy định trong tiêu chuẩn này (xem 5.17.2).

4. Xử lý Macro PDF417 như đã quy định trong tiêu chuẩn này.

B Phù hợp với các tiêu chuẩn năm 1994:

B.1 Phối hợp với thiết b mới, và các mã vạch đã mã hóa của ECI

1. Truyền số phân định mã vạch ‘]L0’.

2. Khả năng được đặt hoặc chuyển đến phương thức kênh cơ sở hoặc hoạt động phương thức kênh mở rộng.

3. Truyền giao thức GLI như đã quy định trong M.2

4. Xử lý Macro PDF417 như đã quy định trong M.3.

B.2 Nhưng không phối hợp với thiết bị mới, và các mã vạch đã mã hóa của ECI.

1. Không truyền số phân định mã vạch.

2. Khả năng được đặt hoặc chuyển đến phương thức kênh cơ sở hoặc hoạt động phương thức kênh mở rộng.

3. Truyền giao thức GLI như đã quy định trong M.2

4. Xử lý Macro PDF417 như đã quy định trong M.3.

Ch phù hợp với phương thức kênh cơ sở:

1. Truyền số phân định mã vạch ‘]L0’ (thiết bị cũ) hoặc ‘]L2 (thiết bị mới), hoặc không truyền số phân định mã vạch.

2. Xem các mã vạch chứa các từ mã ECI là không hợp lệ.

3. Xem các mã vạch Macro PDF417 là không hợp lệ, nếu bộ đọc không hoạt động trong phương thức đệm, và việc truyền tiêu đề kiểm soát Macro không được kích hoạt.

Giả sử rằng thiết bị được thiết lập một cách hợp thức như ở trên, điều này giúp cho bộ nhận có khả năng phát hiện và tác dụng trở lại một cách hợp thức với các điều kiện sau đây:

1. Nếu số phân định mã vạch ‘]L1’ có mặt tại lúc bắt đầu truyền:

Trong trường hợp này, bộ nhận có thể đảm bảo rằng bộ giải mã đang hoạt động trong Phương thức Kênh Mở rộng về mã vạch đã quét. Do đó tất cả byte 92, khi xuất hiện như dữ liệu, đã được nhân đôi liệu mã vạch có chứa các ECI hoặc một phần của bộ Macro PDF417 hay không. Số lần xuất hiện đơn của byte 92 cho biết sự bắt đầu của chuỗi thoát. Tất cả các đặc tính khác đều phù hợp với tiêu chuẩn này.

2. Nếu số phân định mã vạch ‘]L2’ có mặt tại lúc bắt đầu truyền:

Trong trường hợp này, bộ nhận có thể đảm bảo rằng bộ giải mã đang hoạt động trong phương thức kênh cơ sở về mã vạch đã quét. Do đó, byte 92 luôn biểu diễn byte dữ liệu đơn.

Các mã vạch với các chuỗi thoát ECI được xem là không hợp lệ. Các mã vạch Macro PDF417 được xem là không hợp lệ, nếu bộ đọc được định hình cho phương thức đệm, và được định hình để không truyền các tiêu đề kiểm soát Macro PDF417.

3. Nếu số phân đnh mã vạch ‘]L0’ có mặt tại lúc bắt đầu truyền, chỉ rõ phiên bản PDF417 năm 1994:

Đây là trường hợp ngoại lệ do các yêu cầu kỹ thuật về PDF417 của AIM Mỹ (1994) gốc và AIM Châu Âu (1994), mặc dù nó không cung cấp phương thức kênh mở rộng hỗ trợ, xác định ‘0’ (ví dụ: ‘không có bộ các lựa chọn’) như giá trị tùy chọn về số phân định mã vạch PDF417. Do đó, thiết bị PDF417 hiện có, nếu phù hợp hoàn toàn với các yêu cầu kĩ thuật về PDF417 của AIM Mỹ (1994) gốc và AIM Châu Âu (1994) thì sẽ không sử dụng các giá trị tùy chọn mới cho biết phương thức kênh mở rộng hay phương thức kênh cơ sở đang có hiệu lực. Do đó, nếu bộ nhận thấy ‘]L0’ thì nó phải tuân theo tiêu chuẩn 1994 về PDF417. Cụ thể là:

 Bộ nhận không thể phân biệt từ việc truyền liệu bộ giải mã là trong phương thức kênh mở rộng (luôn nhân đôi byte được gán là ký tự thoát như Phụ lục M.2) hay phương thức kênh cơ sở (không nhân đôi bất kỳ byte nào), bộ giải mã phải được định hình để phù hợp với bộ nhận.

● Nếu bộ giải mã được đặt lên phương thức kênh mở rộng và nếu các ECI không được mã hóa trong mã vạch, thì bộ giải mã sẽ truyền các chuỗi thoát GLI của loại PDF417 năm 1994 (Phụ lục M.2) hơn là chuỗi thoát ECI như đã quy định trong điều 5.17.2.

● Việc sử dụng giao thức gốc, nếu khối kiểm soát Macro có mặt, thì các nội dung của khối kiểm soát Macro sẽ theo sau, hơn là đứng trước, các byte dữ liệu trong mã vạch.

4. Nếu số phân định mã vạch không có mặt tại lúc bắt đầu truyền:

Trong trường hợp này:

a. Bộ giải mã được định hình hợp thức để hỗ trợ riêng cho các mã vạch của phương thức kênh cơ sở. Hệ thống nhận được đảm bảo rằng không có giá trị byte nào được nhân đôi bởi bộ giải mã và mọi ECI rõ ràng trong dòng dữ liệu là các liên kết kí tự ngẫu nhiên.

Hoặc

b. Bộ giải mã được định hình không đúng cách cho tính liên tác trong hệ thống mở ở đó các mã vạch đã được mã hóa của ECI có thể bị bắt gặp.

 

Phụ lục N

(tham khảo)

Thuật toán giảm thiu số từ mã

Cùng một dữ liệu có thể được biểu diễn bởi các chuỗi từ mã PDF417 khác nhau thông qua việc sử dụng các quy trình chuyển và các phương thức nén khác nhau. Tuy không có quy trình được quy định nhưng thuật toán sau đây sẽ giúp giảm thiểu số từ mã được yêu cầu:

1. Gọi điểm P là điểm đầu của dòng dữ liệu

2. Đặt phương thức mã hóa hiện hành cho phương thức nén văn bản

3. Gọi N là số các chữ số liên tiếp bắt đầu tại P

4. Nếu N ≥ 13 thì

5. Phương thức latch thành phương thức nén số

6. Mã hóa các ký tự N sử dụng phương thức nén số

7. Tăng P bởi N

8. Đi tới bước 3

9. Ngược lại nếu N < 13 thì

10. Gọi T là độ dài chuỗi kí tự của phương thức nén văn bản bắt đầu tại P. Chuỗi được kết thúc khi kí tự từ một phương thức trừ phương thức nén văn bản được phát hiện hoặc chuỗi số ≥ 13 chữ số được phát hiện.

11. Nếu T ≥ 5 thì

12. Latch chuyển thành phương thức nén văn bản

13. Mã hóa các ký tự T sử dụng phương thức nén văn bản

14. Tăng bởi T

15. Đi tới bước 3

16. Ngược lại nếu < 5 thì

17. Gọi B là độ dài chuỗi mã hóa nhị phân bắt đầu tại P. Chuỗi được kết thúc khi chuỗi nén văn bản có độ dài ≥ 5 hoặc chuỗi số có độ dài ≥ 13 được tìm thấy

18. Nếu B = 1 VÀ phương thức hiện hành là phương thức nén văn bản, thì

19. Shift chuyển thành phương thức nén byte

20. Mã hóa giá trị byte đơn sử dụng phương thức nén byte

21. Tăng P bởi B

22. Đi tới bước 3

23. Ngược lại

24. Latch chuyển thành phương thức nén byte

25. Mã hóa các byte B sử dụng phương thức nén byte

26. Tăng P bởi B

27. Đi tới bước 3

 

Phụ lục O

(tham khảo)

Hướng dẫn xác định ma trận mã vạch

O.1 Các tham số ảnh hưởng đến việc xác định ma trận

Số các tham số được sử dụng trước khi in để xác định ma trận mã vạch dưới dạng số hàng (r) và cột (c).

Mỗi tham số đề cập đến một nét riêng, trong đó quy định ma trận mã vạch. Trong các phương trình mà theo sau A, c, k, n, QH, Qv, r, X và Y phù hợp với các định nghĩa trong 4.1.

Các phương trình có thể được sử dụng theo cách riêng của chúng để xây dựng nhiều thuật toán phức tạp hơn.

– Tham số 1: Số các hàng: r

3  r  90 (xem 5.2.1)

– Tham số 2: Số các cột: c

1  c  30 (xem 5.2.2)

– Tham số 3: kích thước X

Xác định bởi yêu cầu kỹ thuật cho ứng dụng (xem 5.8.1)

– Tham số 4: kích thước Y

Y ≥ 3X (xem 5.8.2)

– Tham số 5: Vùng trống ngang: QH

QH ≥ 2X (xem 5.8.3)

– Tham số 6: Vùng trống đứng: QV

Qv ≥ 2X (xem 5.8.3)

– Tham số 7: Độ rộng sẵn có cho mã vạch, W

W ≥ (17c + 69) + 2QH

CHÚ THÍCH 1: Tham số này có thể được giới hạn bởi trường quét của độ rộng nhãn hoặc hình v.

– Tham số 8: Độ cao mã vạch, H

H  Yr + 2 QV

CHÚ THÍCH 2: Tham số này có thể được giới hạn bởi trường quét của độ rộng nhãn hoặc hình vẽ.

– Tham số 9: Các tham số ma trận

(n + k) = (c * r) < 929

– Tham số 10: Tỉ lệ phương diện mã vạch: A

Trước khi kích cỡ mã vạch có thể được xác định, số các từ mã dữ liệu và các từ mã sửa lỗi phải được tính toán. Bước tiếp theo phụ thuộc vào các tham số được quy định bởi ứng dụng. Khi các yêu cầu của ứng dụng quy định tỉ lệ phương diện mã vạch tổng thể thì điều tiếp theo của phần này đưa ra hướng dẫn về việc tính toán số cột của miền dữ liệu cần thiết để tạo ra một mã vạch với tỉ lệ đó. Nếu ứng dụng quy định độ cao hoặc độ rộng cho phép của mã vạch (hoặc cả hai), thì sẽ sử dụng các tính toán đơn giản hơn. Phần 1 chỉ ra thuật toán đơn giản mà có thể được sử dụng khi độ rộng mã vạch được quy định.

– Khi toàn bộ độ rộng W (bao gồm các vùng trống) được quy định, thì số cột dữ liệu có thể được tính toán từ phương trình của tham số 7 (làm tròn đến số nguyên dương gần nhất) của các cột. Số hàng được bắt nguồn từ tổng số các từ mã: (n + k) = (c * r).

– Tỉ lệ phương diện mã vạch A là độ cao đến độ rộng của mã vạch bao gồm các vùng trống. Đ đạt được giá trị A, phương trình sau đây có thể được giải, với số cột (c). Giả sử rằng các vùng trống được biểu diễn dưới dạng X nhưng phương trình có thể được sử dụng trong tất cả các trường hợp để tạo ra phép tính xấp x hoàn hảo nhất của số cột (c).

trong đó:

A, c, H, Qv, r, W, X và được quy định trong Điều 4

Qv = 2X

Số cột có thể được biểu diễn là:

r = 

trong đó: và k được quy định trong Điều 4

Phương trình được trình bày lại như sau:

Do đó:

Phương trình này có thể được biểu diễn như sau:

17Ac2 + (73A – 4)c  [(n + k)Y/X= 0

Thay thế x bằng c ta được phương trình bậc hai có dạng:

ax2 + bx + c = 0

Giải phương trình bậc hai ta có:

x = 

Thay thế các giá trị tham số của PDF417, giải phương trình bậc hai (không tính giá trị âm), ta có:

Giá trị n phụ thuộc vào số từ mã đệm và điều này chưa được biết đến khi các tham số ma trận được xác định. Tuy nhiên, số từ mã nguồn được xác định. Khi m + 1  n thì có thể được thay thế trong phương trình trên như sau:

Giải giá trị dương của c không được kết quả là một số nguyên dương. Giá trị nguyên dương gần nhất của c cho giá trị tốt nhất của số cột để đạt được tỉ lệ phương diện.

Số hàng là: r =  INT[(m + 1 + k) / c+ 1

Nếu (c * r) ≥ m + 1 + k + c

thì r = r – 1

Khi (c * r) = (n + k), thì số từ mã đệm là (n + k) – (m + 1 + k)

VÍ DỤ: Để đạt được tỉ lệ phương diện A = 0,5 cho mã vạch PDF417 trong đó m + 1 + k = 277, X = 0,33 mm và Y 1,00 mm

Số từ mã đệm yêu cầu là:

(c * r) – (m + 1 + k)

280 – 277 = 3

Mã vạch này có 35 hàng và 8 cột, và đo 36,32 mm độ cao trên 68,97 mm độ rộng được tỉ lệ phương diện thực tế là 0,527.

O.2 Hướng dẫn cho mọi tham số không đạt được

Nếu mã vạch không phù hợp với kích c nhãn:

k) giảm nội dung dữ liệu, nếu có thể.

I) tăng kích cỡ nhãn trong một hoặc cả hai kích thước

m) giảm mức điều chỉnh lỗi

n) giảm kích thước X hoặc độ cao môđun (Y)

 

Phụ lục P

(tham khảo)

Tính các hệ số để tạo các từ mã sửa lỗi – ví dụ đã xử lý

Đa thức tạo sau đây được sử dụng để tính các hệ số cho mỗi mức độ điều chỉnh lỗi:

gk(x) = (x  3) (x  32) (x  33) … (x  3k)

a0 + a1x + a1x2 + ak-1xk-1 + xk

trong đó: gk(x) = đa thức tạo

k = tổng số từ mã sửa lỗi

a= hệ số lũy thừa được sinh ra bởi đa thức tạo gk(x)

Đầu tiên, mở rộng phương trình ở trên. Tiếp theo, tính phần bù của hệ số từ công thức nêu trên

Với aj a0…. ak-1

BEGIN

aj = aj mod 929

END

VÍ DỤ

Tính các hệ số đa thức tạo về sửa lỗi mức 1

s = 1 sửa lỗi mức 1

k = 2s+1 = 4 (số từ mã sửa lỗi)

g4(x) = (x3)(x32) (x-33) (x-34)

= 59 049 – 29 160x + 3 510x2 – 120x3 + x4

a0 = 59 049 mod 929 = 522

a1 = – 29 160 mod 929 = 568

a2 = 3 510 mod 929 = 723

a3 = – 120 mod 929 = 809

CHÚ THÍCH: Phụ lục F chứa tất cả các giá trị hệ số cần để mã hóa mã vạch PDF417 của mọi mức sửa lỗi.

Phụ lục Q

(tham khảo)

Tạo các từ mã sửa lỗi – ví dụ đã xử lý

Thuật toán trong điều 5.10 được sử để tạo các từ mã sửa lỗi (kí hiệu sử dụng trong ví dụ dưới đây giống với ví dụ trong điều 5.10)

VÍ DỤ:

Dữ liệu PDF417 được biểu diễn bằng các từ mã 5, 453, 178, 121, 239, đi trước là bộ Mô tả Độ dài Mã vạch. Không có các từ mã đệm nào. Thì:

n = 5 (số từ mã bao gồm bộ mô tả độ dài mã vạch)

d4 = 5

d3 = 453

d2 = 178

d= 121

d0 = 239

Lựa chọn sửa lỗi mức 1:

s = 1

k = 21+1 = 4

a0,…..,a3 = 522, 568, 723, 809

CHÚ THÍCH: Đây là một ví dụ đơn giản, ch có 5 từ mã dữ liệu và 4 từ mã sửa lỗi. Tuy nhiên, nó minh họa toàn bộ quá trình mở rộng làm tăng số từ mã dữ liệu và số từ mã sửa lỗi.

Các phép toán là:

Bắt đầu E0,… E3 đến 0

t1 = (d4 + E3) mod 929 = (5+0) mod 929 = 5

 

t2 = (t1 a3) mod 929 = (5 x 809) mod 929 = 329

t3 = 929 – t2 = 929 – 329 = 600

E3 = (E2 + t3) mod 929 = (0+600) mod 929 = 600

 

t2 = (t1 x a2) mod 929 = (5 x 723) mod 929 = 828

t= 929 – t= 929 – 828 = 101

E2 = (E1 + t3) mod 929 = (0+101) mod 929 = 101

 

t2 = (t1 x a0) mod 929 = (5 x 568) mod 929 = 53

t= 929 – t2 = 929 – 53 = 876

E1 = (E0 + t3) mod 929 = (0+876) mod 929 = 876

 

t2 = (t1 x a0) mod 929 = (5 x 522) mod 929 = 752

t= 929 – t= 929 – 752 = 177

E= t3 mod 929 = 177 mod 929 = 177

 

t= (d3 + E3) mod 929 = (453 + 600) mod 929 = 124

t2 = (t1 x a3) mod 929 (124 x 809) mod 929 = 913

t= 929  t2 = 929  913 = 16

E3 = (E2 + t3) mod 929 = (101 +16) mod 929 = 117

 

t2 = (t1 x a2) mod 929 = (124 x 723) mod 929 = 468

t= 929  t2 = 929 – 468 = 461

E2 = (E1 + t3) mod 929 = (876 + 461) mod 929 = 408

 

t= (t1 x a1) mod 929 = (124 x 568) mod 929 = 757

t3 = 929 – t= 929 – 757 = 172

E= (E0 + t3) mod 929 = (177 + 172) mod 929 = 349

 

t= (t1 x a0) mod 929 = (124 x 522) mod 929 = 627

t= 929  t2 = 929 – 627 = 302

E= t3 mod 929 = 302 mod 929 = 302

 

t= (d2 + E3) mod 929 = (178 + 117) mod 929 = 295

t2 = (t1 x a3) mod 929 = (295 x 809) mod 929 = 831

t= 929  t2 = 929 – 831 = 98

E3 = (E2 + t3) mod 929 = (408 + 98) mod 929 = 506

 

t= (t1 x a2) mod 929 = (295 x 723) mod 929 = 544

t= 929  t2 = 929 – 544 = 385

E= (E1 + t3) mod 929 = (349 + 385) mod 929 = 734

 

t2 = (t1 x a1) mod 929 = (295 x 568) mod 929 = 340

t= 929  t2 = 929 – 340 = 589

E= (E0 + t3) mod 929 = (302 + 589) mod 929 = 891

 

t2 = (t1 x a0) mod 929 = (295 x 522) mod 929 = 705

t= 929  t2 = 929 – 705 = 224

E0 = t3 mod 929 = 224 mod 929 = 224

 

t= (d1 + E3) mod 929 = (121 + 506) mod 929 = 627

t2 = (t1 x a3) mod 929 (627 x 809) mod 929 = 9

t3 = 929 – t2 = 929 – 9 = 920

E3 = (E2 + t3) mod 929 = (734 +920) mod 929 = 725

 

t2 = (t1 x a2) mod 929 = (627 x 723) mod 929 = 898

t= 929  t2 = 929 – 898 = 31

E2 = (E1 + t3) mod 929 = (891 + 31) mod 929 = 922

 

t2 = (t1 x a1) mod 929 = (627 x 568) mod 929 = 329

t= 929  t2 = 929 – 329 = 600

E= (E0 + t3) mod 929 = (224 + 600) mod 929 = 824

 

t2 = (t1 x a0) mod 929 = (627 x 522) mod 929 = 286

t= 929  t2 = 929 – 286 = 643

E= t3 mod 929 = 643 mod 929 = 643

 

t= (d0 + E3) mod 929 = (239 + 725) mod 929 = 35

t= (t1 x a3) mod 929 = (35 x 809) mod 929 = 445

t= 929 – t2 = 929 – 445 = 484

E3 = (E2 + t3) mod 929 = (922 + 484) mod 929 = 477

 

t2 = (t1 x a2) mod 929 = (35 x 723) mod 929 = 222

t= 929  t2 = 929 – 222 = 707

E2 = (E1 + t3) mod 929 = (824 + 707) mod 929 = 602

 

t2 = (t1 x a1) mod 929 = (35 x 568) mod 929 = 371

t= 929 – t2 = 929 – 371 = 558

E1 = (E0 + t3) mod 929 = (643 + 558) mod 929 = 272

 

t2 = (t1 x a0) mod 929 = (35 x 522) mod 929 = 619

t3 = 929  t2 = 929  619 = 310

E= t3 mod 929 = 310 mod 929 = 310

Cuối cùng, tính phần bù của các kết quả ở trên, để nhận được 4 từ mã sửa lỗi cho dữ liệu mã hóa PDF417 như sau:

E3 = 929 – E3 = 929 – 477 = 452

E2 = 929 – E= 929 – 602 = 327

E= 929 – E= 929 – 272 = 657

E= 929 – E= 929  310 = 619

 

Phụ lục R

(tham khảo)

Quy trình phân chia mạch để tạo các từ mã sửa lỗi

Đây là quy trình khác với quy trình quy định trong điều 5.10 và sử dụng mạch phân chia làm cơ sở cho việc xác định các từ mã sửa lỗi

Mạch phân chia được minh họa trong Hình R.1

Hình R.1 – Mạch mã hóa từ mã sửa lỗi

Bộ đăng ký b0 đến bk-1 được bắt đầu bằng những số 0. Toán học môđun được xác định bởi các phương trình sau:

Å y = (x + y) mod 929

Ä y = (x x y) mod 929

Ó = (929 – x) mod 929

Trong đó: x và y là các số từ 0 đến 928

Å là phép cộng môđun

Ä là phép nhân môđun

© là phần bù môđun

Có hai giai đoạn tạo ra việc mã hóa. Trong giai đoạn thứ nhất, với việc di chuyển theo tư thế xuôi, dữ liệu mã vạch được đi qua cả đầu ra và đoạn mạch. Giai đoạn thứ nhất kết thúc sau n mạch đồng hồ. Trong giai đoạn thứ hai (các mạch đồng hồ n + 1…n + k), với việc di chuyển theo tư thế lên, các từ mã sửa lỗi Ek-1,…E0 được tạo ra bằng cách làm tràn các bộ đăng kí theo thứ tự và bổ sung đầu ra trong lúc giữ đầu vào dữ liệu tại 0.

 

Phụ lục S

(tham khảo)

Hướng dẫn thêm về cách sử dụng PDF417

S.1 Tự động phân biệt

PDF417 có thể được đọc bởi các bộ giải mã mã vạch đã lập trình phù hợp, trong đó chúng được thiết kế để phân biệt với các mã vạch khác. Bộ mã vạch hợp lệ của bộ giải mã phải được giới hạn đến các mã vạch được yêu cầu bởi ứng dụng để tối đa hóa tính an toàn của việc đọc.

S.2 In pixel

S.2.1 Nguyên tắc chung

Phần mềm đồ họa được sử dụng để tạo ra các mã vạch trên các máy in pixel phải chia chính xác mỗi vạch và khoảng trống thành bước ghi của máy in đang được sử dụng. Đối với các mã vạch giải mã cạnh đến cạnh tương tự như PDF417, số ảnh điểm bao gồm mỗi ký tự mã vạch phải là bội số nguyên dương không đổi và cố định của số môđun trong ký tự mã vạch. Với PDF417, số môđun là 17 cho Dấu hiệu Bắt đầu, các ký tự mã vạch khác, và 18 cho Dấu hiệu Kết thúc. Do đó, máy in chỉ có thể in bộ kích thước X.

Việc cân bằng sự tăng (giảm) độ rộng vạch đồng đều phải nằm trong số lượng bù bằng nhau trên tất cả các vạch và khoảng trống trong mã vạch. Điều này được thực hiện bằng cách thay đổi số nguyên các ảnh điểm từ đậm thành nhạt hoặc từ nhạt thành đậm theo cùng một cách với mỗi cặp vạch- khoảng trống trong mã vạch và đối với mã vạch cuối cùng. Ví dụ, tất cả các ảnh điểm dọc theo cùng một cạnh của mọi vạch trong mã vạch có thể được thay đổi từ đậm thành nhạt hoặc các điểm ảnh dọc theo cả hai cạnh của mỗi vạch được thay đổi từ đậm thành nhạt, độ phân giải của máy in cho phép điều này được thực hiện một cách khá tốt. Bất kỳ bộ thay đổi điểm ảnh từ đậm thành nhạt hoặc từ nhạt thành đậm cung cấp sự điều chỉnh được thực hiện trước sau như một qua toàn bộ mã vạch và không thay đổi các đơn vị đo cạnh tương ứng hoặc toàn bộ độ rộng ký tự mã vạch. Nếu không tuân theo các nguyên tắc này sẽ dẫn đến việc chất lượng mã vạch bị giảm và các mã vạch không thể đọc được.

Mục đích chung của phần mềm in được thiết kế để hỗ trợ diện rộng các máy in cho người sử dụng với khả năng điều chỉnh kích thước X và sự tăng (giảm) độ rộng vạch.

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

Các nguyên tắc này được biến đổi theo các quy tắc về tệp thiết kế mã vạch dạng số như sau:

1. Biến đổi kích thước X theo thiết kế sang kích cỡ môđun trong các nh điểm được làm tròn xuống thành số nguyên dương gần nhất.

2. Xác định số ảnh điểm tương đương với việc cân bằng theo thiết kế sự tăng độ rộng vạch đồng đều và làm tròn lên thành số nguyên dương lớn hơn.

3. Áp dụng các kết quả ở trên để xác định bộ đếm điểm ảnh của mỗi vạch và khoảng trống trong mã vạch.

VÍ DỤ: Sử dụng các tệp thiết kế mã vạch dạng số với thiết bị in 24 điểm mỗi mm, tạo ra mã vạch 0,27 mm kích thước X với 0,06 mm sự giảm độ rộng vạch.

Kích c môđun là 24 điểm/mm x 0,27mm/môđun = 6,5 pixel, làm tròn xuống thành 6 pixel mỗi môđun.

Cân bằng độ nở của vạch là 0,06mm x 24 điểm/mm=  1,4 pixel, làm tròn lên thành 2 pixel

Quá trình này dẫn đến bộ đếm ảnh cho các vạch và khoảng trống như đã minh họa trong Bảng S.1 sau đây:

Bảng S.1 – Ví dụ về điều chỉnh các ảnh điểm cho độ phân giải ảnh hóa và sự giảm độ rộng vạch

Độ rộng phần tử

(môđun)

Độ rộng danh định

(điểm ảnh)

Bộ đếm ảnh điểm đã điều chỉnh

Vạch

Khoảng trống

1

6

4

8

2

12

10

14

3

18

16

20

4

24

22

26

5

30

28

32

6

36

34

38

8

48

46

n/a

 

THƯ MỤC TÀI LIỆU THAM KHẢO

[1] A source reference for the Berlekamp-Massey algorithm (referred to in Annex K) is available in: ‘Theory and Practice of Error Control Codes’ by Richard E. Blahut (published by Addison Wesley, 1984) (page 260, etc.) (Nguồn tham khảo về thuật toán Berlekamp-Masey (được tham khảo trong Phụ lục K) sẵn có : “Lý thuyết và thực tiễn về Mã kiểm soát lỗi” của Richard E. Blahut (do Addison Wesley xuất bn, 1984) (trang 260…))

[2] AIM Mỹ Uniform Symbology Specification PDF417, published by AIM Mỹ, 1994 (Quy định kĩ thuật mã vạch PDF417 thống nhất của AIM Mỹ, do AIM Mỹ xuất bản, 1994)

[3] AIM Châu Âu Uniform Symbology Specification PDF417, published by AIM Châu Âu, 1994 (Quy định kĩ thuật mã vạch PDF417 thống nhất của AIM Châu Âu, do AIM Châu Âu xuất bản, 1994)

[4] ANSI X3.4, Coded Character Sets – 7-bit American National Standard Code for Information Interchange (7-bit ASCII) (equivalent to the US national version of ISO/IEC 646) (Các bộ kí tự được mã hóa, ANSI X3.4 – Mã chuẩn quốc gia Mỹ 7-bit cho trao đi thông tin (7-bit ASCII) (tương đương với phiên bản ISO/IEC 646 quốc gia Mỹ))

[5] AIM Inc. ITS/04-001: International technical Standard: (AIM Inc. ITS/04-001: Tiêu chuẩn kĩ thuật quốc tế: Diễn dịch kênh mở rộ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 định dạng dữ liệu khác)

– Character Set Register (Đăng kí bộ kí tự).

 

MỤC LỤC

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. Mã vạch, phép tính và thuật ngữ viết tắt

4.1. Mã vạch

4.2. Các phép tính toán học

4.3. Thuật ngữ viết tắt

5. Yêu cầu.

5.1. Đặc tính của mã vạch

5.1.1. Đặc tính cơ bản

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

5.2. Cấu trúc mã vạch

5.2.1. Tham số của mã vạch PDF417

5.2.2. Tham số hàng

5.2.3. Chuỗi từ mã

5.3. Mã hóa  bản

5.3.1. Cấu trúc ký tự mã vạch

5.3.2. Kí tự bắt đầu và kết thúc

5.4. Mã hóa (dữ liệu) mức cao

5.4.1. Từ mã chức năng

5.4.1.1. Từ mã chức năng cho việc chuyển phương thức

5.4.2. Phương thức nén văn bản

5.4.3. Phương thức nén byte

5.4.4. Phương thức nén số

5.4.5. Lời khuyên về việc lựa chọn phương thức nén thích hợp

5.5. Diễn dịch Kênh Mở rộng

5.5.1. Mã hóa số gán ECI.

5.5.2. Diễn dịch Kênh m rộng mặc định và được gán trước

5.5.3. Mã hóa chuỗi ECI trong phương thức nén

5.5.4. Giao thức giải mã trước

5.6. Xác định chuỗi từ mã

5.7. Phát hiện lỗi và sửa

5.7.1. Mức sửa lỗi

5.7.2. Khả năng sửa lỗi

5.7.3. Xác định các từ mã sửa lỗi

5.8. Kích thước

5.8.1. Độ rộng tối thiểu của một mô đun (X)

5.8.2. Độ cao hàng (Y)

5.8.3. Vùng trống

5.9. Xác định định dạng mã vạch

5.9.1. Xác định t lệ bề mặt của môđun

5.9.2. Xác định ma trận hàng và cột của mã vạch

5.10. Tạo các từ mã sửa lỗi

5.11. Mã hóa mức thấp

5.11.1. Các cụm

5.11.2. Xác định ma trận mã vạch

5.11.3. Xác định giá trị của các chỉ báo hàng trái và phải

5.11.4. Mã hóa hàng

5.12. PDF417 nén

5.13. Macro PDF417

5.13.1. Các phương thức nén và Macro PDF417

5.13.2. ECI và Macro PDF417

5.14. Hướng dẫn cho người sử dụng

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

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

5.14.3. Các tham số ứng dụng do người sử dụng quy định

5.14.4. Chất lượng mã vạch PDF417

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

5.16. Phát hiện lỗi và quy trình sửa lỗi

5.17. Dữ liệu truyền đi

5.17.1. Dữ liệu truyền đi trong diễn dịch (mặc định) cơ bản

5.17.2. Giao thức truyền đối với diễn dịch kênh mở rộng (ECI)

5.17.3. Dữ liệu truyền đối với Macro PDF417

5.17.4. Truyền từ mã dự trữ sử dụng giao thức ECI

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

5.17.6. Quá trình truyền sử dụng các giao thức cũ

Phụ lục C

E.1. Mức điều chỉnh lỗi tối thiểu được khuyến cáo

E.2. Xem xét khác của người sử dụng về mức điều chỉnh lỗi

Phụ lục F

G.1. Mô tả.

G.2. Chất lượng in

Phụ lục H

H.1. Tổng quan về Macro PDF417

H.2. Cú pháp Macro PDF417

H.2.1. Ch số đoạn

H.2.2Trường tệp ID

H.2.3Trường tùy chọn

H.2.4Ký tự kết thúc Macro PDF417

H.3. Xem xét mã hóa mức cao

H.4. Ví dụ về mã hóa

H.5. Macro PDF417 và giao thức Diễn dịch Kênh Mở rộng

H.5.1Macro PDF417 với ECI 000000 và 000001 (GLI 0 và 1)

H.5.2Macro PDF417 và các ECI khác

H.6. Truyền dữ liệu Macro PDF417

H.6.1Hoạt động trong phương thức đệm

H.6.2Hoạt động trong phương thức không đệm

H.6.3Bộ truyền điều chỉnh về 0

Phụ lục I

Phụ lục J

J.1. Khi tạo

J.2. Thuật toán giải mã tham chiếu về giải mã dòng

J.3. Lấp đầy ma trận

J.4. Diễn dịch

Phụ lục K

Phụ lục L

Phụ lục M

M.1. Phương thức kênh cơ sở

M.2. Mã vạch mã hóa GLI

M.3. Mã vch Macro PDF417

M.3.1Truyền trong phương thức đệm

M.3.2Truyền trong phương thức không đệm

M.4. Truyền các từ mã dự trữ sử dụng giao thức PDF417 gốc

M.5. Việc đạt được tính tương thích giữa thiết b PDF417 cũ và mới

M.5.1Bộ mã hóa

M.5.2Bộ giải mã

Phụ lục N

Phụ lục O

O.1. Các tham số ảnh hưởng đến việc xác định ma trận

O.2. Hướng dẫn cho mọi tham số không đạt được

Phụ lục P

Phụ lục Q

(tham khảo)

Phụ lục R

Phụ lục S

S.1. Tự động phân biệt

S.2. In pixel

S.2.1. Nguyên tắc chung

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

TIÊU CHUẨN QUỐC GIA TCVN 8655:2010 (ISO/IEC 15438: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 VỀ MÃ VẠCH PDF 417
Số, ký hiệu văn bản TCVN8655:2010 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