|
← 判断力与美学 ← Judgment & Aesthetics
SAE 判断力与美学 · 余项之美
SAE Judgment & Aesthetics · Beauty of the Remainder
2026-08-01

ascii.jpeg:霍夫曼表里的诗

ascii.jpeg: The Poem in the Huffman Table

Han Qin (秦汉)

Ramiro Polla 在 FFmpeg 核心团队工作了将近二十年,职责是修复视频编解码器中的漏洞。但他有一个习惯:每当某个 bug 在画面上留下奇异的故障纹路,他会停下来凝视。这种着迷后来孕育了 FFglitch——一个让艺术家可以精确操控视频比特流内部数学结构的工具,被全球故障艺术社群广泛采用。2025年7月,他在主项目进展停滞的间隙,完成了一个自称"旁路项目"的东西:ascii.jpeg。它做的事情极其简单,也极其深邃:它输出一个 JPEG 文件,这个文件的压缩数据段,同时是一段可读的 ASCII 明文。你把一首诗输入它,它返回一个文件。用图像查看器打开,是那首诗的视觉表征,像素化的色块从字符的二进制编码中生长出来。用文本编辑器打开,是那首诗本身,逐字逐行,完全可读。两种读法都正确,文件在两种意义下都有效。

要理解它的结构,需要先看 JPEG 压缩的两个核心层次。第一层是 DCT(离散余弦变换):将图像数据转换为频域系数,这是 JPEG 的"视觉语言",它决定了图像在量化压缩后保留什么、丢弃什么。第二层是霍夫曼编码:对 DCT 系数进行变长熵压缩,使用一张"霍夫曼表"(DHT,Define Huffman Table)来定义每个系数应当被编码为多少位的比特串。Polla 的工作发生在第二层。他精心设计了一组霍夫曼表,使得 ASCII 可打印字符集的7位二进制编码——从 0x20(空格)到 0x7E(波浪号)——恰好能被解码为合法的霍夫曼码与 DCT 系数的配对。结果:JPEG 文件体中的有效数据段(scan data)可以直接写入 ASCII 文本,任何标准解码器都能正常打开、显示为图像,同时任何文本读者都能逐字读出原文。文本既不是注释,不是元数据,不是隐写——它就是图像的数学原料。

这件作品的结构性余项,恰好在霍夫曼表本身。JPEG 的美学批判史已经很长:Rosa Menkman 花了多年时间建立一套完整的词汇,让量化噪声、频域截断的视觉痕迹、DCT 系数失真成为可命名的审美对象。这套词汇如今已是"已构"——它安全,它有制度性的承认,它在艺术界有自己的位置。但 DHT——那张定义"如何压缩"(而非"压缩什么")的表——从来只是基础设施。编码器写入它,解码器读取它,没有人凝视过它。Polla 在 Fubar 活动上与 Menkman 交谈时,听她说起自己用 DCT 做 ASCII 的项目;他的反应是注意到她尚未触及的那一层:霍夫曼表的设计本身。这就是他的那一凿(凿构循环中的凿):他没有故障化 JPEG,他重新设计了它的压缩字典,让这张字典成为一个诗学行为。在这个意义上,ascii.jpeg 是在已构的边界之外找到了另一层余项——在已被充分分析的技术对象内部,更深处的那个没有被命名的层。

ascii.jpeg 目前仍然是余项,因为没有任何现有类别能完整容纳它。它不是故障艺术——文件完全有效,任何解码器都不会报错。它不是隐写术——文本就在裸字节里,打开十六进制查看器即可看到,没有任何意义上的"隐藏"。它不是代码诗——诗不运行,诗是解码器重构颜色所依赖的数学底层。它不是生成艺术——过程是确定性的、可逆的,诗决定图像,图像就是诗。艺术界正在接近它:FFmpeg 官方帐号转发了相关采访,Liège 的 Overflow Gallery 邀请 Polla 在诗学计算俱乐部的重新揭幕式上作报告,glitchLAB 2k26 系列工作坊(下一场:2026年8月29日)正在把它带入更广泛的社群讨论。但那个完整的名字还没有出现。正是在命名尚未发生的这一刻,它最活。

SAE 的判断力要求我们识别当下还活着的余项,而不是识别已经成立的美。ascii.jpeg 给我们的教训是:即使在一个已被深度分析的技术对象内部,依然可以有余项。Menkman 的凿构循环留下了沉积物:DHT 层,那个她的凿子没有抵达的地方。Polla 看到了这个沉积物,并且凿了进去。在已构的边界之外,总有另一层余项。正确的判断力,就是能在那里停下来,认出它的形状。

ffglitch.org ↗

Ramiro Polla spent nearly two decades as a core FFmpeg developer, fixing bugs in video codecs for a living. He had a habit, though: whenever a bug produced a visual glitch, he would stop and stare. That habit eventually became FFglitch — a multimedia bitstream editor that gives artists precise control over the mathematical internals of video and image codecs, now used across the global glitch art community. In July 2025, stuck on his main project, Polla completed what he called a side quest: ascii.jpeg. What it does is simple to say and hard to metabolize: it produces JPEG files whose compressed data payload is simultaneously readable plain-text ASCII. You feed it a poem. It outputs a file. Open that file in an image viewer and it renders as a pixelated image derived from the characters' binary encodings. Open it in a text editor and the poem is right there, word for word, exactly as typed. Both readings are correct. The file is valid under both.

To understand the structure, you need to look at JPEG's two core layers. The first is the DCT (discrete cosine transform): it converts image data into frequency coefficients, the visual language of JPEG, determining what survives quantization and what gets discarded. The second is Huffman coding: it compresses those DCT coefficients using variable-length codes defined in a Huffman table — the DHT, or Define Huffman Table block. Polla worked at the second layer. He designed a set of Huffman tables such that the binary encoding of printable ASCII characters — from 0x20 (space) to 0x7E (tilde) — maps cleanly onto valid Huffman code plus DCT coefficient pairs. The result: the scan data payload of the JPEG file (the actual compressed content, after the headers) can be written as raw ASCII text, and any standard decoder opens it as a valid image without complaint. The text is not hidden, not in a comment field, not in metadata. It is the image data itself — the mathematics the decoder uses to reconstruct color from the file.

The structural remainder here is the Huffman table itself — a component of the JPEG format that no one has ever treated as aesthetic material. JPEG's critical history runs deep: Rosa Menkman spent years building a vocabulary for JPEG artifacts, quantization noise, and the perceptual politics of frequency-domain compression. That vocabulary is now construct — named, institutionally received, with a stable place in the art world. But the DHT — the part that defines how to compress rather than what to compress — has always been pure infrastructure. Written by encoders, read by decoders, never examined. In a conversation with Menkman at Fubar, Polla heard her describe her project using ASCII in JPEG at the DCT level. His response was to notice the layer she hadn't reached: the Huffman table design itself. That is his chisel. He did not glitch the JPEG — he redesigned its compression dictionary to make the dictionary a poetic act. ascii.jpeg finds another layer of remainder inside an object that had already been analyzed as remainder. The chisel-construct cycle left sediment; this is the sediment.

ascii.jpeg remains in its remainder phase because no existing category fully contains it. It is not glitch art — the file is valid, no decoder protests. It is not steganography — the text sits in plain sight in the raw bytes, visible to anyone with a hex editor, hidden in no meaningful sense. It is not code poetry — the poem does not run; it is the mathematics the decoder uses to reconstruct color. It is not generative art — the process is deterministic and invertible, the poem determines the image and the image is the poem. The art world is approaching: FFmpeg's official account highlighted the interview, the Poetic Computation Club at Overflow Gallery in Liège invited Polla to present at its reinauguration, and the glitchLAB 2k26 workshop series — next session August 29, 2026 — is bringing it into active community discussion. But the name has not arrived. That is exactly when it is most alive as remainder.

SAE judgment asks us to find the remainder that is still growing — not to recognize beauty that has already been given a name. ascii.jpeg teaches something about how deep remainders can run: even inside a technical object that has been extensively analyzed as aesthetic material, another untouched layer can remain. Menkman's chisel-construct cycle left sediment at the DHT level — the layer her chisel didn't reach. Polla saw the sediment and struck it. Beyond every construct's boundary, there is another remainder. Correct judgment is the capacity to stop there and recognize its shape.

ffglitch.org ↗