[发明专利]基于字符串并行搜索的LZW字典搜索方法有效
申请号: | 202010831764.0 | 申请日: | 2020-08-18 |
公开(公告)号: | CN112100455B | 公开(公告)日: | 2022-09-20 |
发明(设计)人: | 王永庆;史学森;刘东磊;杨娜;张春;马淑芬 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F16/903 | 分类号: | G06F16/903;G06F16/9038;G06F40/126;G06F40/157 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 高会允 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 字符串 并行 搜索 lzw 字典 方法 | ||
本发明公开了基于字符串并行搜索的LZW字典搜索方法,属于通信领域,该方法能够在保证相同压缩率的同时有效减少字典搜索次数,实现了压缩延时和复杂度的平衡。本发明包括如下步骤:取当前字符串序列中N个字符串为一个并行搜索组;每个字符串包括前缀和后缀两个字符。当前并行搜索组包含N个字符串。利用当前并行搜索组在LZW字典中进行搜索匹配,获得组匹配结果。在组匹配结果中,逢‘1’隔位取,逢‘0’顺位取;逢‘1’取地址,逢‘0’取前缀,得到码值,按顺序将所有的码值输出作为当前并行搜索组的LZW字典搜索结果。在当前字符串序列中,所有并行搜索组的LZW字典搜索结果组合为当前字符串序列的LZW字典搜索结果。
技术领域
本发明涉及通信技术领域,具体涉及一种基于字符串并行搜索的LZW字典搜索方法。
背景技术
LZW字典编码方法根据输入字符序列建立字典,并用字典的索引值代替原始字符,来实现数据压缩的目的。在压缩过程中,采用字典索引值代替输入字符串序列,并且将未出现过的字符串动态添加到字典中去;在解压缩过程中,根据输入的压缩码字在字典中进行搜索匹配,并根据匹配结果输出相应的字符串,同时进行字典更新。可见,LZW编码方法的压缩和解压缩过程都需要动态建立和搜索字典,势必会造成一定的压缩延迟。
通常改善LZW算法的延时问题可以通过设置字典大小和优化字典搜索方式来实现。其中,字典的大小可以通过实验仿真的方式设置一个最优值,而进一步改善LZW算法压缩延迟的问题,就可以从优化字典搜索方式的角度来考虑。
字典搜索方式主要有三种:顺序搜索、并行搜索和哈希表搜索。顺序搜索方法按照字典地址从小到大的顺序串行搜索,直到搜索到匹配的字典词条,该方法简单易于实现,但是搜索延时很大。并行搜索方法首先将字典划分为多个小字典,然后对小字典进行并行搜索,该算法有效降低了搜索延时,但是对每个小字典都需要进行更新,从而导致控制逻辑复杂。哈希表搜索根据映射函数查找出输入字符在字典中存储的位置,可以降低搜索延时,但是哈希表搜索存在地址冲突问题。
以上目前已有的字典搜索方式,仍然存在压缩延时和复杂度无法平衡的问题,因此目前亟需一种能够平衡压缩延时和复杂度的LZW字典的搜索方式。
发明内容
有鉴于此,本发明提供了基于字符串并行搜索的LZW字典搜索方法,该方法能够在保证相同压缩率的同时有效减少字典搜索次数,实现了压缩延时和复杂度的平衡。
为达到上述目的,本发明的技术方案为:基于字符串并行搜索的LZW字典搜索方法,包括如下步骤:
S1、取当前字符串序列中N个字符串为一个并行搜索组;每个字符串包括前缀和后缀两个字符。
S2、当前并行搜索组包含{x1,x2}{x2,x3}…{xN,xN+1}共N个字符串;对于第i个字符串{xi,xi+1},xi为前缀,xi+1为后缀,i为正整数,i∈[1,N]。
S3、利用当前并行搜索组在LZW字典中进行搜索匹配,获得组匹配结果R={R1,R2,......,RN}。
其中Ri表示第i个字符串的匹配结果;Ri的取值为0或1,Ri=0时表示第i个字符串匹配失败;Ri=1表示第i个字符串匹配成功。
S4、在组匹配结果中,选取当前判别值Rj,j初始取值为1;
对于当前判别值Rj的取值进行判断,j∈[1,N]。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010831764.0/2.html,转载请声明来源钻瓜专利网。