数据压缩设备和数据恢复设备的制作方法

文档序号:7504360阅读:441来源:国知局
专利名称:数据压缩设备和数据恢复设备的制作方法
技术领域
本发明涉及用来压缩和恢复诸如文档数据等之类的数据的一种数据压缩设备和一种数据恢复设备。
最近,诸如图象数据之类的各种类型数据由计算机处理。随着诸如因特网、内部网络、外部网络等之类的现行计算机网络的普及,已经使用诸如电子邮件等之类的越来越多的电子文档。这样的电子文档期望被更频繁地使用,并且文档量实际上在变大。因此,强烈地需要压缩数据技术,从而去除数据的冗余部分,以减小存储容量和在短时间内把数据传送到远程目的地。
因而,已经有一种提供静态词典、把以前转换成固定长度代码的数据转换成可变长度代码、及完成一个数据压缩过程的方法。

图1表示上述的数据压缩方法。数据压缩系统包括一个词划分单元50和一个可变长度编码单元51。词划分单元50接收原始文档数据,并且通过参考静态词典划分包含在原始数据中的词。静态词典包含诸如常用词、短语等之类的字符串的预先输入数据,并且把相应字符串作为固定长度代码(中间代码)输出到可变长度编码单元51。
可变长度编码单元51把提供的固定长度代码(中间代码)转换成压缩代码,把它写到例如文档存储器等上,并且把它经因特网、内部网络等传送到另一台计算机。
另一方面,当计算机接收压缩数据时,它根据图2中所示的解压缩系统译码压缩数据。就是说,一个可变长度译码单元52把压缩代码译码成固定长度代码,并且一个词恢复单元53通过参考静态词典把数据恢复成原始文档数据。
在上述数据压缩方法中,使用一个静态词典和预先输入到静态词典中的字符串的数据完成一个压缩过程。然而,由于词典内容是固定的,所以不能适当地处理新词和每个文档特有的词。因此,在这样一种数据压缩方法中,在字符单元中对词进行划分和编码,由此降低了压缩率。
本发明旨在提供一种能够使用一个存储每个文档特有的词、短语等的字符串的辅助词典、以高压缩率完成数据压缩过程、减小数据量、由此以高速传送数据的数据压缩设备和压缩数据恢复设备。
就是说,根据本发明的第一方面,通过提供一种数据压缩设备能达到本发明的上述目的,该设备包括一个静态词典,预先包含词和短语的字符串;一个字符串检测单元,用来检索要压缩的文档数据、和检测没有包含在静态词典中的字符串;一个选择和输入单元,用来从由字符串检测单元检测的字符串中选择每个文档特有的字符串、和用来把选择的字符串输入到一个辅助词典中;一个词划分单元,用来对静态词典和辅助词典查找要压缩的文档数据、和把输入到静态词典或辅助词典中的字符数据转换成固定长度代码;及一个可变长度编码单元,用来把从词划分单元输出的固定长度代码转换成压缩代码。
就该配置而论,常用词和短词预先输入到静态词典中的层次结构中。上述字符串检测单元查找静态词典,以检测原始文档数据的字符串。没有输入到静态词典中的新字符串被抽取到例如一个扩大的词典中,并且仅输入由选择和输入单元从新字符串中选择的字符串。
上述选择过程基于一个预定的节点数量阈值和字符串长度,防止无用字符串输入,及正确地仅把文档数据特有的字符串输入到辅助词典中。
另外,一个词划分单元使用上述静态词典和辅助词典,把不仅在静态词典中而且在辅助词典中输入的字符串转换成固定长度代码,由此完成压缩过程。
就上述配置而论,原始文档数据特有的字符串也能转换成压缩代码,由此提供一种能够完成高效压缩过程和减小压缩数据量的数据压缩设备。
根据本发明的第二方面,通过提供一种数据恢复设备能达到本发明的目的,该设备包括一个静态词典,预先存储词和短语的字符串;一个辅助词典,在检索要压缩的文档数据、检测没有包含在静态词典中的文档数据特有的词和短语的字符串、进一步从上述字符串中选择字符串之后,存储字符串;一个译码单元,用来译码文档数据的压缩代码;及一个数据恢复单元,使用静态词典和辅助词典把由译码单元译码的固定长度代码恢复成原始文档数据。
根据该方面的配置,可以对由数据压缩设备转换成压缩代码的数据进行译码。在由译码单元译码压缩的代码之后,使用预先存储常用词和短语的静态词典和一个新准备的辅助词典,把固定长度代码的字符恢复成原始文档数据。
就上述配置而论,用较小量的压缩数据能完成一个高效数据恢复过程。
根据本发明的第三方面,通过提供一种数据压缩设备能达到本发明的目的,该设备包括一个静态词典,预先包含词和短语的字符串;一个字符串检测单元,用来检索要压缩的文档数据、和检测没有包含在静态词典中的字符串;一个选择和输入单元,用来从由字符串检测单元检测的字符串中选择每个文档特有的字符串、和用来把选择的字符串输入到一个辅助词典中;一个词划分单元,用来对静态词典和辅助词典查找要压缩的文档数据、和把输入到静态词典或辅助词典中的字符数据转换成固定长度代码;一个可变长度编码单元,用来把从词划分单元输出的固定长度代码转换成压缩代码;及一个传送单元,用来通过把输入在辅助词典中的字符串数据添加为由可变长度编码单元产生的压缩代码的首部,把该数据传送到通信网络。
该方面基于这样一种配置,借助于该配置数据由根据本发明的数据压缩设备转换成压缩代码,经过诸如因特网等之类的通信线路传送到另一台计算机,及由接收者侧的计算机存储。因此,输入到辅助词典中的字符串的配置和内容与根据本发明第一方面的那些相同,但仅在通信线路的配置方面不同。
就是说,由数据压缩设备准备的辅助词典的数据必须经通信线路传送到接收者。因此,准备的辅助词典的数据在输出压缩代码之前由一个传送单元传送。
就上述配置而论,压缩数据能传送到经通信线路连接的另一台计算机。另外,由于原始文档数据特有的字符串也转换成压缩代码,所以对于高速传送能减小传送的数据量。
根据本发明的第四方面,通过提供一种数据恢复设备能达到本发明的目的,该设备包括一个静态词典,预先存储词和短语的字符串;一个辅助词典存储单元,存储经通信网络传送的辅助词典条目数据;一个译码单元,用来译码文档数据的压缩代码;及一个数据恢复单元,使用静态词典和辅助词典把由译码单元译码的固定长度代码恢复成原始文档数据。
根据该方面,恢复由数据压缩设备根据上述第三方面转换成压缩代码的数据,并且经因特网等的通信线路接收转换成压缩代码的数据,及然后恢复成原始文档数据。
因此,把经通信网络提供的辅助词典条目数据输入到辅助词典存储单元中,并且把后来输入的压缩代码恢复成原始文档数据。
就该配置而论,能恢复由经通信线路连接的另一台计算机准备的压缩数据,并且可用辅助词典与在数据压缩过程中使用的词典相同,由此完成高效恢复过程。
图1表示数据压缩设备的系统配置;图2表示数据恢复设备的系统配置;图3表示根据本发明第一实施例的数据压缩设备的系统配置;图4表示在静态词典中输入的数据;图5表示根据本发明一个例子的分层结构的模式;图6是根据本发明第一实施例的整个过程的流程图;图7表示由字符串检测单元完成的字符串检测过程的一个实际例子;
图8表示文档数据一部分的一个实际例子;图9是流程图,实际表示在辅助词典中输入数据的过程;图10是流程图,实际表示用来编码字符串的计算;图11表示在辅助词典中的数据配置的一个例子;图12表示包含静态词典和辅助词典的字符串的数据配置的一个例子;图13表示在静态词典和辅助词典中输入的数据的层次结构的模式;图14表示静态词典和辅助词典的代码空间;图15实际表示一个词划分过程;图16是用来检测最长字符串S的实际过程的流程图;图17表示与一个字符串相对应的代码值的一个例子;图18表示与一个字符串相对应的代码值的另一个例子;图19表示根据本发明第一实施例的恢复设备的系统配置;图20是恢复过程的流程图;图21表示根据本发明第二实施例的数据压缩设备的系统配置;图22是根据本发明第二实施例的整个过程的流程图;图23是流程图,表示关于在一个输出文件中的辅助词典的信息;图24表示在输出文件中的辅助词典单元的一部分的配置;图25表示输出文件的整个配置;图26表示根据本发明第二实施例的数据恢复设备的系统配置;图27是由根据本发明第二实施例的数据恢复设备完成的过程的流程图;图28是读辅助词典信息的过程的流程图;及图29表示用于使用一种存储介质完成的数据压缩过程和数据恢复过程的系统配置。
通过参照附图描述本发明的诸实施例。
<第一实施例>
图3表示根据本发明第一实施例的数据压缩设备的系统配置。根据本实施例的数据压缩设备包括一个字符串检测单元1、一个辅助词典输入单元2、一个扩大词典3、一个静态词典4、一个辅助词典5、一个词划分单元6、及一个可变长度编码单元7。字符串检测单元1检测要输入的原始数据的字符串。该字符串通过参考静态词典4检测。静态词典4预先在层次结构(所谓的三层结构)中包含诸如常用词、短语等之类的字符串。上述字符串检测单元1通过顺序参考静态词典4检测来自输入原始文档数据的字符串。
扩大词典3存储包含在从上述字符串检测单元1抽取的原始文档数据中的所有字符串的数据。就是说,除输入在静态词典4中的字符串之外,能包含诸如相应文档数据特有的词、成语等之类的字符串,或其内容不清楚的字符串。
辅助词典输入单元2在辅助词典5中,存储不存储在静态词典4中而在扩大词典3中抽取的字符串中的字符串,但不包括其内容不清楚的字符串,例如诸如原始文档数据特有的词、成语等之类的字符串。
辅助词典5在由上述辅助词典输入单元2执行的选择和输入过程中存储原始文档数据特有的字符串。例如,输入在辅助词典5中的字符串可能是相应文档、新词、流行词等的特有表示。输入在辅助词典5中的字符串也能输入到层次结构(所谓的三层结构)中。
在把原始文档数据特有的字符串输入到上述辅助词典5中之后,当再次读原始文档数据时,词划分单元6划分原始文档数据中的词。词划分单元6检索在其中预先输入诸如常用成语等之类的字符串的静态词典4中的数据条目、和在新产生的辅助词典5中的数据条目,并且然后划分原始文档数据。
可变长度编码单元7压缩由上述词划分单元6划分的字符串的数据。从词划分单元6输出的数据是一系列划分词的每一个特有的固定长度代码,并且可变长度编码单元7把固定长度代码转换成压缩代码。由可变长度编码单元7转换成压缩代码的数据输出到例如文档存储器,并且在以后描述的恢复过程中使用。
上述静态词典4预先把诸如常用词、成语等之类的字符串的数据存储在上述层次结构中。图4表示输入在静态词典4中的数据。例如,静态词典4存储一个节点索引(下文简单地称作节点)、和在相应节点处输入的字符数据。
例如,在节点1处输入‘电’的字符代码作为要在相应节点处输入的字符(汉字)数据,在节点2处输入‘学’(学习)的字符代码作为要在相应节点处输入的字符数据,及在节点3处输入‘商’(商业)的字符代码作为要在相应节点处输入的字符数据。因而,在一个相应节点处输入字符数据,如图4中所示。
按上述带有链接的每个节点的树结构设计静态词典4,并且在每个节点处输入的字符数据连接到其较高和其较低的链接的节点上。然而,没有分别链接到最高或最低量级节点上的较高或较低量级节点。
图5表示上述层次结构的模式。在这种情况下,在节点1处输入字符(汉字)数据‘电’。在节点4处的字符数据‘气’(大气)和在节点5处的字符数据‘子’(孩子)作为其较低链接的数据被连接。另外,在节点2处输入字符数据‘学’。在节点6处的字符数据‘会’作为其较低链接的数据被连接。因此,通过链接链接的数据,静态词典4预先包含诸如‘电气’(电气)、‘电子’(电子)、‘学会’(学会)等之类的词、短语等的常用字符串。
就上述配置而论,下面通过参照附属的流程图描述根据本实施例的处理操作。
图6是根据本实施例的整个过程的流程图。通过读原始文档数据两次完成根据本实施例的过程,在第一读过程(第一遍)中抽取原始文档数据特有的诸如成语等之类的字符串,及把抽取的字符串输入到辅助词典5中。
就是说,字符串检测单元1检测字符串(步骤(下文用S表示)1)。检测包含在原始文档数据中的所有字符串,并且分配到扩大词典3。辅助词典输入单元2对分配到扩大词典3的字符串进行选择过程以抽取有效原始文档数据特有的字符串,并且把抽取的字符串的数据输入在辅助词典5中(S2)。在第二读过程(第二遍)中,使用辅助词典5进行一个词分划分过程(S4),并且由可变长度编码单元7把由过程(S3和S4)得到的固定长度代码的数据转换成压缩代码(S5)。
在图6所示的流程图中,由粗线包围的过程是本实施例特有的过程。
下面实际描述的是每个过程。首先,图7是上述字符串检测过程(S1)的一个实际例子。在该过程中,把在静态词典4中的所有字符和所有字符串分配到扩大词典3(S11)。在该过程中,把对输入数据的指针位置初始设置到1,并且把词典号n设置到N。N指示在静态词典4中预先输入的字符串信息条数,并且指示在静态词典4中输入的字符串的最后词典号。
其次,根据指针的位置,检测匹配一个字符串的最长字符串S(S12)。在初始化时,如上所述指针的位置是1。通过检测原始文档数据的字符串查找从初始位置(1)开始的最大字符串S(S12)。
例如,表示在图8中的文档是原始文档数据的一部分。在该例子中,指针的位置1是原始文档数据的初始位置,并且指示字符(汉字)数据‘电’(电)的位置,及查找从初始位置(1)开始的最长字符串S。在该过程中,例如,对上述静态字词典4查找字符数据‘电’,以检测相应字符数据的节点1。然后,更新指针的位置,并且检查与指针位置2相对应的字符数据‘气’(大气)是否输入在静态词典4中。然后检查在上述例子中是否在节点4处输入相应数据,并且把与指针位置3相对应的字符数据‘は’输入在静态字词典4中。例如,如果字符数据‘は’不在输入在静态字词典4中,则从指针位置1开始的第一最长字符串S是字符‘电气’(电气)。
其次,增大词典号n(N),把词典号设置为N+1(S13),把C设置为字符串S的下一个字符(C=字符串S的下一个字符),把字符串SC添加到词典上,并且添加词典号n(N+1)(S14)。另外,指针的位置运动到在字符串S后的字符。因此,在上述过程中,对应于词典号N+1抽取形成字符串‘电气は’的部分的字符数据‘は’。
其次,控制返回过程(S12),并且查找匹配从与指针位置3相对应的字符开始的字符串的最长字符串S,即字符数据‘は’。在这种情况下,如果静态词典4不包含关于字符数据‘は’的字符串,则最长字符串S是‘は’,增大词典号n,把词典号设置为N+2(S13),字符串SC添加到词典上,并且抽取作为用于要以词典号n(N+2)输入的数据的候选对象(S14)。就是说,在这种情况下,抽取字符串数据‘は今’。
通过进行类似的过程,在图8中所示的例子中,把字符串‘今日必’、‘必要な’顺序抽取到扩大词典3中。
如上所述,当对原始文档数据的所有字符串完成抽取过程时,对于上述辅助词典进行输入过程(图6中所示的S2)。图9中所示的流程图实际表示该过程。该过程由辅助词典输入单元2进行。在抽取到扩大词典3中的字符串数据中,确定要输入在辅助词典5中的字符串。然后,把相应字符串输入在辅助词典5中。因此,高至节点N的数据已经输入在静态词典4中,并且要处理在节点N处和之后的数据。
就是说,沿层次结构中静态词典4中的链顺序跟踪数据的节点。如果确定已经到达比N大的节点n,那么进行字符选择过程(在步骤S21中的否),并且进一步确定子数据节点号是否超过一个阈值(S22),或者要处理的字符串长度是否大于一个阈值(S23)。就是说,进行关于子数据节点号是否超过一个阈值的确定(S22)。如果确定(S22)是‘否’,那么或许要处理的字符串的初始字符几乎不形成成语的部分。进行关于要处理的字符串长度是否超过一个阈值的确定(S23)。如果确定(S23)是‘否’,那么或许相应字符串形成一个无用字符串。例如,在这种情况下,即使一个字符串已经抽取到扩大词典3,则也不输入它(在S22中的确定否、和在S23中的否之后的S24)。例如当在上述例子中字符串长度的阈值是2时,从条目中除去字符串‘は今’。例如输入一个字符串‘必要な’。
另一方面,确定满足上述条件的字符串,在两个确定(S22和S23)中或在他们的任一个中为‘是’,并且把该字符串输入在辅助词典5中。然后,重复上述过程,直到在节点n(n>N)上的所有确定为‘是’。
如果已经完成在节点n(n>N)上的所有确定过程(在S21中为是),那么把满足上述条件的字符串输入在辅助词典5中(S25)。
其次,进行关于与节点n(n>N)相对应的字符串的代码计算(S26)。图10是实际描述字符串代码计算的流程图。首先,输入上述静态词典4的最后字符串YYY(S26-1),并且输入在辅助词典5中输入的词的代码1(S26-2)。然后,计算最小值m(2**m>1)(S26-3)。例如,如果输入在辅助词典5中的词的代码1是1000,那么最小值m(2**m>1)是10。如果输入在辅助词典5中的词的代码1是2000,那么最小值m是11。把按上述设置的m值分配给如下公式,以设置辅助词典5中的每个字符串的代码(S26-4)。计算的代码值输入在辅助词典5中(图9中的S27)。
通过执行上述过程,能完成把新字符串输入在辅助词典5中的过程。图11是在上述过程中产生的辅助词典5的数据的配置的一个例子。图12表示静态词典4和辅助词典5的字符串数据的配置的例子。图13表示输入在上述静态词典4和辅助词典5中的数据的树结构的模式。在上述例子中,在节点1处输入字符(汉字)数据‘电’(电),并且把在节点4处的字符数据‘气’(大气)和在节点5处的字符数据‘子’(孩子)连接成较低链接数据。而且,把字符数据‘话’(谈话)连接到节点‘N+3’上。另外,就在上述节点5处的字符数据‘子’(孩子)而论,输入在节点N+6处的字符数据‘出’(发行)作为较低链接数据。输入(在节点N+7处的)字符数据‘版’(发行)作为字符数据‘出’的较低链接数据。
类似地就其他节点而论,新输入在节点N+2处的字符数据‘问’(问题)作为辅助词典5中的节点2处的字符数据‘学’(学习)的较低链接数据。新输入在节点N+4处的数据‘上’作为辅助词典5中的节点7处的字符数据‘壳’(销售)的较低链接数据。而且,输入在节点N+5处的数据‘手’(手)作为字符数据‘上’(上面)的较低链接数据。因而输入在辅助词典5中的数据指示为阴影圆。
图14表示静态词典4和辅助词典5的代码空间。输入静态字词典4和辅助词典5作为代码数据。例如,输入2字节字符。表示在图14中的ESC指示转义概率。它指示辅助词典5的需要概率,并且预先设置到一个预定值。
其次,使用上述静态词典4和新产生的辅助词典5,对原始数据进行第二读过程(第二遍)。
表示在图15中的过程实际描述词划分过程(图4中所示的S3和S4)。把字符串分配到扩大词典3、静态词典4、及辅助词典5,并且把输入原始文档数据的指针位置初始设置到1(S31)。
其次,检测与来自词典中上述指针位置的字符串相匹配的最长字符串S(S32)。图16中所示的流程图表示检测上述最长字符串S的实际过程。例如,在上述例子中,当字符串‘电气は’首先出现在文档数据中时,第一字符W(指针的位置是1)(S32-1)是‘电’。例如,输入字符数据作为目标字符(S32-2)。
其次,确定是否有与静态词典4中的上述目标字符相匹配的字符(S32-3)。如果在静态词典4中没有这样的字符,则进一步确定在辅助词典5中是否存在一个匹配字符(S32-4)。在上述情况下,字符(汉字)数据‘电’包含在静态词典4中,更新指针的位置,及对于下个字符(汉字)数据‘气’进行类似的过程(在S32-4为“是”之后的S32-5)。
对于下个字符(汉字)数据‘气,查找静态词典4(在S32-3为“是”后的S32-5),并且然后确定是否有与下个字符‘は’相匹配的字符。在辅助词典5中的节点N+1处检测字符数据‘は’(在S32-4之后的S32-5)。然后,查找下个字符数据‘今’(现在)。在上述实施例中,在静态字词典4或辅助词典5中在‘电气は’之后没有字符,并且输出字符‘电气は’作为初始(前导)字符W的字符(字符数据‘电’)的最长匹配字符串S(S32-6、图15中所示的S32)。
其次,控制返回图15中所示的过程,并且使用固定长度位输出关于字符串S的代号(S33)。于是,顺序输出字符串‘电气は’的固定长度位的数据。在这种情况下,输出与字符数据‘は’的节点N+1相对应的固定长度代码,作为与字符串‘电气は’相对应的代码。
其次,把上述指针位置运动到字符串S之后的字符位置(S34),并且对于作为目标字符的下个字符数据‘今’重复上述过程。
因此,通过重复上述过程,把与字符串‘今日’(今天)相对应的固定长度代码的数据、和与字符串‘必要’(必要)相对应的固定长度代码的数据、…顺序输出到可变长度编码单元7。
因而,当为可变长度编码单元7提供固定长度代码数据时,可变长度编码单元7把固定长度代码转换成压缩代码(图6中所示的S5)。通过把从词划分单元6输出的固定长度代码转换成压缩代码执行该过程,并且图17和18表示压缩代码的代码值的例子。例如,图17表示仅输入在静态词典4中的字符串的代码值,而图18表示输入在辅助词典5中的字符串的代码值。
例如,当由词划分单元6输入指示字符串‘电气’(电气)的固定长度代码时,可变长度编码单元7输出一个相应代码值0000001。当输入字符串‘电子’(电子)的固定长度代码时,可变长度编码单元7输出一个相应代码值0000011。另一方面,当输入字符串‘电气は’的字符串代码时,可变长度编码单元7输出图18中所示的代码值YYY000001。当输入字符串‘电子出版’(电子出版)的固定长度代码时,可变长度编码单元7输出图18中所示的代码值YYY000010。
当从词划分单元6输出其他固定长度代码时,输出图17和18中所示的相应代码值。另外,把按上述输出的压缩代码写到例如附图中没有表示的文档存储器中。
通过执行上述过程,当与使用常规静态词典执行的压缩过程相比较时,能改进压缩率,由此输出少量的压缩数据。结果,使用较小容量的文档存储器能写压缩数据。
其次,下面解释恢复写到例如上述文档存储器上的压缩代码(压缩数据)的过程。
图19表示根据本发明的恢复设备的系统配置。该设备包括一个可变长度译码单元10、一个词恢复单元11、上述静态词典4、及辅助词典5。上述静态词典4和辅助词典5连接到词恢复单元11上。当词恢复单元11把压缩数据恢复成原始文档数据时,它使用静态词典4和辅助词典5。
图20是恢复过程的流程图。首先,可变长度译码单元10接收存入例如文档存储器中的压缩代码(压缩数据),对压缩代码进行与压缩过程相反的扩充过程,及把它译码到原始固定长度代码(S41)。就是说,通过参考图17和18,把压缩代码值(压缩数据)译码成相应固定长度代码(固定长度数据)。例如,当接收压缩代码值0000001时,输出字符串‘电气’(电气)的固定长度代码。当接收压缩代码值0000011时,输出字符串‘电子’(电子)的固定长度代码。另一方面,当接收压缩代码值YYY000001时,输出字符串‘电气は’的固定长度代码。当接收压缩代码值YYY000010时,输出字符串‘电子出版’(电子出版者)的固定长度代码。
其次,为词恢复单元11提供由可变长度译码单元10译码的固定长度代码的数据,并且通过第一次查找静态词典4执行字恢复过程(S42)。例如,当由可变长度译码单元10提供的固定长度代码对应于字符串‘电气’时,从静态词典4顺序读出与‘电气’相对应的字符代码,并且作为原始文档数据输出。当由可变长度译码单元10提供的固定长度代码对应于字符串‘电子’时,从静态词典4顺序读出与‘电子’相对应的字符代码,并且作为原始文档数据输出。另一方面,当由可变长度译码单元10提供的固定长度代码对应于字符串‘电气は’时,该字符串不输入在静态词典4中,并且字恢复单元11查找辅助词典5,及读出与字符串‘电气は’相对应的字符代码(S43)。另外,类似地当由可变长度译码单元10提供的代码值对应于字符串‘电子出版’时,它是不输入在静态词典4中的字符串,及查找辅助词典5,以读出与‘电子出版’相对应的字符代码。
重复执行上述过程,并且词恢复单元11在查找静态词典4和辅助词典5的同时,把编码信息顺序恢复成原始文档数据。当完成所有过程时,完全重新产生原始数据。
在上述恢复过程中,压缩代码(压缩数据)能重新生成原始文档数据。由于使用辅助词典5编码的压缩代码在这种情况下从文档存储器传送,所以在短时间内能完成传送过程。
在根据本发明的上述解释中,分别描述了数据压缩设备和数据恢复设备。然而,能类似的操作包括他们两者的装置。
<第二实施例>
下面描述的是本发明的第二实施例。
与在上述第一实施例中的情况不同,根据本实施例的数据压缩设备把产生的压缩数据经因特网等的通信线传送到另一台计算机,并且把数据恢复成原始数据。在传送侧产生的辅助词典经通信线传送到另一台计算机。
图21表示根据本实施例的数据压缩设备的系统配置。根据本实施例的数据压缩设备包括一个字符串检测单元21、一个辅助词典输入单元22、一个扩大词典23、一个静态词典24、一个辅助词典25、一个词划分单元26、一个可变长度编码单元27、及一个补充单元28。在静态词典24中,如上述那样输入诸如词、短语等之类的常用字符串,并且字符串检测单元21通过参考静态词典24检测包含在原始文档数据中的字符串。
另外,把诸如没有输入在静态词典24中的成语等之类的字符串的数据存储在辅助词典25中。该输入过程由辅助词典输入单元22执行,并且输入在由扩大词典23抽取的字符串中的原始文档数据特有的字符串。
而且如上所述,当执行输入诸如词短语等之类的字符串的过程之后,当再次读原始文档数据时,词划分单元26把原始文档数据划分成词。另外,可变长度编码单元27对划分成词的数据选择数据压缩过程。
另一方面,补充单元28读在辅助词典25中根据本实施例产生的信息,把读出信息输出到因特网等的通信线,及在输出从可变长度编码单元27输出的压缩代码之前,传送该信息。
其中预先输入诸如词、短语等之类的常用字符串的静态词典24的配置,类似于上述配置。他们输入在层次结构中。
就上述配置而论,通过参照下面的流程图描述根据本实施例的处理操作。
图22是根据本发明第二实施例的处理操作的流程图。而且在本实施例中,对原始文档数据执行两次读过程。在第一读过程(第一遍)中,抽取原始文档数据特有的字符串,并且输入到辅助词典25中。就是说,首先执行字符串检测过程(步骤S51),抽取原始文档数据特有的字符串,并且把抽取的字符串的数据输入在辅助词典25中(S52)。
而且,字符串检测过程(S51)与上述第一实施例中描述的过程(参考图6中所示的流程图)相同,并且抽取在扩大词典23中的原始文档数据的字符串。输入原始文档数据特有的字符串的过程也与在第一实施例中描述的过程(图7中所示的流程图)相同。仅输入辅助词典25特有的字符串的数据。就上述过程而论,在静态词典4和辅助词典5中输入图12中所示的数据。
根据本实施例,象在根据图22中所示的流程图执行的过程中那样,把输入辅助词典25中的数据添加到输出文件的首部(S53)。该过程由补充单元28执行。实际上,该过程根据图23中所示的流程图执行。
图24表示在该过程中产生的文件格式。
首先,确定目标字符串是否是在n>N处结束的字符串(S61)。例如,在上述字符串‘电气’的情况下,相应字符串是在节点4(n<N)处结束的字符串,并且确定为否(在S61中为否)。另一方面,在上述字符串段‘电气は’的情况下,相应字符串是在节点N+1(n>N)处结束的字符串,并且确定为是(在S61中为是)。在这种情况下,检索在n≤N处的父节点。例如,在上述字符串‘电气は’的情况下,查找‘は’的父节点4,并且输入该字符串(S62、S63)。在该过程中,把‘は’的父节点(的索引)和‘は’的字符代码写到图24中所示的文件上。而且,写相应字符串的编码字YYY000001(S64)。
另外,当字符串是‘电子出版’时,查找‘出版’(出版)的父节点5,并且输入该字符串。把‘出版’(的索引)的父节点和‘出版’的字符代码写到图24中所示的文件上。而且,写相应字符串的编码字YYY000010。
另外,图24中所示的文件格式表示在辅助词典中诸条目的内容的一部分。在写辅助词典中的信息之后,在辅助词典的末端处添加压缩代码,并且然后输出。图25表示带有添加到辅助词典单元上的压缩代码的整个输出文件的输出格式,对于该辅助词典单元写辅助词典。从以后描述的可变长度编码单元27输出的压缩代码添加到压缩代码单元上。
其次,词划分单元26执行划分与原始文档数据相对应的字符串的过程(图22中所示的S54、S55)。该过程类似于上述过程。就是说,在对于静态词典24和辅助词典25查找原始文档数据的同时,产生字符串的固定长度代码。例如,在字符串‘电气’的情况下,通过查找静态词典24输出一个相应固定长度代码。另一方面,在字符串‘电气は’的情况下,通过查找辅助词典25输出一个相应固定长度代码。
可变长度编码单元27把从词划分单元26输出的固定长度代码转换成压缩代码。该过程与根据上述第一实施例的过程相同。例如,当检索字符串‘电气’的固定长度代码时,可变长度编码单元27输出相应压缩代码0000001。另一方面,当检索字符串‘电气は’的固定长度代码时,可变长度编码单元27输出相应压缩代码YYY000001。
通过执行上述过程,在补充单元28输出辅助词典25的内容之后,输出实际压缩代码。就是说,在如图25中所示格式的输出文件中,描述辅助词典25的内容和压缩代码的数据,并且经因特网等的通信线输出到另一台计算机,及执行压缩代码重新生成过程。
因此,根据本实施例,基于输入在辅助词典25中的数据,能编码原始文档数据特有的字符串,由此把数据压缩成非常小的量。结果,当经因特网等的通信线传送数据时,能缩短数据传送时间。
下面描述的是其中恢复经通信线提供的压缩数据的情形。
图26表示根据本实施例的恢复设备的系统配置。该设备包括一个可变长度译码单元30、一个词恢复单元31、一个静态词典34、一个辅助词典33、及一个辅助词典输入单元32。词恢复单元31连接到静态词典34和辅助词典33上,并且当词恢复单元31把数据恢复成原始文档数据时,查找静态词典34和辅助词典33。另外,辅助词典输入单元32输入经通信线提供在辅助词典33中的辅助词典信息。
图27是关于上述配置根据第二实施例的恢复过程的流程图。首先,根据本实施例,执行辅助词典输入过程(S71),在该过程中,例如使用辅助词典输入单元32检测在如图24中所示的文件状态下输入的数据,并且在数据恢复设备侧输入在辅助词典33中。
图28是该过程的流程图。就是说,输入包含在辅助词典单元中的每个字符串(的索引)的父节点(S81)。在该过程中,在图24中所示的例子中,读‘は’(的索引)的父节点4,并且读‘は’的字符代码和该字符串的编码字YYY000001(S82、S83)。然后,读‘出版’(的索引)的父节点5,并且读相应的字符代码和字符串的编码字YYY000010。
通过重复上述过程,把在数据压缩设备侧上的辅助词典25的数据输入在辅助词典33中。
另一方面,可变长度译码单元30执行如上所述经因特网等的通信线提供的恢复数据过程(图27中所示的S/2)。例如,输入经通信线提供的压缩代码(压缩数据),并且转换成一个固定长度代码。该过程与上述过程相同。例如,把压缩代码0000001译码成字符串‘电气’的固定长度代码,并且把压缩代码YYY000001译码成字符串‘电气は’的固定长度代码。
其次,由可变长度译码单元30译码的固定长度提供给词恢复单元31,查找静态词典24,并且执行词恢复过程(S73)。例如,当从可变长度译码单元30提供的代码对应于字符串‘电气’时,输出与‘电气’相对应的字符代码。另外,当从可变长度译码单元30提供的代码对应于字符串‘电子’时,输出与‘电子’相对应的字符代码。
另一方面,当从可变长度译码单元30提供的代码值对应于字符串‘电气は’时,它不输入在静态词典34中,并且词恢复单元31查找辅助词典33(S74)。这时,把存储在数据压缩设备侧的辅助词典25中的数据经如上所述的因特网等的通信线写到辅助词典33,并且由查找辅助词典33的词恢复单元31能检测相应的字符代码。另外,当代码值是指字符串‘电子出版’时,它不输入在静态字词典34中,词恢复单元31查找辅助词典33,及能检测相应的字符代码。
顺序输出如上所述检测的字符代码的数据,作为原始文档数据。当继续上述过程时,词恢复单元31在查找静态词典34和辅助词典33的同时,顺序把代码信息恢复成原始文档数据。当完成所有过程时,完成恢复原始文档数据的过程。
如上所述,根据本发明第二实施例,在接收侧的计算机中经因特网等的通信线输入在数据压缩设备侧产生的、存储在辅助词典中的信息,并且使用辅助词典和通用静态词典恢复原始文档数据的压缩数据,并且在传送辅助词典之后在短时间内执行数据恢复过程。
图29表示这样一种系统通过在诸如软盘、CD-ROM等之类的可携带存储介质中,和在诸如硬盘等之类的外部存储装置的存储器中,存储本实施例的数据存取过程的程序;和通过把存储介质插入在计算机的驱动器中,实现根据本实施例的过程。
另外,通过经因特网、局域网(LAN)、广域网(WAN)等的通信线从程序提供者向计算机下载本实施例的程序,也能实现该过程。
如上所述,根据本发明能把文档数据特有的字的字符串和短语输入在辅助词典中,由此改进压缩率和输出少量压缩数据。
而且,由于输出少量压缩数据,所以能把压缩数据存储具有小容量的文档存储器等中。
此外,当经因特网等的通信线传送压缩数据时,能在短时间内传送它,因为数据量能较小。
权利要求
1.一种数据压缩设备,包括一个静态词典,预先包含词和短语的字符串;一个字符串检测单元,检索要压缩的文档数据,并且检测没有包含在所述静态词典中的字符串;一个选择和输入单元,从由所述字符串检测单元检测的字符串中选择每个文档特有的字符串,并且把选择的字符串输入到一个辅助词典中;一个词划分单元,对所述静态词典和所述辅助词典查找要压缩的文档数据,并且把输入到所述静态词典或所述辅助词典中的字符数据转换成固定长度代码;及一个可变长度编码单元,把从所述词划分单元输出的固定长度代码转换成压缩代码。
2.根据权利要求1所述的设备,进一步包括一个译码单元,把压缩代码译码成固定长度代码;及一个数据恢复单元,使用所述静态词典和所述辅助词典把由所述译码单元译码的固定长度代码恢复成原始文档数据。
3.一种数据恢复设备,包括一个静态词典,预先存储词和短语的字符串;一个辅助词典,在检索要压缩的文档数据、检测没有包含在所述静态字词典中文档数据特有的词和短语的字符串、进一步从上述字符串中选择字符串之后,存储字符串;一个译码单元,把文档数据的压缩代码译码成固定长度代码;及一个数据恢复单元,使用所述静态词典和所述辅助词典,把由所述译码单元译码的固定长度代码恢复成原始文档数据。
4.一种数据压缩设备,包括一个静态词典,预先包含词和短语的字符串;一个字符串检测单元,检索要压缩的文档数据,并且检测没有包含在所述静态词典中的字符串;一个选择和输入单元,从由所述字符串检测单元检测的字符串中选择每个文档特有的字符串,并且把选择的字符串输入到一个辅助词典中;一个词划分单元,对所述静态词典和所述辅助词典查找要压缩的文档数据,并且把输入到所述静态字词典或所述辅助词典中的字符数据转换成固定长度代码;一个可变长度编码单元,把从所述词划分单元输出的固定长度代码转换成压缩代码;及一个传送单元,通过把输入在所述辅助词典中的字符串数据添加为由所述可变长度编码单元产生的压缩代码的首部,把该数据传送到通信网络。
5.根据权利要求4所述的设备,进一步包括一个辅助词典输入控制单元,接收输入在所述辅助词典中经通信网络传送的数据,并且把数据输入在一个辅助词典存储单元中;一个译码单元,把压缩代码译码成固定长度代码;及一个数据恢复单元,使用所述静态词典和所述辅助词典存储单元把由所述译码单元译码的固定长度代码恢复成原始文档数据。
6.一种数据恢复设备,包括一个静态词典,预先存储词和短语的字符串;一个辅助词典存储单元,存储经通信网络传送的辅助词典输入数据;一个译码单元,把文档数据的压缩代码译码成固定长度代码;及一个数据恢复单元,通过检索所述静态词典和存储在所述辅助词典存储单元中的辅助词典,把由所述译码单元译码的固定长度代码恢复成原始文档数据。
7.一种数据压缩方法,包括一个字符串检测过程,使用一个预先包含词和短语的字符串的静态词典,检索要压缩的文档数据,及检测没有包含在所述静态词典中的字符串;一个选择和输入过程,从在所述字符串检测过程中检测的字符串中选择每个文档特有的字符串,并且把选择的字符串输入到一个辅助词典中;一个词划分过程,对所述静态词典和所述辅助词典查找要压缩的文档数据,并且把输入到所述静态词典或所述辅助词典中的字符数据转换成固定长度代码;及一个可变长度编码过程,把在所述词划分过程中转换的固定长度代码转换成压缩代码。
8.一种数据恢复方法,包括一个选择和输入过程,通过使用一个预先存储词和短语的字符串的静态词典,检索要压缩的文档数据、检测没有包含在所述静态词典中文档数据特有的词和短语的字符串、进一步从字符串中选择字符串,并且把字符串输入在一个辅助词典中;一个译码过程,把文档数据的压缩代码译码成固定长度代码;及一个数据恢复过程,使用所述静态词典和所述辅助词典,把由所述译码过程译码的固定长度代码恢复成原始文档数据。
9.一种数据压缩方法,包括一个字符串检测过程,使用一个预先包含词和短语的字符串的静态词典,检索要压缩的文档数据,及检测没有包含在所述静态词典中的字符串;一个选择和输入过程,从在所述字符串检测过程中检测的字符串中选择每个文档特有的字符串,并且把选择的字符串输入到一个辅助词典中;一个词划分过程,对所述静态词典和所述辅助词典查找要压缩的文档数据,并且把输入到所述静态字词典或所述辅助词典中的字符数据转换成固定长度代码;一个可变长度编码过程,把固定长度代码转换成压缩代码;及一个传送过程,通过把输入在所述辅助词典中的字符串数据添加为在所述可变长度编码过程中产生的压缩代码的首部,把该数据传送到通信网络。
10.一种数据恢复方法,包括一个辅助词典存储过程,存储经通信网络传送的辅助词典输入数据;一个译码过程,把文档数据的压缩代码译码成固定长度代码;及一个数据恢复过程,使用所述静态词典和所述辅助词典,把由所述译码过程译码的固定长度代码恢复成原始文档数据。
11.一种存储一个程序的计算机可读存储介质,以指导计算机执行如下过程一个字符串检测过程,使用一个预先包含词和短语的字符串的静态词典,检索要压缩的文档数据,及检测没有包含在所述静态字词典中的字符串;一个选择和输入过程,从在所述字符串检测过程中检测的字符串中选择每个文档特有的字符串,并且把选择的字符串输入到一个辅助词典中;一个词划分过程,对所述静态词典和所述辅助词典查找要压缩的文档数据,并且把输入到所述静态词典或所述辅助词典中的字符数据转换成固定长度代码;及一个可变长度编码过程,把固定长度代码转换成压缩代码。
全文摘要
本发明提供一种数据压缩设备和数据恢复设备用于提高数据压缩的压缩率,该设备包括:静态词典,预先包含词和短语的字符串;字符串检测单元,检索要压缩的文档数据;选择和输入单元,从由所述字符串检测单元检测的字符串中选择每个文档特有的字符串,输入到一个辅助词典中;词划分单元,对所述静态词典和所述辅助词典查找要压缩的文档数据,转换成固定长度代码;及可变长度编码单元,把输出的固定长度代码转换成压缩代码。
文档编号H03M7/40GK1267963SQ0010099
公开日2000年9月27日 申请日期2000年1月18日 优先权日1999年3月12日
发明者矢作裕纪, 吉田茂 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1