维基百科 ひゃっか ,自由 じゆう 的 てき 百科 ひゃっか 全 ぜん 书
Lempel–Ziv–Storer–Szymanski (LZSS )是 ぜ 一 いち 个无损数 すう 据 すえ 压缩 算法 さんぽう ,属 ぞく 于LZ77 的 てき 派生 はせい ,1982年 ねん 由 ゆかり James Storer和 わ Thomas Szymanski 创建。LZSS发布于《Journal of the ACM》[ 1] 的 てき “Data compression via textual substitution”。[ 2]
LZSS是 ぜ 一种字典编码技术。它会尝试以符号 ごう 字 じ 符 ふ 串 くし 替 がえ 换相同 どう 字 じ 符 ふ 串 くし 为一个字典 じてん 位置 いち 的 てき 引用 いんよう 。
LZ77与 あずか LZSS的 てき 主要 しゅよう 区 く 别是,LZ77的 てき 字典 じてん 引用 いんよう 可能 かのう 比 ひ 受替换的字 じ 符 ふ 串 くし 更 さら 长。在 ざい LZSS中 ちゅう ,如果长度小 しょう 于“盈 みつる 亏平衡 へいこう ”点 てん ,引用 いんよう 会 かい 被 ひ 省略 しょうりゃく 。此外,LZSS使用 しよう 单比特 とく 标志标记下 か 一个数据块是原文(字 じ 节)还是引用 いんよう 的 てき 偏 へん 移 うつ 与 あずか 长度。
此例是 ぜ Dr. Seuss所 しょ 著 ちょ 《Green Eggs and Ham 》的 てき 开头,每 まい 行 くだり 开头的 てき 已 やめ 有 ゆう 字 じ 符 ふ 总数是 ぜ 为方便所 べんじょ 设。
0: I am Sam
9:
10: Sam I am
19:
20: That Sam-I-am!
35: That Sam-I-am!
50: I do not like
64: that Sam-I-am!
79:
80: Do you like green eggs and ham?
112:
113: I do not like them, Sam-I-am.
143: I do not like green eggs and ham.
这是该段文 ぶん 本 ほん 在 ざい 未 み 压缩形式 けいしき 的 てき 177字 じ 节。假 かり 设盈亏平衡 へいこう 点 てん 是 ぜ 2字 じ 节(并因此是2字 じ 节的指 ゆび 针/偏 へん 移 うつり 对),那 な 么加上 じょう 一字节的新行字符,此文本 ほん 使用 しよう LZSS压缩后 きさき 将 はた 变为94字 じ 节:
0: I am Sam
9:
10: (5,3) (0,4)
16:
17: That(4,4)-I-am!(19,16)I do not like
45: t(21,14)
49: Do you(58,5) green eggs and ham?
78: (49,14) them,(24,9).(112,15)(93,18).
注意 ちゅうい :这不包括 ほうかつ 标记下 か 一个文本块是指针或原文的12字 じ 节。如果加 か 上 じょう 它,该段文 ぶん 本 ほん 变为106字 じ 节,仍会少 しょう 于原文 げんぶん 的 てき 177字 じ 节。
许多流行 りゅうこう 的 てき 存 そん 档格式 しき 如PKZip 、ARJ 、RAR 、ZOO 、LHarc 都 と 使用 しよう LZSS而不是 ぜ LZ77作 さく 为主要 しゅよう 的 てき 压缩算法 さんぽう ;原 げん 文字 もじ 符 ふ 和 わ 长度距离对的编码方式 ほうしき 各 かく 有 ゆう 不同 ふどう ,最 さい 常 つね 见的选项是 ぜ 霍夫曼编码 。大 だい 多数 たすう 实现源 げん 于1989年 ねん 日本 にっぽん 學者 がくしゃ 奧村 おくむら 晴 はる 彥所 ところ 開發 かいはつ 的 てき 代 だい 码。[ 3] [ 4] Allegro 程 ほど 序 じょ 库第四版可以编码和解码LZSS格式 かくしき [ 5] ,但 ただし 该特性 せい 在 ざい 第 だい 五 ご 版 はん 中 ちゅう 被 ひ 去 さ 除 じょ 。Game Boy Advance BIOS可 か 以解码一个稍作修改的LZSS格式 かくしき 。[ 6]
^ (1982年 ねん ,928页至951页)
^ Storer, James A.; Szymanski, Thomas G. (October 1982).
^ Simtel.net mirror.
^ Haruhiko Okumura.
^ Hargreaves, Shawn, et al.
^ Korth, Martin.