解码方法及解码装置的制造方法

文档序号:9528010阅读:601来源:国知局
解码方法及解码装置的制造方法
【技术领域】
[0001]本文所讨论的实施方式涉及解码方法、解码装置以及计算机可读记录介质。
【背景技术】
[0002]当编码数据需要经受字符码转换时,通常依次用解码处理和字符码转换处理这两个过程来实现字符码转换(参见例如日本公开特许公报N0.2003-30030)。因而,需要准备用于存储解码处理结果的存储区域。
[0003]使用LZ77的ZIP是主流的编解码算法。关于ZIP,针对要编码的字符串,通过使用滑窗来确定最长匹配字符串以生成编码数据。针对要解码的编码数据,通过使用滑窗来确定最长匹配字符串以生成解码数据。逐字节地执行通过使用滑窗对最长匹配字符串的确定。
[0004]然而,存在以下问题:当在解码处理之后逐字符地执行编码数据的码转换时,由于编码数据的解码处理中的字节长度与字符码转换处理中的字节长度彼此不同,所以需要单独地执行这些处理。因此例如存在在存储区域中产生浪费的问题,从另一视点来看,存在处理时间变长的问题。
[0005]例如,关于ZIP,在编码处理和解码处理中,虽然对最长匹配的确定是逐字节地来执行,但是字符码转换处理却是逐字符地来执行。已知包括CJK字符的字符码系统如UTF-8中的字符的长度是一个字节至4个字节中任一者。S卩,在存在每个由一个字节表示的字符(例如,字母数字字符)的同时,还存在每个由3个字节表示的字符(例如,一级汉字、二级汉字和假名字符中的一些)以及每个由4个字节表示的字符(例如,三级汉字和四级汉字中的一些)。因而,通过解码处理的最长匹配,逐字节地生成的解码数据位于与这些字符的字节单元不同的单元中。因此,不能将解码数据直接移交给其中字符被直接视为单元的字符码转换处理,并且不能在一个过程中执行解码和字符码转换。因此,在解码处理中,需要将所有编码数据的解码结果存储在存储区域中并且在存储区域中产生了浪费。另外,用于解码处理和字符码转换处理的处理时间变得过长。
[0006]将参照图1A和图1B来描述以下问题:需要将编码数据的解码处理和字符码转换处理作为不同的处理来执行。图1A是示出了使用LZ77系统的解码和转换处理的图。如图1A所示,在解码处理中,对所有编码数据进行解码,并且将解码后的所有解码数据存入存储区域中。在字符码转换处理中,对存储在存储区域中的所有解码数据的字符码进行转换以生成转换数据。
[0007]图1B是示出了使用LZ77系统的解码和转换处理的另一个图。将参照图1B来描述对UTF-8字符码的编码数据进行解码的情况。如图1B所示,例如在存储器中保障存储区域A1、A2、B1和B2中的每一个存储区域。例如将存储区域B1称为“读缓冲器”。在解码处理中,通过利用与滑窗对应的存储区域A1和A2来执行最长匹配确定以对存储在存储区域B1中的编码数据进行解码。例如将存储区域A1称为“编码部”。例如将存储区域A2称为“参考部”。在解码处理中,将解码后的解码数据直接写入存储区域A2和B2中。例如将存储区域B2称为“写缓冲器”。
[0008]例如,在解码处理的第一最长匹配中,通过使用存储区域A1和A2来对存储在存储区域B1中的编码数据进行解码。即,由于解码处理是逐字节地来执行,所以未识别出解码后的解码数据中的字符的末尾。在解码处理中,将解码后的解码数据直接写入存储区域A2和B2中。在图1B的示例中,在第一最长匹配中解码后的解码数据是“E2BC98E386”。在该情况下,写入存储区域B2的数据照原样为解码数据“E2BC98E386”。该“E2BC98E386”由“ + ”(0xE2BC98)(意为“十”的日语字符)和“Ο”(0χΕ386)组成,其未达到字符的末尾。即,产生了“含泪分离(parting in tears) ”,其意指偏离字符码之间的边界。当将第二最长匹配的数据“93”写入存储区域B2时,生成“二”(0xE38693)(意为“二”的日语字符),其达到字符的末尾。因此,虽然解码处理是逐字节地来执行,但字符码转换处理却是逐字符地来执行,并且因此通过解码处理而获得的解码数据不能直接经受字符码转换。因而,在使用LZ77系统的解码处理中,在执行对全部解码数据的解码之后,针对解码后的解码数据来进行字符码转换,因此需要字符码转换结果的存储区域B3并且在用于解码处理的存储区域A2中产生浪费。另外,用于解码处理和字符码转换处理的处理时间变长。
[0009]在一个方面中,目的在于对用于解码处理和字符码转换处理中的存储区域的浪费或效率的降低进行抑制。另外,在另一方面中,目的在于缩短用于解码处理和字符码转换处理的处理时间。

【发明内容】

[0010]根据实施方式的方面,一种解码方法的特征在于计算机执行:将包括在编码数据中的第一编码数据解码成第一部分数据,所述编码数据从具有第一字符码的第一数据编码而来;基于所述编码数据从具有第一字符码的第一数据编码而来的字符码信息来检测第一部分数据中的字符边界;以及基于将第一字符码与第二字符码相关联的信息,利用检测到的字符边界将第一部分数据中的至少一部分转换成具有第二字符码的第二数据。
【附图说明】
[0011]图1A是示出了使用LZ77系统的解码和转换处理的图;
[0012]图1B是示出了使用LZ77系统的该解码和转换处理的另一个图;
[0013]图2A是示出了使用LZ77系统的解码处理的示例的图;
[0014]图2B是示出了使用LZ77系统的解码处理的该示例的另一个图;
[0015]图2C是示出了使用LZ77系统的解码处理的该示例的又一个图;
[0016]图2D是示出了使用LZ77系统的解码处理的该示例的再一个图;
[0017]图2E是示出了使用LZ77系统的解码处理的该示例的又一个图;
[0018]图2F是示出了使用LZ77系统的解码处理的该示例的再一个图;
[0019]图3A是示出了根据实施方式的解码和转换处理的第一图;
[0020]图3B是示出了根据该实施方式的解码和转换处理的第二图;
[0021]图4A是示出了根据该实施方式的解码和转换处理的示例的图;
[0022]图4B是示出了根据该实施方式的解码和转换处理的示例的另一个图;
[0023]图4C是示出了根据该实施方式的解码和转换处理的示例的又一个图;
[0024]图4D是示出了根据该实施方式的解码和转换处理的示例的再一个图;
[0025]图4E是示出了根据该实施方式的解码和转换处理的示例的又一个图;
[0026]图4F是示出了根据该实施方式的解码和转换处理的示例的再一个图;
[0027]图4G是示出了根据该实施方式的解码和转换处理的示例的又一个图;
[0028]图4H是示出了根据该实施方式的解码和转换处理的示例的再一个图;
[0029]图41是示出了根据该实施方式的解码和转换处理的示例的又一个图;
[0030]图4J是示出了根据该实施方式的解码和转换处理的示例的再一个图;
[0031]图4K是示出了根据该实施方式的解码和转换处理的示例的又一个图;
[0032]图4L是示出了根据该实施方式的解码和转换处理的示例的再一个图;
[0033]图5是示出了解码装置的功能配置的第一示例的图;
[0034]图6是示出了解码装置的功能配置的第二示例的图;
[0035]图7是示出了字符码转换表的数据配置的示例的图;
[0036]图8是示出了该解码和转换处理的流程图的图;以及
[0037]图9是示出了该解码装置的硬件配置的图。
【具体实施方式】
[0038]将参照附图来说明优选的实施方式。本发明不限于这些实施方式。
[0039]首先,将描述使用LZ77系统的解码处理。
[0040]根据使用LZ77系统的参考示例的解码处理的示例
[0041]图2A至图2F是示出了使用LZ77系统的解码处理的示例的图。如图2A所示,在存储器中保障存储区域A1、A2、B1和B2中的每一个存储区域。存储区域A1和A2对应于滑窗并且称为例如“编码部”和“参考部”。例如将存储区域B1和B2称为“读缓冲器”和“写缓冲器”。另外,将指针PB1、PB2和PA2中的每一个设置在所述存储器中。将文件F1中的内容部分的编码数据读入存储区域B1中。在读缓冲器B1中,包括通过由LZ系统对要处理的字符串^一才咖右十二才圭力”(意为“从—^一岁至十二岁”的日语字符)的UTF-8格式的字符码进行编码而获得的编码数据。假定包括在读缓冲器B1中的“△ △ △”是字符串“孑扣朽”(意为“从…岁”的日语字符)的编码数据。
[0042]在未示出的编码处理中,针对要处理的字符串的字符码,搜索与已经处理过的字符码最长匹配的数据(最长匹配数据)。将已经处理过的字符码存储在存储区域A2中。如果最长匹配数据小于3个字节,则逐字节地生成每个字符作为编码数据。编码数据的头部包括标识符(例如“0”),“0”表示该编码数据不基于最长匹配数据。在本文中,存储区域B1中的“0bE2h”、“0bBCh”、“0b98h”等是包括表示编码数据不基于最长匹配数据的标识符的编码数据。另外,字符码自身被用作编码数据的一部分仅为示例,并且可以使用通过哈夫曼编解码算法进行的编码而获得的哈夫曼码,或者可以使用另外的编码算法。
[0043]相反地,如果检索到等于或多于3个字节的最长匹配数据,则基于存储区域A2中的最长匹配数据的位置以及最长匹配数据的数据长度来生成编码数据。编码数据的头部包括标识符(例如表示编码数据基于最长匹配数据。在本文中,存储区域A3中的“ Ib0000h05h”是包括表示编码数据基于最长匹配数据的标识符的编码数据。
[0044]在这样的情形下,在编码处理中,将图2A所示的文件F1中的内容部分的数据读入存储区域B1中。在解码处理中,将读入存储区域B1的编码数据顺序地读出至存储
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1