技术

分形压缩是什么:用 IFS 自相似性找重复的视觉模式

📅 2026-09-07 · ✍️ 闪压技术团队 · ⏱ 6 分钟阅读

分形压缩是什么:用 IFS 自相似性找重复的视觉模式

如果你听过"压缩"这个词,大概率想到的是 zip、rar、7z 这类把文件变小的工具。但有一类不那么常见的压缩思路,核心不是"字符串里有重复",而是"画面里有自相似"。分形压缩就是这条路线的代表。它的思路来自一个朴素观察——自然界的很多图像,在大尺度和小尺度上长得差不多。云朵、山脉、海岸线、树叶、闪电,放大看和缩小看常常有相似的纹理。抓住这种"自相似",就能用很短的描述还原整张图。

分形压缩的核心思路:把图像当成 IFS 的不动点

分形压缩的理论底座是 IFS,也就是"迭代函数系统"。它本质上是一组收缩映射——把一个图像反复做"缩小、变形、平移、旋转",最终会收敛到一张固定的图。我们管这张图叫这个 IFS 的"不动点"。

分形压缩做的事情正好反过来:给定一张图像,反推一组收缩映射,让它们的不动点尽量逼近原图。这个反推过程叫"分形编码"。一旦编码完成,文件里只需要存"这组映射的参数",不再需要原始像素。解码时,任意一张图像从任意起点出发,反复套用这组映射,自然就会收敛到那一张图。

这个"任意起点都会收敛到同一张图"的特性,叫做"压缩映射不动点定理",是分形压缩在数学上能成立的关键。换句话说:你不需要存原始数据,只要存"如何从任何起点变形到目标"的规则,就能在解码时重新生成图像。

分形压缩的工作流程:分块、匹配、存参数

实际的编码流程大致分四步。第一步,把图像切成小块,称为"值域块";每个值域块对应一个"定义域块",后者通常是更大的方块,内部还要做简单的仿射变换。第二步,在图像里搜索"和值域块长得像"的定义域块,匹配过程通常用像素差平方和作为相似度度量,容忍灰度偏移和对比度变化——这是分形压缩中最耗时的部分。第三步,记录映射关系,存下来的不是原图像素,而是"哪个值域块对应哪个定义域块、做了何种仿射变换、亮度偏移是多少",所有块做完,文件里就是一张由映射关系组成的码本。第四步,解码时,任意初始图像不断套用这些映射,经过若干轮迭代就会收敛到与原图非常接近的图像,解码速度通常远快于编码,因为它不需要搜索,只需要反复套用规则。

值得注意的是,这种压缩天然是有损的——值域块和定义域块之间永远存在像素差,差得越多,失真越明显。编码时通过控制误差阈值调节:阈值大,文件更小,失真更大;阈值小,文件更大,失真更小,和有损压缩大家族"用质量换体积"的思路完全一致。

另一个相关特性是分辨率无关性。解码从任意起点迭代到不动点,理论上可输出任意分辨率——给一个更高分辨率的起点,最终就会得到更高分辨率的不动点。这种"天然支持任意尺寸放大"的特性,在当时非常独特,让分形压缩成为一代人研究"放大算法"的起点。

为什么分形压缩没成为主流,又留下了什么

听起来很优雅,但分形压缩有几个工程硬伤,让它没能进入主流压缩软件。第一,编码极慢。在图像里搜索"最像的定义域块"是搜索复杂度爆炸的任务,即使加了加速策略,编码时间也比主流有损方法长得多;闪压最新版本这种追求批量高效、极速压缩的桌面工具,自然不会把分形当成主力。第二,天然有损,且对纹理复杂的图不够鲁棒——含有大量高频细节、噪声、人脸的图像,自相似性弱,编码质量明显下滑,这类图像更适合 DCT、小波这种基于频域分解的方法,后来兴起的神经网络方法则在更广的图像类型上表现更稳。第三,与现代编码器生态割裂——主流图片和视频格式在设计时已经假设了频域建模,分形压缩的 IFS + 不动点思路要嵌入进现有格式,需要改写整个流水线,这种兼容性成本让分形压缩逐渐变成理论课上必讲、工程里少见的方案。

不过分形压缩自己没成为主流,它的两条思想却被现代压缩器继承了下来。"用一组规则反复迭代就能生成目标"的思路,和今天神经网络里的迭代优化理念不谋而合——模型压缩、神经图像压缩里,经常能看到从一个随机起点出发、迭代到目标分布的影子,本质和 IFS 不动点有相通之处。"自相似性作为冗余来源"这一观察,在更广的范围内被重新诠释:不只是视觉,音频里也有重复节奏、相近音色,文本里也有重复短语、相近句式,不同模态的冗余都可以从"自相似"的角度去刻画。理解了分形压缩,再看字典压缩、熵编码、神经网络压缩时,会发现它们都在试图抓住不同形态的冗余——只是抓手不同。

对桌面压缩工具用户来说,分形压缩更多是"概念上的邻居"而不是"功能上的选项"。闪压最新版本的图片、视频、PDF 等模块,走的都是有损频域 + 字典编码的成熟路线,因为这条路在速度、兼容性、压缩比上更平衡。想要在工程上真正用上"自相似"思路,可以关注两个相关领域:一是基于学习的图像压缩,在神经网络的潜在空间里寻找自相似性的高效表示;二是视频编码里的参考帧机制,本质也是在更大范围内搜索自相似块,只是搜索空间从单张图扩展到了多帧——这是分形压缩留给后人的一组现代化路径。

如果想顺道理解其他思路,可以看 DEFLATE 与 Zstandard 的流水线设计,理解现代无损压缩器怎么组织数据;无损与有损压缩的核心差异这篇文章则适合理清有损、无损两条路的取舍逻辑;字典压缩原理:四十年走过的工程遗产讲的是另一类"用规则抓冗余"的经典思路——三条路径都能加深对"压缩究竟在做什么"这件事的理解。

相关阅读

标签

技术分形压缩IFS 自相似迭代函数系统有损压缩自相似性压缩原理科普分形图像压缩压缩算法

喜欢这篇?下载闪压试试

完全免费 · 本地处理 · 无广告

立即下载闪压
客服