一种中文数据压缩及解压缩方法及相关设备的制作方法

文档序号:6577571阅读:130来源:国知局

专利名称::一种中文数据压缩及解压缩方法及相关设备的制作方法
技术领域
:本发明涉及数据压縮
技术领域
,尤其涉及一种中文数据压縮及解压縮方法及相关设备。
背景技术
:信息时代带来了"信息爆炸",数据量的激增使传输或者存储都需要对数据进行有效的压縮。特别是随着PDA、手机、导航仪等嵌入式终端的广泛应用,由于这些终端的硬件条件相对较低,无法满足海量数据的存储要求,因此,对海量数据进行压縮存储的需求更为迫切和严格。从1948年Shannon提出信息熵理论与一种简单编码方法-Shannon编码开始,数据压縮技术经历了快速发展阶段。现有的数据压縮技术主要分为两大类有损压縮技术和无损压縮技术。其中,有损压縮技术主要利用人类视觉对图像的某些频率成份不敏感的特性,允许在压縮过程中损失一定的数据,这使得压縮数据在解压縮时不能完全恢复为原始数据,但换来了很大的压縮率,并且压縮时损失的数据对理解原始数据的影响很小。有鉴于此,有损压縮技术被广泛应用于语音、图像和视频数据的压縮。无损压縮技术主要利用数据统计结果对数据进行压縮,其优点在于压縮数据在解压縮时可以完全恢复为原始数据而不引起任何失真,其缺点在于压縮率受到数据统计度的理论限制,不能无限制的增大。有鉴于此,无损压縮技术被广泛应用于程序、文本数据及一些特殊应用场合的图像数据(如指纹图像、医学图像等)的压縮,现有的无损压縮技术主要包括Shannon-Fano编码、Huffman编码、游程(R皿-length)编码、LZW编码(Lempel-Ziv-Welch,LZW)及算术编码等。由于在前文述及的嵌入式终端中,主要需要对中文数据进行压縮存储,以提高存储空间的利用率,因此,通常情况下只能采用前文已述无损压縮技术。发明人在对各种无损压縮技术进行分析、实验和比较之后,发现上述各种无损压縮技术虽然都具备压縮中文数据的能力,但在存储空间容量较小并且硬件性能指标相对较低的环境(如嵌入式设备)中,现有的无损压縮技术都存在压縮率不够高,无法对中文数据进行大幅度压縮的缺陷。
发明内容本发明实施例要解决的技术问题是提供一种中文数据压縮及解压縮方法及相关设备,能够实现中文数据的大幅度压縮。本发明实施例提供了一种中文数据压縮方法,所述方法包括步骤A、读取待压縮中文数据;步骤B、将所述中文数据进行分词,得到组成所述中文数据的分词集合;步骤C、从所述分词集合中读取一个分词,若所述分词由两个以上的汉字组成,则在预置的分词编码库中查找所述分词,若查找到,则从分词编码库中获取所述分词的编码,5并将所述编码存入压縮数据,所述编码在压縮数据中至多占用两个字节的存储空间;重复步骤C直到处理完所述分词集合中所有的分词。进一步,本发明实施例还提供了一种中文数据压縮装置,所述装置包括数据读取单元,分词单元,分词读取单元,分词类型判断单元,分词查找单元,第一数据压縮单元;所述数据读取单元,用于读取待压縮中文数据;所述分词单元,用于将所述中文数据进行分词,得到组成所述中文数据的分词集合.所述分词读取单元,用于从所述分词集合中读取一个分词,所述分词类型判断单元,用于判断所述分词读取单元读取出的分词是否为两个以上的汉字组成的分词,如果是,则触发所述分词查找单元;所述分词查找单元,用于在预置的分词编码库中查找所述分词,若查找到,则触发所述第一数据压縮单元;所述第一数据压縮单元,用于从分词编码库中获取所述分词的编码,并将所述编码存入压縮数据,所述编码在压縮数据中至多占用两个字节的存储空间。进一步,本发明实施例还提供了一种与前文所述中文数据压縮方法相对应的中文压縮数据的解压縮方法,所述方法包括步骤一、从压縮数据中提取编码,得到组成所述压縮数据的编码序列,所述编码序列中的每个编码在压縮数据中最多占用两个字节的存储空间;步骤二、从所述编码序列中读取一个编码;步骤三、判断所述编码是否为预置的分词编码库中的编码,如果是,则从分词编码库中提取所述编码对应的分词,并将所述分词存入解压縮数据中;重复步骤三直到处理完所述编码序列中所有的编码。相应地,本发明实施例还提供了一种中文压縮数据的解压縮装置,所述装置包括编码序列提取单元,编码读取单元,编码类型判断单元,第一数据解压縮单元;所述编码序列提取单元,用于从压縮数据中提取编码,得到组成所述压縮数据的编码序列,所述编码序列中的每个编码在压縮数据中最多占用两个字节的存储空间;所述编码读取单元,用于从所述编码序列中读取一个编码;所述编码类型判断单元,用于判断所述编码是否为预置的分词编码库中的编码,如果是,则触发所述第一数据解压縮单元;所述第一数据解压縮单元,用于从分词编码库中提取所述编码对应的分词,并将所述分词存入解压縮数据中。进一步,本发明实施例提供了一种包含前文所述中文数据压縮装置和中文压縮数据解压縮装置的嵌入式终端。上述技术方案具有如下有益效果本发明实施例提供了一种中文数据压縮技术,采用该技术得到的压縮数据,用至多占用两个字节存储空间的编码表示两个以上汉字组成的分词,使压縮数据相对于用占用两个字节存储空间的国标扩展码表示一个汉字的未压縮数据而言,本发明实施例提供的中文数据压縮技术实现了大幅度压縮中文数据。本发明实施例还提供了一种中文压縮数据的解縮技术,该技术能够实现压縮数据的快速解压縮。图1所示为本发明实施例提供的中文数据压縮方法流程图2所示为本发明实施例提供的中文数据压縮装置组成示意图3所示为本发明实施例提供的获取分词编码库的装置组成示意图4所示为本发明实施例提供的中文压縮数据解压縮方法流程图5所示为本发明实施例提供的中文压縮数据解压縮装置组成示意图。具体实施例方式为使本发明实施例的目的、技术方案、及优点更加清楚明白,以下参照附图对本发明实施例提供的技术方案进行详细说明。本发明提供了一种中文数据压縮方法,该方法包括如下步骤步骤A、读取待压縮的中文数据;步骤B、将所述中文数据进行分词,得到组成所述中文数据的分词集合;步骤C、从所述分词集合中读取分词,若所述分词由两个以上汉字组成,则在预置的分词编码库中查找是否有所述分词,若有,则获取所述分词的编码,并将所述编码存入压縮数据,所述编码至多(最多)占用压縮数据两个字节的存储空间;重复步骤C直到处理完所述分词集合中所有的分词。以上为本发明提供的中文数据压縮方法,采用该方法得到的压縮数据,用至多占用两个字节存储空间的编码表示两个以上汉字组成的分词,使压縮数据相对于用占用两个字节存储空间的国标扩展(GBK)码表示一个汉字的未压縮数据而言,本发明实施例提供的中文数据压縮方法实现了大幅度压縮中文数据。本发明提供的中文数据压縮方法的核心在于在压縮数据中,用至多占用两个字节存储空间的编码表示由两个以上汉字组成的分词,故以下对为什么可以用至多占用两个字节存储空间的编码表示由两个以上汉字组成分词的理论依据进行详细介绍。由汉字国标扩展(GBK)码编码规则可知,一个汉字对应唯一一个GBK码,且GBK编码库中共收录了汉字21003个,符号883个,还有1894个造字码位,并且简、繁体汉字融于一库,由此可知,GBK编码中收录的汉字总数不会超过32768(215)个。在一般操作系统中,通常用占用两个字节(即16Bits)存储空间的GBK码表示一个汉字,而两个字节可以表示65536个编码(065535),由前文记载可知,GBK编码库中所有独立汉字的总量不超过32768(215)个,因此,用两个字节表示编码的一半表示独立汉字已足够,那么,剩余的一半编码则可用于表示由两个以上汉字组成的分词。比如,可以用0到32767,共32768个编码表示32768个由两个以上汉字组成的分词,恰好填补了剩余的一半编码。由上述分析亦可知,本发明提供的分词编码库中最多只有32678个分词,为了能够得到内容足够丰富且分词数量不超过32768个的分词编码库,本发明进一步提供了一种获取分词编码库的方法,包括如下步骤步骤一、对中文样本数据进行分词,得到样本分词集合;步骤二、对样本分词集合中每个分词在样本分词集合中出现的次数进行统计,得到每个分词的词频;步骤三、按照词频由高到低的顺序,从样本分词集合中最多提取215个分词;步骤四、为提取出的每个分词赋一个编码,并在分词编码库中记录所述编码与分词,每个分词的编码相互独立且唯一。以上为本发明提供的获取分词编码库的方法,以下举例说明采用该方法获取到的分词编码库。假设Wi表示分词编码库中的分词,Hj表示独立汉字,Mk表示分词编码库中的编码。若按照词频由高到低的顺序获取了32678个分词Wi,Mk取值范围为,分词编码库采用数组的形式,请参见表1为本发明提供的分词编码库,其中,分词Wi的编码Mk等于分词Wi在数组中的下标。<table>tableseeoriginaldocumentpage8</column></row><table>表1以上以分词编码库采用数组仅是本发明提供的分词编码库的一种实现形式,不应视为对本发明的限制。在实际应用中,分词编码库可以采用各种形式,分词的编码形式亦可多种多样,本发明无特殊要求。但在压縮过程中,用至多占用两个字节空间的编码表示由两个以上汉字组成的分词,均属于本发明提供的中文数据压縮方法的应用例。以下结合具体应用场景,对本发明提供的中文数据压縮方法进行详细介绍。在地理信息系统(GeographicInformationSystem,GIS)和移动位置服务(LocationBasedService,LBS)领域,一个服务终端往往需要存储几百万条,甚至上千万条地理信息点(PointOfInterest,P0I),但是,GIS和LBS中使用的服务终端很多都是嵌入式终端,比如,导航仪、PDA、手机等,这些嵌入式终端的数据存储空间很有限,因此,存入这些终端的数据通常都要进行压縮,但这些终端由于硬件条件的限制,基本无法运行那些实现复杂、对设备性能要求较高的中文数据压縮方法。因此,在GIS和LBS领域,迫切需要一种压縮率高、实现简单、对设备性能要求低的中文数据压縮方法。本发明提供的中文数据压縮方法恰恰可以满足上述要求。以下结合附图,对本发明第一实施例提供的中文数据压縮方法进行详细介绍,该方法适用于对GIS和LBS领域使用的POI中文数据进行压縮。请参见图l,为本发明第一实施例提供的中文数据压縮方法流程图,该方法包括步骤IOI:从待压縮POI中文数据集S。h中,读取一条P01中文数据SJ;步骤102:将步骤101读取出的POI中文数据S。hm进行分词,得到组成POI中文数据Schm的分词集合[Wl,w2,...,Wi,...,wn],1《i《n;其中所述分词集合[Wl,w2,...,Wi,...,wn]中的每个分词相互独立且自身具有含义,并且分词Wl,w2,...,Wi,...,wn首尾相接组成了POI中文数据S。hm,且无多余的字符,即所述分词集合[巧,w2,...,Wi,...,wn]是没有冗余性的分词集合。在实际应用中,可以采用正向/逆向最大匹配分词方法或者其他中文分词技术对POI中文数据S。hm进行分词处理,得到所述分词集合[Wl,w2,...,Wi,...,wn]。步骤103:从分词集合[Wl,w2,...,Wi,...,wn]中,读取分词Wi,判断所述分词Wi是否为单个汉字,如果是,则进入步骤104,如果否,则说明所述分词Wi是由两个以上汉字组成的词或者短语,进入步骤105;在实际应用中,可以采用如下方法判断分词Wi是否为单个汉字判断分词Wi是否只占用了两个字节的存储空间,如果是,则说明所述分词Wi是单个汉字,如果否,则说明所述分词Wi是由两个以上汉字组成的词或者短语。步骤104:获取分词Wi的GBK码,将所述GBK码存入压縮数据,进入步骤109;步骤105:在预置的分词编码库查找是否有与所述分词Wi完全相同的分词W,若有,则进入步骤106,若没有,则进入步骤107;步骤106:获取所述分词W的编码,并将所述编码存入压縮数据,所述编码在压縮数据中最多占用两个字节的存储空间,进入步骤109;在实际应用中,若分词编码库采用数组形式,则分词W对应的编码就是分词W在数组中的下标。步骤107:将所述分词Wi划分为独立的汉字,得到组成所述分词Wi的汉字集合;步骤108:从汉字集合[Vl,v2,...,Vj,...,vk]中,读取一个汉字Vj,获取所述汉字Vj的GBK码,并将所述GB编码存入压縮数据,重复步骤108,直到处理完汉字集合[Vl,v2,...,Vj,...,vk]中所有的汉字后,进入步骤109;步骤109:判断所述分词Wi是否为分词集合[Wl,w2,...,Wi,...,wn]中的最后一个分词,即判断i是否等于n,如果分词Wi不是分词集合[Wl,w2,...,Wi,...,wn]中的最后一个分词,则返回步骤102,从分词集合[Wl,w2,...,Wi,...,wn]中读取下一个分词Ww,然后,重复执行步骤103至步骤109,直到处理完分词集合[Wl,w2,...,Wi,...,wn]中所有的分词;如果分词Wi是分词集合[Wl,w2,...,Wi,...,wn]中的最后一个分词,则进入步骤110;步骤110:判断所述POI中文数据S。hm是否为所述待压縮POI中文数据集S。h中的最后一条数据,如果是,则结束,如果否,则返回步骤101,从待压縮POI中文数据集S。h中,读取下一条POI中文数据,然后,重复执行步骤102至110,直到处理完所述待压縮POI中文数据集S。h中所有POI中文数据。以上为本发明第一实施例提供的中文数据压縮方法,以下以POI中文数据为"中国人民大学"及分词编码数据库采用数组形式为例对上述方法进行详细介绍。读取"中国人民大学";利用中文分词技术对"中国人民大学"进行分词处理,得到组成"中国人民大学"的分词集合[中国,人民,大学];从分词集合[中国,人民,大学]中先读取出"中国",在分词编码库中进行查找,找到与"中国"完全相同的分词且排在数组的第一个,说明"中国"的编码为"O",将"O"以占用两个字节存储空间的方式存入压縮数据,即将"OOOOOOOO0000OOOO"存入压縮数据;从分词集合[中国,人民,大学]中再读取出"人民",在分词编码库中进行查找,找到与"人民"完全相同的分词且排在数组的第8个,说明"人民"的编码为"7",将"7"以占用两个字节存储空间的方式存入压縮数据,即将"000000000000Olll"存入压縮数据;从分词集合[中国,人民,大学]中最后读取出"大学",在分词编码库中进行查找,没有找到与"大学"完全相同的分词,则将"大学"划分为汉字集合[大,学];从汉字集合[大,学]中先读取出"大",获得其编码为46232,再将46323以占用两个字节存储空间的形式存入压縮数据,即将"101101001111OOll"存入压縮数据;从汉字集合[大,学]中后读取出"学",获得其编码为53671,将53671以占用两个字节存储空间的形式存入压縮数据,即将"110100011010Olll"存入压縮数据。由上述记载可知,压縮后的"中国人民大学"占用了8个字节的存储空间,压縮前其占用了12个字节的存储空间,压縮后比压縮前少占用了4个字节的存储空间,压縮率超过了33%,实现了对数据的大幅度压縮。进一步,为获得本发明提供中文数据压縮方法的实际压縮率,发明人使用本发明提供的方法对GIS或LBS系统中存储的POI中文数据进行了压縮,实验结果表明该方法的压縮率能够达到35%42%。由此可见,本发明提供的中文数据压縮方法是一种压縮率高、实现简单、对设备性能要求低的中文数据压縮方法。相应的,本发明还提供了一种中文数据压縮装置,请参见图2,装置包括数据读取单元201,分词单元202,分词读取单元203,分词类型判断单元204,分词查找单元205,第一数据压縮单元206;数据读取单元201,用于读取待压縮中文数据;分词单元202,用于将中文数据进行分词,得到组成中文数据的分词集合;分词读取单元203,用于从分词集合中读取一个分词,分词类型判断单元204,用于判断分词读取单元203读取出的分词是否为两个以上的汉字组成的分词,如果是,则触发分词查找单元205;分词查找单元205,用于在预置的分词编码库中查找分词,若查找到,则触发第一数据压縮单元206;第一数据压縮单元206,用于从分词编码库中获取分词的编码,并将编码存入压縮数据,编码在压縮数据中至多占用两个字节的存储空间。以上为本发明提供的中文数据压縮装置,在实际应用中,分词单元202得到的分词集合中会包括单个汉字,因此,上述中文数据压縮装置可以进一步包括第二数据压縮单元;并且,分词类型判断单元204,在判断得到分词单元读取出的分词是单个汉字时,则触发第二数据压縮单元;第二数据压縮单元,用于获取汉字的GBK码,将GBK码存入压縮数据。进一步,由于分词编码库中至多保存了215个分词,因此,可能存在分词查找单元205在分词编码库中查找不到分词读取单元203读取出的由两个以上汉字组成的分词,为了实现对这种分词的压縮,本发明提供的装置进一步包括汉字集合获取单元,汉字读取单元;分词查找单元205,若在预置的分词编码库中没有查找到所述分词读取单元203读取出的由两个以上的汉字组成的分词,则触发汉字集合获取单元;汉字集合获取单元,用于将分词划分为单个汉字,得到组成分词的汉字集合;汉字读取单元,用于从汉字集合中读取一个汉字后触发所述第二数据压縮单元。同时,请参见图3,本发明还提供了一种获取分词编码库的装置,该装置包括如下单元样本分词集合获取单元301,用于对中文样本数据进行分词,得到样本分词集合;词频统计单元302,用于对每个分词在样本分词集合中出现的频率进行统计,得到分词的词频;分词提取单元303,用于按照词频由高到低的顺序,从样本分词集合中提取不大于215个分词;分词编码单元304,用于为提取出的每个分词赋一个编码,并在分词编码库中记录编码与分词。以上介绍实现中文数据压縮的技术方案,以下结合具体实施例对本发明提供的中文压縮数据的解压縮技术方案进行详细介绍。请参见图4,为本发明提供的中文压縮数据的解压縮方法流程图,该方法包括步骤404:从压縮数据中提取编码,得到组成所述压縮数据的编码序列[mi,m2,...,mi...,mj,其中编码序列中的每个编码在压縮数据中最多占用两个字节的存储空间;步骤402:从所述编码序列中读取一个编码mi;步骤403:判断所述编码nii是否为预置的分词编码库中的编码,如果是,则进入步骤404,如果不是,则进入步骤405;在实际应用中,由于GBK码均大于32768,因此,本发明推荐分词编码库中用0到32767,共32678个编码表示32678个由两个以上汉字组成的分词,此时,判断所述编码是否为预置的分词编码库中的编码具体为判断所述编码mi是否小于32768,如果小于,则说明所述编码为分词编码库中的编码,如果大于等于,则说明所述编码为GBK码。另外,在实际应用中也可以用32768到65535,共32678个编码表示32678个由两个以上汉字组成的分词,此时判断判断所述编码mi是否为预置的分词编码库中的编码具体为判断所述编码mi是否小于32768,如果小于,则说明所述编码不是分词编码库中的编码,如果大于等于,则说明所述编码是分词编码库中的编码。步骤404:从分词编码库中提取所述编码nii对应的分词,并将所述分词存入解压縮数据中,进入步骤406;在实际应用中,若分词编码库采用表l所示数组的形式,则从分词编码库中提取所述编码mi对应的分词具体为从分词编码库中取出下标为mi的分词。步骤405:获取所述编码mi对应的汉字,将所述汉字存入解压縮数据中;其中,若分词编码库中的编码范围为,则步骤405中编码mi为GBK码,获取所述编码Mi对应的汉字具体为获取GBK码对应的汉字;若分词编码库中的编码范围为[32678,65535],则获取所述编码mi对应的汉字具体为先查找编码mi对应的GBK码,再获取所述GBK码对应的汉字。步骤406:判断所述编码mi是否为编码序列[mi,m2,...,nii...,mn]中的最后一个编码,如果是,则结束,如果否,则返回步骤404,直到处理完编码序列[mi,m2,..,nii.,mj中所有的编码。以上为本发明提供的一种中文压縮数据的解压縮方法,该方法能够实现压縮数据的快速解压縮。以下结合具体应用场景,对本发明提供的中文压縮数据的解压縮方法进行详细介绍。假设分词编码库采用表l所示数组形式,且分词编码库中的编码范围为,压縮数据中的每个编码占用两个字节的存储空间。从压縮数据中,读取出编码序列[4,51920,11];先从编码序列[4,51920,11]中读取编码4,编码4小于32768,说明编码4是分词编码库中的编码,则从分词编码库中查找下标为5的分词,得到的分词为"北京",再从编码序列[4,51920,11]中读取编码51920,编码51920大于32768,说明该编码属于GBK码,则查找该GBK码对应的汉字,得到的汉字为"市",最后从编码序列[4,51920,11]中读取编码ll,编码11也属于分词编码库中编码,从分词编码库中查找下标为12的分词,得到的分词为"百货商店",经过上述流程得到了解压縮的中文数据"北京市百货商店"。压縮前"北京市百货商店"共占用14个字节的空间,而压縮后的数据只占用了6个字节的存储空间,比压縮前少了8个字节的存储空间,实现了大幅度的数据压縮,而且从解压縮结果可知,压縮数据解压縮后完全恢复为未压縮前的数据,说明本发明提供的中文数据压縮方法是一种压縮幅度大,且无损的压縮技术。本发明还提供了一种中文压縮数据的解压縮装置,请参见图5,所述装置包括编码序列提取单元501,编码读取单元502,编码类型判断单元503,第一数据解压縮单元504,第二数据解压縮单元505;所述编码序列提取单元501,用于从压縮数据中提取编码,得到组成所述压縮数据的编码序列,所述编码序列中的每个编码在压縮数据中最多占用两个字节的存储空间;所述编码读取单元502,用于从所述编码序列中读取一个编码;所述编码类型判断单元503,用于判断所述编码是否为预置的分词编码库中的编码,如果是,则触发所述第一数据解压縮单元504,如果不是,则触发所述第二数据解压縮单元505;所述第一数据解压縮单元504,用于从分词编码库中提取所述编码对应的分词,并将所述分词存入解压縮数据中。所述第二数据解压縮单元505,用于获取所述编码对应的汉字,将所述汉字存入解压縮数据中。以上对本发明提供的中文压縮数据的解压縮技术进行了详细介绍。本发明还提供了一种嵌入式终端,该嵌入式终端中包括前文已述的中文数据压縮装置及中文压縮数据的解压縮装置,具体技术方案请参见前文相关内容此处不再赘述。并且,该嵌入式终端可以是PDA,手机,导航仪等。以上对本发明所提供的一种中文数据压縮及解压縮方法及相关设备进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。1权利要求一种中文数据压缩方法,其特征在于,所述方法包括步骤A、读取待压缩中文数据;步骤B、将所述中文数据进行分词,得到组成所述中文数据的分词集合;步骤C、从所述分词集合中读取一个分词,若所述分词由两个以上的汉字组成,则在预置的分词编码库中查找所述分词,若查找到,则从分词编码库中获取所述分词的编码,并将所述编码存入压缩数据,所述编码在压缩数据中至多占用两个字节的存储空间;重复步骤C直到处理完所述分词集合中所有的分词。2.如权利要求1所述的方法,其特征在于,若所述步骤C读取的分词为单个汉字,则所述方法进一步包括步骤D、获取所述汉字的国标扩展码,将所述国标扩展码存入压縮数据。3.如权利要求2所述的方法,其特征在于,若在分词编码库中没有查找到所述由两个以上的汉字组成的分词,则所述方法进一步包括步骤E、将所述分词划分为单个汉字,得到组成所述分词的汉字集合;步骤F、从所述汉字集合中读取一个汉字后执行所述步骤D;重复所述步骤F直到处理完所述汉字集合中所有的汉字。4.如权利要求1至3中任一项所述的方法,其特征在于,在步骤A之前进一步包括对中文样本数据进行分词,得到样本分词集合;对每个分词在所述样本分词集合中出现的频率进行统计,得到分词的词频;按照词频由高到低的顺序,从所述样本分词集合中提取不大于215个分词;为提取出的每个分词赋一个编码,并在分词编码库中记录所述编码与分词。5.—种中文数据压縮装置,其特征在于,所述装置包括数据读取单元,分词单元,分词读取单元,分词类型判断单元,分词查找单元,第一数据压縮单元;所述数据读取单元,用于读取待压縮中文数据;所述分词单元,用于将所述中文数据进行分词,得到组成所述中文数据的分词集合;所述分词读取单元,用于从所述分词集合中读取一个分词,所述分词类型判断单元,用于判断所述分词读取单元读取出的分词是否为两个以上的汉字组成的分词,如果是,则触发所述分词查找单元;所述分词查找单元,用于在预置的分词编码库中查找所述分词,若查找到,则触发所述第一数据压縮单元;所述第一数据压縮单元,用于从分词编码库中获取所述分词的编码,并将所述编码存入压縮数据,所述编码在压縮数据中至多占用两个字节的存储空间。6.如权利要求5所述的装置,其特征在于,所述装置进一步包括第二数据压縮单元;所述分词类型判断单元,在判断得到所述分词单元读取出的分词是单个汉字时,则触发所述第二数据压縮单元;所述第二数据压縮单元,用于获取所述汉字的国标扩展码,将所述国标扩展码存入压縮数据。7.如权利要求6所述的装置,其特征在于,所述装置进一步包括汉字集合获取单元,汉字读取单元;所述分词查找单元,若在预置的分词编码库中没有查找到两个以上的汉字组成的分词,则触发所述汉字集合获取单元;所述汉字集合获取单元,用于将所述分词划分为单个汉字,得到组成所述分词的汉字隹A.朱口;所述汉字读取单元,用于从所述汉字集合中读取一个汉字后触发所述第二数据压縮单元。8.如权利要求5至7中任一项所述的装置,其特征在于,所述装置进一步包括样本分词集合获取单元,用于对中文样本数据进行分词,得到样本分词集合;词频统计单元,用于对每个分词在所述样本分词集合中出现的频率进行统计,得到分词的词频;分词提取单元,用于按照词频由高到低的顺序,从所述样本分词集合中提取不大于215个分词;分词编码单元,用于为提取出的每个分词赋一个编码,并在分词编码库中记录所述编码与分词。9.一种中文压縮数据的解压縮方法,其特征在于,所述方法包括步骤一、从压縮数据中提取编码,得到组成所述压縮数据的编码序列,所述编码序列中的每个编码在压縮数据中最多占用两个字节的存储空间;步骤二、从所述编码序列中读取一个编码;步骤三、判断所述编码是否为预置的分词编码库中的编码,如果是,则从分词编码库中提取所述编码对应的分词,并将所述分词存入解压縮数据中;重复步骤三直到处理完所述编码序列中所有的编码。10.如权利要求9所述的方法,其特征在于,若步骤三判断得到所述编码不是分词编码库中的编码,所述方法进一步包括获取所述编码对应的汉字,将所述汉字存入解压縮数据中。11.如权利要求io所述的方法,其特征在于,若所述分词编码库中的编码取值范围为大于等于0,小于等于32767,则所述判断所述编码是否为预置的分词编码库中的编码具体为判断编码是否小于32768,如果小于,说明所述编码为分词编码库中的编码,若大于等于,说明所述编码是国标扩展码;所述获取所述编码对应的汉字具体为获取所述国标扩展码对应的汉字。12.—种中文压縮数据的解压縮装置,其特征在于,所述装置包括编码序列提取单元,编码读取单元,编码类型判断单元,第一数据解压縮单元;所述编码序列提取单元,用于从压縮数据中提取编码,得到组成所述压縮数据的编码序列,所述编码序列中的每个编码在压縮数据中最多占用两个字节的存储空间;所述编码读取单元,用于从所述编码序列中读取一个编码;所述编码类型判断单元,用于判断所述编码是否为预置的分词编码库中的编码,如果是,则触发所述第一数据解压縮单元;所述第一数据解压縮单元,用于从分词编码库中提取所述编码对应的分词,并将所述分词存入解压縮数据中。13.如权利要求12所述的装置,其特征在于,所述装置进一步包括第二数据解压縮单兀;所述编码类型判断单元,若判断得到所述编码不是预置的分词编码库中的编码,则触发所述第二数据解压縮单元;所述第二数据解压縮单元,用于获取所述编码对应的汉字,将所述汉字存入解压縮数据中。14.一种包含权利要求5和权利要求12的装置的嵌入式终端。全文摘要本发明公开了一种中文数据压缩及解压缩方法及相关设备。所述中文数据压缩方法包括步骤A、读取待压缩中文数据;步骤B、将所述中文数据进行分词,得到组成所述中文数据的分词集合;步骤C、从所述分词集合中读取一个分词,若所述分词由两个以上的汉字组成,则在预置的分词编码库中查找所述分词,若查找到,则从分词编码库中获取所述分词的编码,并将所述编码存入压缩数据,所述编码在压缩数据中至多占用两个字节的存储空间;重复步骤C直到处理完所述分词集合中所有的分词。本发明提供的中文数据压缩技术能够实现大幅度压缩中文数据。本发明提供的中文压缩数据的解压缩技术,能够实现压缩数据的快速解压缩。文档编号G06F17/30GK101751451SQ20091013158公开日2010年6月23日申请日期2009年4月8日优先权日2008年12月11日发明者吴跃进申请人:高德软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1