Huy hiệu học và Mon Nhật Bản dạy chúng ta gì về việc xây dựng các bộ sinh nhận diện thị giác
So sánh giữa huy hiệu học châu Âu và mon Nhật Bản cho thấy hai cách tiếp cận hoàn toàn khác nhau để sinh thiết kế bằng máy tính: một bên dựa trên mô tả ngôn ngữ có ngữ pháp chặt chẽ, một bên dựa trên cấu trúc hình học và phép biến đổi. Bài viết phân tích cách các hệ thống này được mô hình hóa trong phần mềm và bài học cho lập trình viên.

Huy hiệu học và Mon Nhật Bản dạy chúng ta gì về việc xây dựng các bộ sinh nhận diện thị giác
Khi lập trình một bộ sinh huy hiệu cho thế giới giả tưởng, câu hỏi quan trọng không phải là "có những biểu tượng nào tồn tại" mà là "có những phép toán nào tồn tại". So sánh giữa huy hiệu học Tây Âu và mon Nhật Bản cho thấy hai mô hình sinh thiết kế hoàn toàn khác nhau — và bài học rút ra có thể áp dụng vượt xa khỏi lĩnh vực huy hiệu.
Huy hiệu học như một ngôn ngữ hình thức
Huy hiệu học Tây Âu đặc biệt thuận lợi cho lập trình viên vì nó đã có sẵn một thứ gần giống như ngôn ngữ hình thức. Một huy hiệu có thể được mô tả bằng blazon — một bộ từ vựng và ngữ pháp chuyên biệt đủ chính xác để người quen với hệ thống này có thể tái dựng lại thiết kế mà không cần nhìn thấy nó.
Ví dụ, "Azure, a lion rampant Or" mô tả một tấm khiên nền xanh dương (azure) với một con sư tử đứng tư thế rampant (dựng đứng, một chân trước giơ lên) màu vàng kim (Or). Chỉ cần nghe mô tả, người hiểu luật chơi có thể hình dung ra gần như chính xác thiết kế.
Sư tử rampant trên nền Azure
Blazon không chỉ là một cái tên gán cho một bức tranh — nó là một mô tả có cấu trúc. Điều này khiến nó hấp dẫn dưới góc nhìn tính toán: nó hoạt động như một ngôn ngữ tự nhiên bị ràng buộc, có từ vựng, hình thái, cú pháp và thứ tự thông tin dự kiến rõ ràng.
Với một bộ từ vựng và luật tương đối nhỏ, có thể mô tả được một không gian hình ảnh vô cùng lớn. Điều này gợi ý một kiến trúc lập trình hiển nhiên:
- Sinh ra một mô tả huy hiệu hợp lệ trước
- Sau đó mới render nó thành hình ảnh
Về lý thuyết, cùng một blazon có thể đưa cho nhiều renderer khác nhau. Chúng có thể vẽ sư tử, khiên hay hoa diên vĩ theo phong cách hơi khác nhau, nhưng đều tạo ra biểu diễn dễ nhận diện của cùng một huy hiệu. Bản sắc nằm ở mô tả trừu tượng, không nằm ở một bản vẽ cụ thể duy nhất.
Mon Nhật Bản như một hệ hình học
Mon (hoặc kamon) của Nhật Bản lại đặt ra một vấn đề rất khác. Giống như huy hiệu châu Âu, mon là dấu hiệu nhận diện thị giác, có thể gắn với gia tộc, cá nhân, tổ chức và các quan hệ chính trị. Chúng xuất hiện trên trang phục, cờ hiệu, giáp trụ, vũ khí và nhiều đồ vật khác.
Nhưng coi mon đơn thuần là "huy hiệu kiểu Nhật" sẽ che mất những khác biệt cơ bản. Quan trọng nhất với lập trình sinh tự động là không có tương đương trực tiếp nào của blazon trong hệ thống này. Mon thường là những thiết kế mang tính cách điệu cao, được dựng từ các motif dễ nhận ra — thực vật, động vật, thiên thể, công cụ, hình học — rồi trừu tượng hóa thành một bộ từ vựng thị giác cô đọng và sắp xếp theo các khuôn mẫu phối trí quen thuộc.
Mitsuba aoi của Tokugawa
Ví dụ nổi tiếng nhất là Tokugawa mitsuba aoi: ba chiếc lá thục quỳ (hoặc gừng) cách điệu, xếp xoay quanh một tâm chung. Điều quan trọng không phải chỉ là "có ba chiếc lá". Bản sắc của nó đến từ sự kết hợp của hình lá cách điệu cụ thể, sự lặp lại, hướng xoay, khoảng cách, đối xứng và bóng tổng thể.
Một bộ sinh coi thiết kế này như blazon phương Tây sẽ bắt đầu bằng "ba lá thục quỳ". Mô tả đó chứa một phần thông tin đúng, nhưng không đủ để tái tạo mon. Hình học mới là điều quyết định.
Hai mô hình sinh khác biệt
Từ đây rút ra hai mô hình sinh thiết kế huy hiệu rất khác nhau:
- Huy hiệu Tây Âu: chủ yếu mang tính mô tả — sinh ra một mô tả có cấu trúc, rồi render mô tả đó
- Mon Nhật Bản: chủ yếu mang tính phối trí — sinh ra cấu trúc thị giác bằng cách kết hợp và biến đổi các phần tử hình học
Cách phân biệt này không tuyệt đối. Huy hiệu Tây Âu rõ ràng có rất nhiều luật phối trí, và mon cũng có tên gọi cùng cách phân loại quy ước. Không hệ thống nào được "thiết kế" để làm kiến trúc phần mềm. Tuy vậy, phân biệt này vẫn hữu ích khi ta quyết định cách biểu diễn chúng bằng máy tính.
Hãy xem cách mỗi hệ thống biểu diễn "ba vật thể lặp lại". Trong huy hiệu Tây Âu, thông tin quan trọng có thể gồm danh tính của charge, màu sắc, số lượng và cách sắp xếp. Cách diễn đạt "three roundels argent, two and one" truyền đạt một bố cục mà họa sĩ huy hiệu có thể diễn giải. Một bộ sinh mon có thể diễn đạt khái niệm tương tự bằng hình học thuần túy.
Nói theo ngôn ngữ lập trình, biểu diễn kiểu phương Tây gần với abstract syntax tree, còn biểu diễn kiểu Nhật gần với scene graph. Với sinh tự động, cả hai đều cực kỳ hấp dẫn.
Sơ đồ mô hình sinh
Vì sao chỉ thu thập biểu tượng là chưa đủ
So sánh này cũng cho thấy vì sao chỉ gom biểu tượng lịch sử lại là không đủ.
Huy hiệu Tây Âu có các luật chi phối màu sắc (tincture), cách chia nền, các ordinary, vị trí charge, sự lặp lại, cadency, marshalling và nhiều thứ khác. Luật tincture nổi tiếng nhìn chung không cho đặt kim loại lên kim loại hay màu lên màu. Hiệu quả thực tế là độ tương phản thị giác mạnh: sư tử vàng trên nền xanh dương rất dễ phân biệt, còn sư tử đỏ trên nền xanh dương thì kém hơn.
Vì vậy, một bộ sinh chọn màu nền ngẫu nhiên rồi chọn màu charge một cách độc lập sẽ tạo ra những tổ hợp vi phạm một trong những quy ước dễ nhận ra nhất của hệ thống. Cách làm tốt hơn là sinh có điều kiện: chọn nền sẽ ràng buộc những gì có thể đến tiếp theo.
Mon lại áp đặt những ràng buộc khác. Đối xứng, lặp lại, đóng khung, không gian âm và mức độ trừu tượng trở nên đặc biệt quan trọng. Một bông hoa chọn ngẫu nhiên rồi dán ba lần lên vòng tròn không thuyết phục hơn một con sư tử chọn ngẫu nhiên dán lên khiên là huy hiệu. Trong cả hai trường hợp, bộ sinh cần mô hình hóa quan hệ, không chỉ mô hình hóa đối tượng.
Khi lịch sử không gọn gàng như luật lệ
Đáng tiếc cho lập trình viên, các hệ thống thị giác lịch sử hiếm khi gọn gàng như các luật nhập môn khiến ta tưởng. Huy hiệu Tây Âu đầy ngoại lệ, quy ước gây tranh cãi, khác biệt vùng miền, tiến hóa lịch sử và những huy hiệu có vẻ vi phạm các luật được coi là nền tảng.
Huy hiệu Vương quốc Jerusalem
Huy hiệu truyền thống gắn với Vương quốc Jerusalem đặt thánh giá vàng trên nền bạc — kim loại trên kim loại. Đó không phải lỗi của huy hiệu học. Đó là bằng chứng cho thấy "luật" chỉ là quy ước lịch sử, không phải định luật vật lý.
Vì thế, một bộ sinh cần quyết định nó đang mô hình hóa loại hệ thống nào: huy hiệu đáp ứng kỳ vọng của nhà huy hiệu học hiện đại? Huy hiệu đặc trưng nước Anh thế kỷ 14? Hay một xấp xỉ giả tưởng rộng rãi gom từ nhiều truyền thống châu Âu? Đó là những bộ sinh khác nhau.
Một giải pháp khả thi là phân biệt giữa ngữ pháp và ngữ liệu. Ngữ pháp mô tả các phép toán thông thường mà bộ sinh có thể dùng. Ngữ liệu ghi lại các dạng đã được chứng thực trong lịch sử, kể cả những dạng mà ngữ pháp chung khó hoặc không thể sinh ra. Cách này cho phép phần mềm nói rằng: "Đây là cách các thiết kế của truyền thống này thường được dựng, nhưng những thiết kế ngoại lệ cụ thể này cũng tồn tại."
Từ blazon đến phối trí: bài học cho bộ sinh giả tưởng
Điều này đặt ra câu hỏi cho bộ sinh huy hiệu hiện có: liệu một bộ sinh huy hiệu giả tưởng có thực sự nên mô phỏng chủ yếu theo blazon phương Tây?
Blazon hấp dẫn vì nó cung cấp bộ từ vựng hình thức đặc biệt phong phú. Từ góc nhìn lập trình viên, rất dễ bị cám dỗ tái tạo trực tiếp bộ từ vựng đó: sinh nền, chọn tincture, chọn charge, xác định tư thế và bố cục, rồi serialize thành blazon. Nhưng mục tiêu thực tế thường là tạo ra một sản phẩm thị giác thú vị cho bối cảnh hư cấu. Trong bối cảnh đó, logic phối trí mà mon thể hiện có thể hữu ích hơn.
Điều đó thay đổi câu hỏi. Thay vì hỏi "tôi nên sinh câu huy hiệu nào?", ta có thể hỏi "tôi nên sinh ra những quan hệ thị giác nào?". Một huy hiệu có thể bắt đầu từ một tập nhỏ các nguyên thủy đồ họa, rồi chúng được phản chiếu, xoay, lặp, lồng nhau, giao nhau hoặc sắp quanh một trục. Bản thân các charge huy hiệu cũng có thể trở thành nguyên thủy trong một hệ phối trí lớn hơn.
Kết quả không nhất thiết phải là huy hiệu châu Âu hợp lệ về lịch sử hay mon Nhật Bản. Nó sẽ vay mượn một hiểu biết có tính thủ tục hữu ích từ cả hai. Huy hiệu Tây Âu cung cấp ngữ pháp của các phạm trù và quan hệ có ý nghĩa. Mon cung cấp ngữ pháp của phối trí thị giác. Kết hợp hai ý tưởng này có thể tạo ra bộ sinh biểu tượng giả tưởng tốt hơn là sao chép trung thành một truyền thống đơn lẻ.
Độ khó trái ngược của hai hệ thống
Thoạt nhìn, huy hiệu Tây Âu có vẻ dễ sinh hơn vì phần lớn cấu trúc đã được hình thức hóa bằng ngôn ngữ. Một tập con của blazon có thể được biểu diễn khá tự nhiên bằng enum, tagged union, luật ngữ pháp hoặc abstract syntax tree.
Nhưng độ khó tăng rất nhanh khi bộ từ vựng được hỗ trợ mở rộng. Charge có thể có nhiều tư thế khác nhau. Nền có thể có cách chia và xử lý phức tạp. Charge lại có thể mang charge khác bên trong. Marshalling đưa vào sự phối hợp của cả những huy hiệu hoàn chỉnh. Việc sinh ra một số huy hiệu Tây Âu trông hợp lý thì khá dễ. Việc triển khai huy hiệu học thì không.
Mon có độ khó gần như ngược lại. Một bộ sinh kiểu mon hạn chế thì cực kỳ dễ hình dung. SVG đặc biệt phù hợp với bài toán này vì đã có sẵn path, group, transform, clipping, mask và định nghĩa tái sử dụng. Một motif cơ sở có thể được định nghĩa một lần rồi khởi tạo lặp lại với các phép biến đổi.
Nhưng tái tạo sự đa dạng lịch sử của mon thực tế thì khó hơn nhiều. Phần khó không phải là vẽ ba bản sao xoay của một chiếc lá. Phần khó là xây dựng một bộ từ vựng motif và phép biến đổi tái tạo được logic thị giác của các ví dụ lịch sử mà không chỉ đơn thuần đồ lại và lưu trữ hàng nghìn thiết kế hoàn chỉnh.
Máy trạng thái hữu hạn có phải là trừu tượng đúng?
Một câu hỏi thú vị là liệu mỗi hệ thống nhận diện thị giác có thể được biểu diễn như một máy trạng thái hữu hạn hay không.
Với một tập con hạn chế có chủ đích, câu trả lời là có. Bộ sinh phương Tây bắt đầu với nền và tincture, có thể thêm ordinary cùng tincture, rồi chọn charge, tincture và bố cục trước khi hoàn tất. Các chuyển trạng thái bị ràng buộc bởi lựa chọn trước đó: chọn nền màu có thể thay đổi tincture được phép hoặc trọng số cho charge. Bộ sinh mon bắt đầu với motif, chọn sơ đồ lặp và đối xứng, rồi cố định hướng, khung bao và trang trí.
Nhưng máy trạng thái hữu hạn thuần túy có lẽ là trừu tượng sai cho cả hai hệ thống. Cả hai đều có tính phân cấp. Một charge có thể chứa hoặc tương tác với charge khác. Một nền có thể được chia thành các vùng mà bản thân chúng cũng cần được mô tả. Một mon có thể chứa các nhóm phần tử lặp lại bên trong những cấu trúc bao quanh hoặc lặp lại lớn hơn.
Điều đó hướng tới ngữ pháp, cây hoặc biểu diễn dạng đồ thị thay vì máy trạng thái phẳng. Máy trạng thái hữu hạn có thể hữu ích để điều khiển quá trình sinh, còn cây biểu diễn thiết kế được sinh ra. Sự phân biệt này có lẽ đáng được giữ lại.
Sơ đồ luồng trạng thái sinh
Bài học cốt lõi: hỏi về phép toán, không hỏi về đối tượng
Điều hữu ích nhất rút ra từ việc so sánh hai truyền thống này là: sinh tự động không nên bắt đầu bằng câu hỏi "trong lĩnh vực này có những đối tượng nào". Nó nên bắt đầu bằng câu hỏi "có những phép toán nào".
Một danh mục cho tôi biết huy hiệu có sư tử, đại bàng, thánh giá, thục quỳ, hoa cúc, hình tròn, hình thoi và hàng nghìn motif khác. Một hệ sinh cho tôi biết rằng mọi thứ có thể được chia, lặp, phản chiếu, xoay, đóng khung, chồng lên nhau, tương phản, nhóm lại và phụ thuộc lẫn nhau. Danh sách thứ hai mạnh hơn nhiều — và điều này đúng vượt xa khỏi phạm vi huy hiệu.
Mỗi khi muốn sinh tự động một thứ gì đó bắt nguồn từ một truyền thống thị giác lịch sử, ta cần cưỡng lại cám dỗ coi truyền thống đó như một thư viện tài nguyên. Mục tiêu nên là xác định những luật tạo ra các cấu trúc dễ nhận diện. Phần khó là xác định luật nào thực sự thuộc về truyền thống lịch sử và luật nào là phân loại do người đời sau áp đặt để giải thích nó.
Mở rộng ra ngoài huy hiệu
Mon Nhật Bản và huy hiệu Tây Âu chỉ là hai ví dụ về các hệ thống mã hóa bản sắc bằng thị giác. Còn nhiều hệ thống khác đáng nghiên cứu dưới góc nhìn sinh tự động:
- Tartan Scotland: bản sắc được biểu diễn qua chuỗi dải màu lặp lại và giao điểm của chúng
- Cờ hiệu: kết hợp phối trí hình học với bộ từ vựng hạn chế về cách chia, màu sắc và biểu tượng
- Dấu thương nhân và dấu thợ nề: hệ thống nhận diện cá nhân đơn giản hơn nhiều
- Phù hiệu quân sự, dấu gia súc, con dấu, dấu nhà sản xuất và logo doanh nghiệp hiện đại: đều giải quyết những bài toán tương tự dưới các ràng buộc công nghệ và xã hội khác nhau
Thậm chí hệ chữ viết cũng có thể thuộc phạm vi khảo sát này. Một khi nhận diện thị giác được hiểu như ngữ pháp thay vì danh mục, ranh giới giữa sinh một phù hiệu và sinh một ký tự trở nên mỏng đến bất ngờ.
Điều đó đặc biệt thú vị với các dự án sinh văn hóa giả tưởng, nơi hệ chữ viết, huy hiệu, cờ hiệu và các hiện vật văn hóa khác cuối cùng đều đối mặt với cùng một câu hỏi: tập luật nhỏ nhất hữu ích nào đủ để sinh ra thứ trông như thuộc về một truyền thống thị giác mạch lạc? Đó có lẽ là câu hỏi hiệu quả hơn nhiều so với việc hỏi có thể nhét bao nhiêu biểu tượng vào cơ sở dữ liệu.
Khi sinh tự động, hãy hỏi về các phép toán có thể áp dụng, chứ đừng chỉ hỏi về những đối tượng tồn tại.
Nguồn tham khảo: Bartolus de Saxoferrato, De Insigniis et Armis (khoảng 1350); John W. Dower, The Elements of Japanese Design (2000); Stephen Friar, A New Dictionary of Heraldry (1987); Stephen Turnbull, Samurai Heraldry (2002).

