压缩装置、压缩方法、词典生成装置、词典生成方法、解压装置、解压方法、解压程序以及信...的制作方法_4

文档序号:9332137阅读:来源:国知局
是“000101”这样的6位的数据,相对于此从压缩数据中归为12位的数据而读出。若读出的12位中前半部分的6位是“000101”,则不管后半部分的6位是什么样的数据都需要能够获取识别符号[c3]这样的解压代码。因此,按照后半部分的6位取得的值的全部储存有解压代码以及编码长度,从而不管12位的固定长度数据中的后半部分6位是什么样的数据,都获取与6位的可变长度编码对应的解压代码等信息。识别符号[c3]的信息复制后半部分6位的全部(“000000”?“111111”)的数目(64个),压缩编码被储存至与“000101”相应的偏移位置(000101000000 (0x140))。S卩,解压词典的偏置值0x140?0xl7F这64个的数据储存与识别符号[c3]相关的信息。
[0127]另外,与通用字符信息“talk”相关的信息也与控制符号[c3]相同,复制与压缩编码的编码长度相应的数目,并储存至与压缩编码相应的偏移位置。其中,通用字符信息在S603的处理中被变更为转换表Tl内的偏置值(0x0182)。
[0128]图14表示解压数据生成处理的处理步骤例。若生成解压词典D2,则控制部121开始生成与压缩文件F2所包含的压缩数据对应的解压数据的处理。将来自存储区域A3的读出位置设置为文件F2的压缩数据的起点,朝向存储区域A4的写入位置被设置为存储区域A4内的规定的位置。
[0129]读出部123从存储区域A3的读出位置读出压缩数据(S701)。压缩数据的读出如上所述以固定长度(例如,12位)进行。检索部122基于读出的固定长度数据参照解压词典D2(S702)。控制部121判定通过S702的参照得到的解压代码是否是识别符号(S703)。
[0130]在通过S702的参照得到的解压代码是识别符号的情况下(S703 是”),控制部121将活用标志设为0N(S704)。活用标志用于在解压词典D2中与压缩编码建立有对应关系的解压代码是字符信息还是偏置值的判定。在S704中,控制部121将通过S702的参照得到的识别符号存储至缓冲区。
[0131]在通过S702的参照得到的解压代码不是识别符号的情况下(S703 否”),控制部121判定活用标志是否是0N(S705)。在活用标志是ON的情况下(S705 是”),检索部122参照转换表Tl (S706)。在S706中,检索部122将通过S702的参照得到的解压代码作为转换表Tl的偏置值,基于偏置值来参照转换表Tl。并且,检索部122还从转换表Tl获取与缓冲区所储存的识别符号和通过偏置值(解压代码)表示的通用字符信息的组合对应的字符信息。控制部121将活用标志设为0FF,删除缓冲区所储存的识别符号(S707)。
[0132]若在S705的判定中活用标志是0FF(S705 否”),或结束S707的处理,则控制部121向存储区域A4的写入位置进行字符信息的写入(S708)。在S708中写入的字符信息是通过S702的解压词典D2的参照得到的解压代码,或者是通过S706的转换表Tl的参照得到的字符信息。根据在S708中写入的字符信息的长度,控制部121更新朝向存储区域A4的写入位置(S709)。
[0133]若进行S704或者S709的处理,则控制部121对来自存储区域A3的读出位置进行更新(S710)。基于通过S702的参照得到的编码长度对来自存储区域A3的读出位置进行更新。例如,读出位置前进编码长度的信息所表示的位数。
[0134]接着,控制部121判断来自存储区域A3的读出位置是否是压缩文件F2的压缩数据的终端(S711)。在来自存储区域A3的读出位置不是压缩数据的终端的情况下(S711:“否”)。步骤返回到S701,读出部123再次进行压缩数据的读出。在来自存储区域A3的读出位置不是压缩数据的终端的情况下(S711 是”),控制部121结束解压数据生成处理,步骤移至S505。
[0135]作为另外一个例子,解压词典D2是解压词典的一个例子,也可以使用未重复登记有相同的信息的解压词典。例如,也可以使用一般的哈夫曼编码的解压词典。即使在该情况下,在从解压词典获取了解压代码的情况下,控制部121进行S703的判定,根据该判定结果进行S704,或者进行S705?S709中的任一处理。
[0136]若解压数据生成处理结束,则控制部121基于存储区域A4所储存的解压数据生成解压文件F3,并将生成的解压文件F3储存至存储部15 (S505)。并且,控制部121还进行在解压功能调出之前解压处理结束了的意思的通知(S506)。S506的通知例如包含表示解压文件F3的储存目的地的信息。若S506的处理结束,则解压部12的解压处理结束。
[0137][朝向压缩编码的转换]
[0138]在图2所示的例(3)以及例(6)中,使用与识别符号对应的压缩编码和与通用字符信息对应的压缩编码的组合。在该组合中,按照与识别符号对应的压缩编码在前、与通用字符信息对应的压缩编码在后的顺序组合。根据该顺序,先从解压词典Dl读出识别符号,所以能够基于之后读出的压缩编码进行从解压词典Dl获取的解压代码是字符信息还是偏置值的判定。
[0139]图15表示朝向压缩编码的转换例。也可以如例(3)所示的那样使与识别符号对应的压缩编码在前,也可以如与例(7)所示的那样使通用字符信息对应的压缩编码在前。例(8)也与例(7)相同,例示有使与通用字符信息对应的压缩编码在前、与识别符号对应的压缩编码在后的情况。
[0140]在图5的S204的处理中,通过使与识别符号对应的压缩编码在前、与通用字符信息对应的压缩编码在后的控制生成图9所示的压缩词典D1。在按照图15所示的例(7)、例(8)的顺序排列压缩编码时,在图5的S204的处理中,也可以进行使与通用字符信息对应的压缩编码在前、与识别符号对应的压缩编码在后的控制。
[0141]图16表示压缩词典的数据结构例。图16所示的压缩词典Dla是使与被登记至转换表Tl的字符信息建立有对应关系的压缩编码的组合的顺序与压缩词典Dl相反的词典。即,为与通用字符信息对应的压缩编码在前、与识别符号对应的压缩编码在后的顺序。
[0142]压缩词典Dla与压缩词典Dl相同,对字符信息和压缩编码建立有对应关系。在图16中,仅对与压缩词典Dla的字符信息“spend”、“spends”、“spent”以及“spending”相关的部分例示有内容。例如,对于字符信息“spent”,按照C(Spend)C([C3])的顺序排列有压缩编码c(spend)以及压缩编码c ([c3])。若使用压缩词典Dla进行图10的压缩数据生成处理,则将压缩词典Dla内的压缩编码的顺序保持原样反映给压缩数据,所以在压缩文件F2中也按照c (spend) c ([c3])的顺序排列压缩编码。
[0143]图17表示解压词典的数据结构例。图17所示的解压词典D2a除了解压代码(字符信息或者偏置值)以及编码长度以外,还与活用标志建立对应关系。在解压词典D2a中,转换表Tl的偏置值、压缩编码的编码长度以及ON的状态的活用标志同与通用字符信息对应的压缩编码建立对应关系。在基于与通用字符信息对应的压缩编码参照解压词典D2a的情况下,根据活用标志是0N,能够判断解压代码是偏置值。字符信息、压缩编码的编码长度以及OFF的状态的活用标志同与不是通用字符信息的字符信息对应的压缩编码建立对应关系O
[0144]若使用解压词典D2a,则通过解压词典D2a的活用标志的参照,是与通用字符信息对应的压缩编码变得很清楚,所以接下来得到识别符号也变得清楚。因此,无需考虑与识别符号对应的压缩编码和与字符信息对应的压缩编码争执。即,在图15所示的例(7)以及例
(8)的情况下,与识别符号对应的压缩编码不管在S203等中应用的编码分配的算法如何,都可以独自分配。由此,通过编码分配的算法分配压缩编码的对象的字符信息的种类变少。特别是,由于识别符号对于多个字符信息共同使用(在各动词中过去时用识别符号[c3]来表示),所以出现频率处于较高的趋势。因此,若与其它字符信息一起进行可变长度压缩编码的分配,则容易分配较短的压缩编码,被分配至其它字符信息的压缩编码容易变长。因此,通过对识别符号独自(与字符信息独立)地分配压缩编码,处于分配给字符信息的压缩编码的编码长度变短的趋势。
[0145]另外,能够对识别符号独自分配较短的压缩编码。例如,若通过识别符号进行达到8个种类的识别,则也可以分配3位的固定长度编码。对于该固定长度分配使用图19后述。
[0146]图18表示解压数据生成处理的处理步骤例。在使用解压词典D2a情况下,与使用解压词典D2时判定解压代码是字符信息还是转换表Tl的偏置值的结构不同。若生成解压词典D2a,则控制部121开始生成与压缩文件F2所包含的压缩数据对应的解压数据的处理。将来自存储区域A3的读出位置设置为文件F2的压缩数据的起点,将朝向存储区域A4的写入位置设置为存储区域A4内的规定的位置。
[0147]读出部123从存储区域A3的读出位置读出压缩数据(S801)。压缩数据的读出如上所述按照固定长度(例如,12位)来进行。检索部122基于读出的固定长度数据参照解压词典D2a(S802)。控制部121对来自存储区域A3的读出位置进行更新(S803)。基于通过S802的参照得到的编码长度对来自存储区域A3的读出位置进行更新。
[0148]接着,判定通过S802的参照得到的活用标志是否是0N(S804)。在活用标志是ON的情况下(S804 是”),读出部123从存储区域A3的读出位置读出与识别符号对应的压缩编码(S805)。并且,控制部121基于读出的压缩编码获取识别符号。
[0149]检索部122基于通过S802的参照得到的偏置值和在S805中获取的识别符号来参照转换表Tl (S806)。在S806中,检索部122从转换表Tl获取由偏置值(解压代码)以及识别符号表示的字符信息。控制部121根据在S805中读出的压缩编码的编码长度对存储区域A3的读出位置进行更新(S807)。
[0150]若在S804的判定中活用标志是0FF(S804 否”)、或结束S807的处理,则控制部121向存储区域A4的写入位置进行字符信息的写入(S808)。在S808中写入的字符信息是通过S802的解压词典D2a的参照得到的解压代码,或是通过S806的转换表Tl的参照得到的字符信息。根据在S808中写入的字符信息的长度,控制部121对朝向存储区域A4的写入位置进行更新(S809)。
[0151]接着,控制部121判断来自存储区域A3的读出位置是否是压缩文件F2的压缩数据的终端(S810)。在来自存储区域A3的读出位置不是压缩数据的终端的情况下(S810:“否”),步骤返回到S801,读出部123再次进行压缩数据的读出。在来自存储区域A3的读出位置是压缩数据的终端的情况下(S810 是”),控制部121结束解压数据生成处理,且步骤移至S505。
[0152]根据图7所示的转换表Tl,识别符号[Cl]?[c5]被用于动词,识别符号[c6]?[c8]被用于形容词,识别符号[c9]?[cl3]被用于代名词。例如,不能对使用识别符号[Cl]的字符信息使用识别符号[c6]?[cl3]。因此,即使对识别符号分配的压缩编码与对识别符号[c6]?[cl3]的任意一个分配的压缩编码争执,也能够通过与通用字符信息对应的压缩编码和与识别符号[Cl]对应的压缩编码的组合来确定字符信息。即,也可以对识别符号[Cl]?[c5]分配能够在识别符号[Cl]?[c5]中相互识别的压缩编码。另外,也可以对识别符号[c6]?[c8]分配能够在识别符号[c6]?[c8]中相互识别的压缩编码。同样,也可以对识别符号[c9]?[cl3]分配能够在识别符号[c9]?[cl3]中相互识别的压缩编码。
[0153]图19表示压缩编码的分配例。若对识别符号分配固定长度编码,则也可以分配能够识别识别符号[Cl]?[c5](或者[c9]?[cl3])5种的压缩编码。例如,根据图19的例子,对各识别符号分配3位的固定长度的压缩编码。
[0154]在图19中,作为5种压缩编码,例示“000”、“001”、“010”、“011”以及“100”。固定长度压缩编码“000”以通用的方式分配给识别符号[Cl]、识别符号[C6]以及识别符号[c9]0固定长度压缩编码“001”以通用的方式分配给识别符号[c2]、识别符号[c7]以及识别符号[clO]。固定长度压缩编码“010”以通用的方式分配给识别符号[c3]、识别符号[c8]以及识别符号[ell]。固定长度压缩编码“011”以通用的方式分配给识别符号[c4]以及识别符号[cl2]。固定长度压缩编码“100”以通用的方式分配给识别符号[c5]以及识别符号[cl3]。以通用的方式分配有固定长度编码的识别符号彼此的识别对象的字符信息不争执(因为词类的种类不同),所以即使压缩编码彼此争执,在解压数据生成处理时的转换表Tl的参照(S706或者S806)中也能够没有问题地获取字符信息。例如,在转换表Tl中,若通过通用字符信息“spend”寻找识别信息的压缩编码为“010”的字符信息,则能够获取字符信息“spent”。虽然压缩编码“010”与识别符号[c3]和识别符号[c8]都对应,但在转换表Tl中,与通用字符信息“spend”相关联的只是识别符号[c3],所以识别符号[c3]被确定。
[0155][与规则变化的单词的对应]
[0156]根据上述方法,通过在解压处理时参照转换表Tl,获取了书写不同的字符信息。对于动词、形容词,存在词性不规则地变化的单词,但另一方面有词性变化的模式通用的情况。在词性的变化模式通用的情况下,通过根据词性变化的规则使单词的原形发生词性变化,能够确定词性发生了变化的单词。在解压时若能够根据规则使通用字符信息发生词性变化从而复原原本的字符信息,就不需要参照转换表Tl。因此,在转换表Tl中,压缩文件F2中也可以不包含与规则变化的字符信息相关的信息。由于在转换表Tl中,除了与规则变化的字符信息相关的信息以外包含于压缩文件F2,所以尾部信息的数据大小变小,压缩文件F2整体的文件大小变小。另外,在该情况下,被登记至频率表T2的通用字符信息中,未被登记至从压缩文件F2取出的转换表的通用字符信息成为将规则变化标志设为ON的对象。
[0157]图20表示解压词典的数据结构例。图20所示的解压词典D2b使解压代码(字符信息)和压缩编码的编码长度、活用标志以及规则变化标志相关联。规则变化标志表示相关联的字符信息是否是规则变化的字符信息。与ON的状态的规则变化标志相关联的字符信息是在语法上规则变化的字符信息(“talk”等动词等)。另一方面,与OFF的状态的规则变化标志相关联的字符信息是在语法上不规则变化的字符信息(“spend”等动词等)、或者是不变化的字符信息(一般名词等)。例如,规则变化标志例如对转换表Tl进行扩张,对被登记至转换表Tl的字符信息的每一个进行设定。在生成解压词典D2b时,从转换表Tl中确定设定有规则变化标志的字符信息,并对确定出的字符信息,将解压词典D2b内的规则变化标志设定为0N。为了不参照表而是通过算法来执行与规则变化的字符信息相关的解压,对图18所示的解压数据生成处理进行部分扩张。
[0158]图21表示解压数据生成处理的处理步骤例。在S804中,在将活用标志判定为ON的情况下(S804
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1