M = số bit trong chỉ báo mode (4 bit đối với mã hình QR code hoặc là có số bit như quy địn hở Bảng
101111001111100 (thông tin định dạng được đặt vào trong mã hình)
J.2. Tối ưu hóa đối với mã hình QR code
Đối với mã hình QR code, những chỉ dẫn dưới đây thiết lập cơ sở cho một thuật toán khả thi để xác định dòng bit ngắn nhất cho bất kỳ dữ liệu đầu vào nào.
Số lượng ký tự được đặt trong dấu ngoặc vng, ví dụ [5, 7, 9] là khả thi tương ứng với các cỡ hình 1 - 9, 10 - 26 và 27 - 40.
a) Chọn mode ban đầu:
1) Nếu phần đầu của dữ liệu đầu vào nằm trong tập con loại trừ của bộ ký tự byte, chọn mode byte; 2) Nếu phần đầu của byte đầu vào nằm trong tập con loại trừ thuộc byte đầu Kanji và byte tiếp sau nằm trong tập con loại trừ thuộc byte theo đuôi Kanji, VÀ dữ liệu tiếp theo nằm trong tập ký tự loại trừ dạng số hoặc dạng chữ số, chọn mode Kanji, NGOÀI RA nếu dữ liệu tiếp theo nằm trong tập ký tự loại trừ của byte VÀ các cặp byte [5, 5, 6] tiếp sau thậm chí cũng nằm trong các tập con loại trừ Kanji, chọn mode byte;
3) Nếu phần đầu của dữ liệu đầu vào nằm trong tập con loại trừ của bộ ký tự chữ số VÀ nếu có ít hơn [6, 7, 8] ký tự theo sau bởi dữ liệu từ phần cịn lại của bộ ký tự byte THÌ chọn mode byte, NẾU KHƠNG thì chọn mode chữ số.
4) Nếu phần đầu của dữ liệu là số VÀ nếu có ít hơn [4, 4, 5] ký tự theo sau bởi dữ liệu từ tập con loại trừ của bộ ký tự byte THÌ chọn mode byte, HOẶC NẾU có ít hơn [6, 7, 8] ký tự theo sau bởi dữ liệu từ tập con loại trừ của bộ ký tự chữ số THÌ chọn mode chữ số, NẾU KHƠNG thì chọn mode số.
b) Khi đang trong mode byte:
1) Nếu có một chuỗi ít nhất [9,12,13] cặp byte từ bộ Kanji xuất hiện trước nhiều dữ liệu là tập con loại trừ của bộ ký tự byte, chuyển sang mode Kanji;
2) Nếu có một chuỗi ít nhất [11,15,16] ký tự từ tập con loại trừ của bộ ký tự chữ số xuất hiện trước nhiều dữ liệu từ tập con loại trừ của bộ ký tự byte, chuyển sang mode chữ số;
3) Nếu có một chuỗi ít nhất [6,8,9] ký tự số xuất hiện trước nhiều dữ liệu từ tập con loại trừ của bộ ký tự byte, chuyển sang mode số;
4) Nếu có một chuỗi ít nhất [6,7,8] ký tự số xuất hiện trước nhiều dữ liệu từ tập con loại trừ của bộ ký tự chữ số, chuyển sang mode số.
c) Khi đang ở trong mode chữ số:
1) Nếu có một hoặc nhiều ký tự Kanji xuất hiện thì chuyển sang mode Kanji;
2) Nếu có một hoặc nhiều ký tự từ tập con loại trừ của bộ ký tự byte xuất hiện thì chuyển sang mode byte;
3) Nếu có một chuỗi ít nhất [13,15,17] ký tự số xuất hiện trước nhiều dữ liệu từ tập con loại trừ của bộ ký tự chữ số thì chuyển sang mode số.
d) Khi đang ở trong mode số:
1) Nếu có một hoặc nhiều ký tự Kanji xuất hiện thì chuyển sang mode Kanji.
2) Nếu có một hoặc nhiều ký tự từ tập con loại trừ của bộ ký tự byte xuất hiện thì chuyển sang mode byte.
3) Nếu có một hoặc nhiều ký tự từ tập con loại trừ của bộ ký tự chữ số xuất hiện thì chuyển sang mode chữ số.