当前位置: 首页 > news >正文

[信息论与编码理论专题-44]:用“编号”代替重复出现的字符串,并非对每个字母单独编码,而是对“单词“进行编码,最长匹配法。

LZW 编码(Lempel-Ziv-Welch)是一种无损数据压缩算法,由 Abraham Lempel、Jacob Ziv 于 1978 年提出,Terry Welch 在 1984 年改进并推广。它无需预先知道数据统计特性,能自适应地构建字典,特别适合压缩具有重复模式的数据(如文本、图像)。

下面从原理、步骤、优缺点、应用四个方面通俗讲解。


一、核心思想:用“编号”代替重复出现的字符串

LZW 的本质是:边压缩边建一本“短语字典”,把常见子串映射为短代码

  • 初始字典:包含所有单字符(如 ASCII 的 0–255);
  • 压缩时:不断寻找当前最长匹配的已有子串,输出其编号,并将“该子串 + 下一个字符”作为新词条加入字典;
  • 解压时:同步重建相同字典,反向还原原始数据。

关键优势不需要传输字典!编解码双方按相同规则动态生成,完全同步。


二、编码过程(以字符串 "ABABABA" 为例)

初始设置

  • 字符集:A=65, B=66(ASCII)
  • 字典初始:
    0:A, 1:B, 2:C, ..., 255:ÿ(共 256 项)
  • 下一个可用编号:256

步骤分解

表格

当前输入最长匹配输出新增字典项
ABABABAA → AB(新)输出 A (65)256: AB
BABABAB → BA(新)输出 B (66)257: BA
ABABAAB(已在字典 #256)→ ABA(新)输出 256258: ABA
ABAA → AB(#256)→ ABA(#258)→ ABAB(新)输出 258259: ABAB

📌 实际输出序列:65, 66, 256, 258

原始 7 字节 → 压缩为 4 个整数(若用 12 位编码,约 6 字节),且随着字典增长,压缩率提升。


三、解码过程(同步重建字典)

输入:65, 66, 256, 258

初始字典同编码端(0–255)

输入码对应字符串输出新增字典
65"A"A
66"B"B256: A + B[0] = "AB"
256"AB"AB257: B + A[0] = "BA"
258?先构造:上一项 "AB" + 自身首字符 'A' → "ABA"

✅ 解码结果:A B AB ABA→ 拼接为 "ABABABA"

💡神奇之处:解码器在收到 258 时,字典中尚无 258,但可通过“上一项 + 首字符”推导出来!


四、关键技术细节

1.字典大小限制

  • 通常用12 位编码→ 最多 4096 个条目(0–4095);
  • 超出后可:
    • 清空字典重新开始;
    • 或使用动态位数(如 GIF 格式固定 12 位)。

2.无需传输字典

  • 编解码器从相同初始状态出发,按相同规则更新,天然同步

3.适合重复模式数据

  • 文本("the the the")、简单图像(大面积单色)、日志文件等效果极佳;
  • 对随机数据(如加密文件)可能反而膨胀。

五、优缺点对比

表格

优点缺点
自适应:无需预知统计特性字典需内存:大字典占 RAM
编解码速度快(查表为主)初期压缩率低(字典未建立)
实现简单不适合高熵数据(如已压缩文件)
广泛标准化专利曾受限(1984–2004,现已过期)

六、经典应用场景

表格

格式/协议说明
GIF 图像使用 LZW 压缩调色板索引序列
TIFF 图像可选 LZW 压缩(无损)
Unix compress 命令早期 Unix 标准压缩工具
PDF可选 LZW 作为流过滤器
V.42bis 调制解调器协议数据压缩标准

⚠️ 注意:ZIP、PNG 等现代格式不再使用 LZW(因专利历史和效率),改用DEFLATE(LZ77 + 哈夫曼)。


七、与 LZ77/LZ78 的关系

  • LZ77:用“滑动窗口 + 指针”表示重复(如 "ABAB" → (2,2) 表示回退2字节复制2字节);
  • LZ78:显式构建字典,存储 (index, char) 对;
  • LZW:LZ78 的优化版,只输出 index,char 隐含在下一个条目中,更高效。

✅ 总结一句话:

LZW 是一位“自学习的速记员”——它一边听你说话,一边给常用词组编短号,越说越快,越压越小。

因其简洁、高效、无需先验知识,LZW 成为 20 世纪最成功的压缩算法之一,至今仍在 GIF 等场景焕发活力。

http://www.jsqmd.com/news/357774/

相关文章:

  • GLM-Image在包装设计的创新应用:3D效果预览
  • MusePublic大模型Vue前端集成实战:智能搜索界面开发
  • Die Gegenstnde mssen sich nach unserer Erkenntnis richten
  • SDXL 1.0电影级绘图工坊效果展示:赛博朋克机械义体金属反光精度
  • 风电功率预测不准?2026年行业痛点直击:高风速段“黑洞”背后的数据口径陷阱
  • SpaceX 万亿收购 xAI,AI 自建成人网站,OpenAI 贴脸开大 Anthropic!| AI Weekly 2.2-2.8
  • 2026年评价高的农田灌溉水泥涵管/环保水泥涵管工厂采购指南如何选(实用) - 行业平台推荐
  • 项目分析设计
  • 风电光伏功率预测:2026年,别再迷信大模型——复杂度越高越不稳?
  • [信息论与编码理论专题-45]:信源编码的本质是把一个离散空间的字符或字符序列,通过固定硬编码或不定的逻辑或固定的数学,映射到另一个空间中
  • heritrix3网络爬虫教程:功能详解与部署指南
  • fedora桌面安装virt-manager
  • 2026年热门的安徽明信片售卖机/安徽售卖机供应商 - 行业平台推荐
  • GLM-4V-9B生产环境部署:支持并发请求、图片缓存、响应流式输出的优化实践
  • 基于机器学习的番茄酱香气剖面预测研究
  • 谷歌年入 4000 亿却暴跌?SaaS 末日、超级碗互撕,AI 圈最魔幻的一周!
  • 2026年热门的打桩杉木桩/尖头杉木桩口碑排行热门品牌推荐(实用) - 行业平台推荐
  • 数据产品设计模式:常见架构方案对比分析
  • 湖南讯灵AI市场口碑怎么样,与同行对比排名情况 - 工业品网
  • 深度测评 10个 AI论文网站:自考毕业论文写作全攻略+格式规范推荐
  • AIGlasses_for_navigation多场景落地:地铁站、医院、校园无障碍导航部署
  • HY-Motion 1.0入门指南:SMPL骨骼结构解析与动作数据后处理技巧
  • STM32F103C8T6嵌入式语音终端:Qwen3-ASR-1.7B边缘计算实践
  • 新能源现货电量交易进入波动时代:气象不确定性如何转化为可调度的“可用容量”?
  • AWPortrait-Z WebUI界面详解:输入面板/输出图库/历史折叠区全标注
  • 基于长周期地震动响应的基础隔震结构半主动控制研究
  • Nano-Banana开源AI教程:MIT协议下二次开发Nano-Banana权重的路径
  • 2026年评价高的中间体生产耙式真空干燥机/除草剂生产耙式真空干燥机怎么选真实参考销售厂家参考 - 行业平台推荐
  • 雄县鸿德电气设备规模怎么样?实力企业深度剖析 - 工业设备
  • Nano-Banana Studio效果展示:极简纯白风智能穿戴设备拆解图用于官网展示