关于LZW算法的改进研究(3)
2014-01-24 01:12
导读:C={(1,0,1),(2,0,2),(3,0,3),(4,1,1),(5,1,2),(6,1,4),(7,1,3),(8,1,5),(9,1,2),(10,1,3)}。 3.2 LZWC编码过程 (1)由于x1x2,a仅出现1次,
C’={(1,0,1),(2,0,2),(3,0,3),(4,1,1),(5,1,2),(6,1,4),(7,1,3),(8,1,5),(9,1,2),(10,1,3)}。
3.2 LZWC编码过程
(1)由于x1≠x2,a仅出现1次,不符合RC编码的条件,所以,不能用RC编码器对其进行编码。但是,它符合LZW编码的条件,由LZW编码器,则a的LZWC编码为(1,1,1)。
(2)由于x2≠x3,b仅出现1次,不符合RC编码的条件,所以,不能用RC编码器对其进行编码。但是,它符合LZW编码的条件,由LZW编码器,则b的LZWC编码为(2,1,2)。
(3)由于x3≠x4,a仅出现1次,不符合RC编码的条件,所以,不能用RC编码器对其进行编码。但是,它符合LZW编码的条件,由LZW编码器,则a的LZWC编码为(3,1,1)。
(4)由于x4≠x5,b仅出现1次,不符合RC编码的条件,所以,不能用RC编码器对其进行编码。但是,它符合LZW编码的条件,由LZW编码器,则b的LZWC编码为(4,1,2)。
(5)由于x5≠x6,c仅出现1次,不符合RC编码的条件,所以,不能用RC编码器对其进行编码。但是,它符合LZW编码的条件,由LZW编码器,则c的LZWC编码为(5,1,3)。
(6)由于x6≠x7,b仅出现1次,不符合RC编码的条件,所以,不能用RC编码器对其进行编码。但是,它符合LZW编码的条件,由LZW编码器,则b的LZWC编码为(6,1,2)。
(7)由于x7≠x8,a仅出现1次,不符合RC编码的条件,所以,不能用RC编码器对其进行编码。但是,它符合LZW编码的条件,由LZW编码器,则a的LZWC编码为(7,1,1)。
(转载自中国科教评价网www.nseac.com )
(8)由于x8≠x9,b仅出现1次,不符合RC编码的条件,所以,不能用RC编码器对其进行编码。但是,它符合LZW编码的条件,由LZW编码器,则b的LZWC编码为(8,1,2)。
(9)由于x9=x10,x10=x11,c重复出现3次,符合RC编码的条件,则ccc的LZWC编码为(9,3,3)。
(10)由于x11是最后一个数据,前缓冲区没有数据通过了,编码过程到此结束。
C’={(1,1,1),(2,1,2),(3,1,1),(4,1,2),(5,1,3),(6,1,2),(7,1,1),(8,1,2),(9,3,3)}。
所以,LZWC算法的平均字符压缩率较高,压缩时间较短,较LZW算法有一定的优势。
4 结 论
本文在LZW算法的基础上,提出了一种改进的算法。命名为LZWC算法,LZWCS算法在压缩方面比LZW算法有了较大的提高,它适合对文本、字符、数据等类型的文件进行压缩。对于重复字符很少的输入流,新算法和LZW算法的压缩效果差别不大。但是,对于重复字符较多的输入流,新算法压缩效果的优势十分明显。但由于新算法兼容LZW算法,所以,它在应用中比单纯的LZW算法具有更好的性能。
参考文献
[1] 姜 丹.信息论与编码[M].合肥:中国科学技术大学出版社,2001.
[2] 张凤林,刘思峰. LZW*:一个改进的LZW数据压缩算法[J]. 小型微型计算机系统.2006,27(10)1897-1899
[3] 吴宇新,余松煌.对 LZW 算法的改进及其在图像无损压缩中的应用[J].上海交通大学学报, 1998,3 (29): 110-113 (转载自中国科教评价网http://www.nseac.com)
[4] 卓 越, 杨长生, 宋广华.一种基于自适应字典的通用无损压缩算法[J]. 计算机工程, 2001, 27(2): 149-151
[5] David Salomon. Data Compression: The Complete Reference [M].Springer-Verlag New York Inc.,200