2字节字符数据的压缩方法技术

技术编号:3422485 阅读:175 留言:0更新日期:2012-04-11 18:40
一种2字节字符数据的压缩方法,其特征在于包括:    根据频率数生成多个可压缩代码字,存储在基本词典表中,将登记的表示下一个代码字的变量初始化的步骤;    识别输入的信息数据是否是2字节字符,并接收的输入步骤;    比较输入的数据是否包含在所述可压缩代码字中,当包含在所述可压缩的代码字中时,从所述词典表中经过映射过程搜索符合代码并输出,当词典中没有所述符合代码时,将其登记在词典中的步骤;    判断是否是数据的尾数,当数据没有输入完时,返回依次输入信息数据的输入步骤;以及    当是数据的尾数时,进行清除过程的步骤,    当编码所述可压缩代码字得到的符合代码的位数比所述可压缩代码字可以降低位的临界值小时,以log↓[2](Cl+1)-1位输出,当符合代码字比临界值大时,以log↓[2](Cl+1)位输出,所述Cl是当前被赋值的代码字数。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种,更具体地说,涉及一种为了减少移动通信终端机中的SMS(Short Message Service)和EMS(Enhanced Messaging Service)的信息存储空间,利用2字节字符压缩算法的。
技术介绍
一般情况下,客户利用移动通信终端机的信息发送接收功能(SMS、EMS),进行各式各样的信息交换。大部分的移动通信终端机几乎不对这种信息进行压缩,进行部分压缩的终端机也只是利用适合英文字母的压缩算法。不过,当采用这种压缩算法时,象朝鲜字符和汉语这样的语言,因为大多具有冗长性的特点,所以相对地压缩效率低,并且需要更多的内存,存在不能有效地降低存储空间的问题。日本特開平2-255977(日本专利第1990-255977号公告) 日本特開平9-069785(日本专利第1997-069785号公告)
技术实现思路
本专利技术克服了上述不足,其目的在于提供一种在终端机的信息处理模块中,以2字节字符(朝鲜字符、汉语)为单位对信息进行压缩并存储,从而可以减少存储空间的。为了实现上述目的,本专利技术的的特征在于包括根据频率数生成多个可压缩代码字,并存储在基本词典表中,将登记的表示下一个代码字的变量初始化的步骤;识别输入的信息数据是否是2字节字符,并接收的输入步骤;比较输入的数据是否包含在该可压缩代码字中,当包含在该可压缩的代码字中时,从该词典表中经过映射过程搜索符合代码并输出,当词典中没有该符合代码时,将其登记在词典中的步骤;判断是否是数据的尾数,当数据没有输入完时,返回依次输入信息数据的输入步骤;以及当是数据的尾数时,进行清除过程的步骤,当将该可压缩代码字编码得到的符合代码的位数比该可压缩代码字可以降低位的临界值小时,以log2(C1+1)-1位输出,当符合代码字比临界值大时,以log2(C1+1)位输出,该C1是当前被赋值的代码字的数。本专利技术的的有益效果是,在终端机的信息处理模块中,通过压缩2字节字符(朝鲜字符、汉语等)的信息并进行存储,可以减少存储空间。也就是说,利用本专利技术的方法压缩英语和朝鲜字符混合的文本文件时,与现有的压缩方法相比,平均压缩率具有大约22%左右的改善效果。附图说明图1是本专利技术一个实施例中的的操作流程图。图2是对在本专利技术的一个实施例的中,从该词典表中经过映射过程搜索符合代码并输出的步骤(压缩步骤)进行详细说明的操作流程图。图3是对在本专利技术的一个实施例的中管理该符合代码词典的词典生成/管理步骤进行详细说明的操作流程图。具体实施例方式为了方便说明,本专利技术的以韩国语为例进行说明。但同样适用于诸如汉语、日语等的以2字节标记的语言。因此,在本实施例中,仅对韩国语的压缩情况进行说明,但本专利技术并不仅限于韩国语,这对本领域的技术人员来说是显而易见的。以下对照附图对本专利技术的实施例进行说明。图1是本专利技术的一个实施例中的的操作流程图,以下将对与此相关的情况进行说明。首先,初始化最大字符串数(N7)、代码字数(N2)、初始词典条目号码(N5)等,将频率数高的字符收藏在基本词典表中,并将登记的表示下一个代码字的变量C1初始化(S101),用于字符压缩的代码字的构成如下表所述。这里,为了找到字符压缩所需要的代码字,从朝鲜字符和英语混合文件中找出完成型朝鲜字符2350个字的出现频率后,将其排列并观察,将其中2%经常使用的470个字作为代码字登记。这种情况下,该2%的470个字符整体出现频率达到85%以上。因此,该变量C1的初始化值能够为471。表1 接着,对照被初始化的变量,将追加的可压缩的代码字存储在包含该基本词典表在内的附加词典表中,重新初始化登记的表示下一个代码字的变量C1(S102)。在此,编码可压缩代码字的符合代码的位数取决于下面的公式。公式1(C1+lim)≤2log(C1+1)-1公式2lim=C3-C1-1公式3C3=2log(C1+1)在此,该C1是指当前被赋值的代码字数,lim是指代码字能降低位的临界值。因此,将代码字转换为位列的时候,如果代码字比所确定的临界值(lim)小,则以log2(C1+1)-1位输出,如果符合代码字比临界值大,则以log2(C1+1)位输出。例如,该C1为750时,lim=(1024-750-1)=273,所以,压缩时代码字位于0至273之间,以9位编码输出,如果压缩时代码字位于274至749之间,各代码字再加上274,以10位编码输出解除压缩时,以9位读出代码字位,如果该读出的值比274小,则将其值作为代码字代码读取,如果该读出的值比274大,则重新以10位读出,将减去274的值作为代码字代码读出。下列的表2以上述的方式表示本专利技术的词典表构造。表2 其后,依次输入信息数据。比较输入的数据是否包含在该可压缩的代码字中,当包含在该可压缩的代码字中时,从该词典表中经过映射过程,搜索符合代码并输出(S103)。然后,确认该符合代码是否存在于词典中,当词典中没有时,进行在词典中登记的词典生成步骤(S104)。之后,判断是否是数据的尾数,当不是数据的尾数时,返回到依次输入信息数据的步骤(S105)。如果是数据的尾数,则进行清除过程(Flush)(S106)。在此,所说的该清除过程是指在存储器存储方法中,以8位或16位存储数据,但为了被压缩了的数据具有可变长度的位数,当最后存储的数据不是8位或16位的时候,将最后剩下的位用0填满的过程。图2是对在本专利技术的一个实施例中的中,从该词典表中经过映射过程,搜索符合代码并输出的步骤(压缩步骤)进行详细说明的操作流程图,与此相关的说明如下所述。首先读出输入数据的第一个字节(S201)。其后判断该第一个字节是否在第1赋值范围内(S202)。这里,当是完成型朝鲜字符的时候,因为第一个字节赋有从16进制的B0到C8的25个数字,所以该第1赋值范围可以是从16进制的B0到C8。如果该第一个字节位于第1赋值范围内,读出输入数据的第二个字节(S203)。另一方面,如果该第一个字节不在第1赋值范围内,因为不是完成型的朝鲜字符,所以确定是美国信息交换标准码中的字符(S207)。其后判断该第二个字节是否在第2赋值范围内(S204)。这里,当是完成型朝鲜字符的时候,因为第二个字节赋有从16进制的A1到FE的94个数字,所以该第2赋值范围可以是从16进制的A1到FE。如果该第二个字节位于该第2赋值范围内,判断输入数据是否包含在该词典表中(S205)。另一方面,如果该第二个字节不在第2赋值范围内,因为不是完成型的朝鲜字符,所以确定是美国信息交换标准码中的字符(S207)。如果输入的数据包含在该词典表中,确定是符合代码值(S206)。另一方面,如果输入的数据没有包含在该词典表中,因为不是出现频率高的朝鲜字符,所以确定是美国信息交换标准码中的字符(S207)。图3是对在本专利技术的一个实施例的中检查该符合代码是否存在于词典中,如果词典中没有就登记在词典中,并除去登记在词典中的不经常使用的代码的词典管理步骤进行详细说明的操作流程图,与此相关的说明如下所述。首先判断该代码字的字符串(长度)是否超过最大字符串数(N7),如果该代码字的字符串超过最大字符串数(N7)则终止词典管理步骤(S301)。如果该代码字的字符串没有超过最大字本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:赵畇衍
申请(专利权)人:株式会社泛泰
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1