作者future1234 (Low)
标题资料压缩技术(辅大,97台联大爱哭题)
时间Tue Sep 2 10:34:22 2008
※ [本文转录自 future1234 信箱]
作者: future1234 (Creep)
标题: 资料压缩技术
时间: Fri Jul 4 09:47:36 2008
资料压缩技术:
1. Run Length Encoding—纪录重复次数
将一连串相同的资料改以两个byte来表示,前一个字元代表该串资料的长度(也就是重复次数),後面一个字元才是资料。
范例:0001000001001000000000010100000001011001 (共40个bits)
两个1之间0出现的次数分别为3、5、2、10、1、7、1、0、2,这些值就称为0的run length。我们可用三个位元的值来表示0的 run length,得到的压缩结果
011 101 010 111 011 001 111 000 001 000 010 (共33个bits)
2. Relative Encoding—纪录连续资料区块(data block)的差异
范例:88, 90, 95, 98, 92 (共2 * 5 = 10个bytes)
88, +2, +5, +3, -6 (共2 + 1 * 4 = 6个bytes)
3. Frequency-dependent encoding—依文字的使用率来编码
在一个英文单字中e, t, a, i 为较常见,而z, q, x则是最少用到的。
范例:e就由1表示,t就由0表示,a就由01表示,如此编下去。
4. LZ encoding (adapting dictionary encoding) —字典基础编码法(Dictionary-based encoding)
范例: A good example (共8 + 32 + 56 = 96个bits)
页/个 1/1 823/3 67/4 (共8 + 16 + 12 = 36个bits)由4bits表示-8~7
LZ77:由三个栏位构成, (1) 文字起始位置(2)长度(3)文字
范例: xyxxyzy(5, 4, x)
Step1:由最後的y往前数5个符号 x
Step2:确认x开始後将要加到字串的最後方的4个符号xyxxyzy
Step3:将复制的4个符号加到字串最後方 xyxxyzyxxyz
Step4:最後在加上x在字串最尾端 xyxxyzyxxyzx
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 211.74.191.134
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.162.51
1F:→ toy4500809:爱哭题是什麽意思@@ 09/20 22:25