欢迎来到天天文库
浏览记录
ID:25379086
大小:59.50 KB
页数:8页
时间:2018-11-20
《基于长度减半的二进制码流的压缩算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于长度减半的二进制码流的压缩算法摘要:提出了一种新的二进制码流压缩算法。该算法针对二进制码流中的黑长、白长进行减半压缩处理,且可依据黑长与白长的分布特点,选取不同的初始长度开始进行减半压缩处理。数值实验表明,该算法在压缩效率上高于传统的游程编码(RLC)方法,具有较好的应用价值。 关键词:无损压缩;游程编码;位平面编码;图像编码;二值图像压缩;二进制码流 中图分类号:TP391 对二值信源数据D:110100000111111100011111111001111111111111111100000000111111
2、1111111110011110000000000000000000000111111111111111111111111111111101111100000000000011111111100000000000000000000000000000000000。 如令l012,l114,得到的商编码表T11、余数编码表T21如下: T11:1101000111110011111100111111111100000111111111001110000000000001111111111111111101111000000
3、0111111000000000000000000 T21:111001000011011 可以看到编码后码字的总长度要比原始游长要短,且表示商的码字与表示游长小于l11/l01的码字不会有重码出现。编码后,黑白游长的码字的长度为:(L0n+l01)/2」+1b或(L0m+l11)/2」+1b(x」表示对x向下取整)。生成的商编码表T11内的码字连续黑点和连续白点仍是交替出现的且有较长的黑长和白长,因此可以用上述算法进行二、三等多次编码。 假设编码表T11可以进行二次编码并假设特征长度为l12、l02。依照上文
4、提到的算法,得到新的商编码表T12,和余数编码表T22。可以看出,只要保存编码表T12,T22和T21及特征长度l11、l01,l12、l02,就可以恢复原始图像数据。三次编码在商编码表T12进行,特征长度为l13、l03,得到的编码表商编码表T13和余数编码表T23。若令l025、l123,l032、l132,对上面例子中的编码表T11进行多次编码可得: T12:1101000111100111100111111000001111110011100000000111111111101110000001111000000
5、00000 T22:111000101011 T13:110100111001110011110001111001100000111111011000111000000 T23:01000001001001001 经过三次编码后信源数据由191b压缩到125b。一般地,经过k次编码后,保存的数据为k次编商编码表T1k,余数编码表T2k,T2(k-1),,T22和T21及特征长度l1k,l0k,l1k-1,l0k-1,,l12,l02,l01,l11。可以把特征长度l1k、l0k,l1(k-1),l0(k-1),,l
6、12、l02,l01,l11放入编码表T3。实验表明,特征长度一般取小于16的值,故可以用4b表示。 2.2编码方法及步骤 基于2.1节提出的编码方法,数据多次分组压缩算法的具体步骤如下: 1)统计白长和黑长的数目并分别计算白长L0m、黑长L1n的大小。 2)对二值图像中白长和黑长进行预处理,选择合适的常数l01、l11,根据公式: Q0m1(L0m+l01)/2 R0m1(L0m+l01)%2(1) Q1n1(L0n+l11)/2 R1n1(L0n+l11)%2(2) 计算出各黑长和白长的商及余数,这里
7、n、m1,2,3,。将商与余数分别按顺序存入编码表T11和编码表T21。对游长L小于l的黑长或白长只需在编码表的黑/白长只需在编码表T11里存放原始的L个b。 3)对编码表T11进行预处理编码;若T11编码后不能压缩,则转到步骤6),否则继续。 4)选择合适的常数l0k、l1k根据下面公式: Q0mk(L0(m-1)k+l0k)/2 R0mk(L0(m-1)k+l0k)%2(3) Q1nk(L1(n-1)k+l1k)/2 R1nk(L1(n-1)k+l1k)%2(4) 得到第k次编码的商Q0mk、Q1nk,写
8、入编码表T1k,并将余数存入编码表T2k。其中n、m1,2,3,;k2,3,。 5)对编码表T1k,进行预处理编码,如果仍可以压缩则返回步骤4),否则继续。 6)在编码表T3第一、二比特位存储常数l00,l01,,l0k,,l10,l11,,l1k,的数目K0、K1,第三比特位存储八个位平面的起始位
此文档下载收益归作者所有