安全并且无损的数据压缩的制作方法

文档序号:8491987阅读:327来源:国知局
安全并且无损的数据压缩的制作方法
【技术领域】
[0001]
技术领域是信息通信领域。更具体地,解决安全和无损的压缩/解压缩。
【背景技术】
[0002] 文本是排序为字符序列的字符串。用数字表示字符的典型方法是通过使用绝对编 码表,其中每个字符由唯一的绝对数表示。最著名的该种绝对编码表之一是由ASCII规范 (norm)定义的绝对编码表。在该种ASCII绝对编码表中,每个字符通常由唯一的一个字节 的数来表示,从而将该种ASCII绝对编码表的大小限制为256个字符。用数字表示字符的 有序序列的典型方法是提供对应的数的有序序列,每个字符由其绝对数W相同顺序表示。
[0003] 因此,n个字符的串由占用n个字节的数序列表示。考虑到数据或者文本流量(例 如,在移动电话网络上)的增加,该种占用似乎过高。
[0004] 存在诸如zip、rar等之类的一些压缩解决方案,然而该些解决方案可能不能带来 任何大小减少,尤其当应用于短长度文本字符串时。
[0005] 展现明显大小减少的压缩/解压缩方案(即使对于短长度串)是所期望的。

【发明内容】

[0006] 实施例设及用于压缩字符串的方法,该字符串初始由各自由绝对数表示的字符的 原始有序序列定义,绝对数根据绝对编码表唯一地表示每个字符,该方法包括如下步骤:将 所述原始序列解析成包括连续字符的至少一个第一类型子序列W及包括连续剩余字符的 至少一个第二类型子序列,第一类型子序列的连续字符中的每个字符匹配相对编码表中的 对应字符;使用所述相对编码表对每个第一类型子序列编码;将来自每个第二类型子序列 的每个字符拷贝到所述压缩序列中,每个字符由来自所述绝对编码表的其绝对表示数表 /J、- 〇
[0007] 根据实施例的特征,对第一类型子序列的编码可W进一步包括如下步骤:通 过来自所述绝对编码表的其原始绝对表示数,对所述子序列的初始字符编码,作为键码 化eycode);对所述子序列中的所述初始字符之后的每个字符编码,该通过编码所述相对编 码表中在所述字符之前的字符和所述字符之间的位移来进行;在所述子序列中的最后字符 之后,通过编码朝向所述相对编码表中的第二特定控制字符的位移,结束对所述第一类型 子序列的编码,第二特定控制字符指示编码结束。
[000引根据实施例的另一特征,所述方法可W进一步包括如下步骤:将从所述原始序列 计算的校验和插入到所述压缩序列中。
[0009] 根据实施例的另一特征,对在所述相对编码表中在前字符和在后字符之间的位移 的编码可W包括如下步骤;确定在所述相对编码表中沿着第一预定方向将所述在前字符与 所述在后字符分离的第一坐标;确定在所述相对编码表中沿着第二预定方向将所述在前字 符与所述在后字符分离的第二坐标;将所有确定的坐标按顺序串接到压缩序列中。
[0010] 根据实施例的另一特征,所述第一坐标在第一数集中选择并且所述第二坐标在第 二数集中选择,没有数在所述第一数集和所述第二数集之间共享,并且所述第一集之中的 一个第一特定坐标和所述第二集之中的一个第二特定坐标在压缩序列中被省略,除了当两 个特定坐标紧接着时,在此情形下,所述在后特定坐标未被省略。
[0011] 根据实施例的另一特征,所述相对编码表如在待压缩的字符串中预期的那样用最 频繁的字符填充。
[0012] 根据实施例的另一特征,所述相对编码表是8乘8矩阵,所述第一坐标根据从左到 右的列的循环计数在第一范围[0.. 7]中选择,所述第二坐标根据从上到下的行循环计数 (加8)在第二范围巧..円中选择,第一特定坐标是与零分离列对应的第一坐标,并且第二 特定坐标是与零分离行对应的第二坐标。
[0013] 根据实施例的另一特征,所述方法在解析步骤和编码步骤之间进一步包括如下步 骤;针对每个第一类型子序列,校验将通过编码步骤获得的经编码子序列是否短于原始子 序列,如果不短于,则将所述第一类型子序列视为第二类型子序列。
[0014] 另一实施例设及用于将压缩序列解压缩成字符串的方法,该字符串由各自由绝对 数表示的字符的最终有序序列定义,绝对数根据绝对编码表唯一地表示每个字符,该方法 包括如下步骤中的一个或者多个步骤:从所述压缩序列提取连续数的至少一个经编码子序 列;使用相对编码表,将所述经编码子序列解码成最终经解码子序列;保持剩余数;W及将 每个所述剩余数拷贝到解压缩序列2中,作为使用所述绝对编码表由绝对数表示的字符。
[0015] 根据实施例的另一特征,提取和解码步骤可W进一步包括如下步骤:将初始数拷 贝在所述最终经解码子序列中,作为根据所述绝对解码表由所述绝对数表示的的字符;预 处理在所述经编码子序列中的所述初始数之后的在后数;将在后数解码为在所述相对编码 表中的相对位移,直到位移指向所述相对编码表中的第二特定控制字符,第二特定控制字 符指示编码结束,并且因此指示所述经编码子序列结束。
[0016] 根据实施例的另一特征,解码在后数的步骤可W进一步包括如下步骤:开始于当 前字符是所述初始字符,当前位置是所述相对编码表中的所述初始字符的位置,W及当前 坐标对是所述经编码子序列中的第一对第一坐标和第二坐标,重复W下步骤,直到新的位 置指向所述相对编码表中的第二特定控制字符;从所述相对编码表中的当前位置,应用如 由第一坐标和第二坐标的当前对编码的位移,W便找到指示新的经解码字符的新的位置, 第一坐标指示沿着第一预定方向的列的循环计数,第二坐标指示沿着第二预定方向的行的 循环计数;将所述新的经解码字符拷贝在所述经解码最终子序列中在所述当前字符之后; 将当前字符更新为所述新的经解码字符,将当前位置更新为所述新的位置,将当前坐标对 更新为所述经编码子序列中的下一对第一坐标和第二坐标。
[0017] 根据实施例的另一特征,所述第一坐标在第一数集中选择并且所述第二坐标在第 二数集中选择,没有数在所述第一数集和所述第二数集之间共享,预处理在后数的步骤进 一步包括如下步骤;将第一特定坐标插入在任何第二特定坐标之前;将第二特定坐标插入 在任何第一特定坐标之前;将第一特定坐标插入在任何两个连续的第二坐标之间;将第二 特定坐标插入在任何两个连续的第一坐标之间。
[0018] 根据实施例的另一特征,所述相对编码表是8乘8矩阵,所述第一坐标根据从左到 右的列的循环计数在第一范围[0.. 7]中选择,所述第二坐标根据从上到下的行循环计数 (加8)在第二范围巧..円中选择,第一特定坐标是与零分离列对应的第一坐标,并且第二 特定坐标是与零分离行对应的第二坐标。
[0019] 另一实施例设及压缩器,该压缩器包括用于根据该种压缩方法将字符串压缩成压 缩序列的装置。
[0020] 一个实施例设及用于将字符串压缩成压缩序列的压缩器,该字符串由各自由绝对 数表示的字符的原始有序序列初始定义,绝对数根据绝对编码表唯一地表示每个字符,该 压缩器包括;解析器,用于将所述原始序列解析成包括连续字符的至少一个第一类型子序 列W及包括连续剩余字符的至少一个第二类型子序列,第一类型子序列的连续字符中的每 个字符基于相对编码表中的对应字符来选择;编码器,用于使用所述相对编码表对每个第 一类型子序列编码;拷贝器,用于将来自每个第二类型子序列的每个字符拷贝在所述压缩 序列中,每个字符由来自所述绝对编码表的其绝对表示数表示。
[0021] 根据实施例的另一特征,编码器进一步包括;第一子编码器,用于通过来自所述绝 对编码表的其原始绝对表示数,对所述子序列的初始字符编码,作为键码;第二子编码器, 用于对所述子序列中的所述初始字符之后的每个字符编码,该通过编码所述相对编码表中 在所述字符之前的字符和所述字符之间的位移来进行;第=子编码器,用于在所述子序列 中的最后字符之后,通过编码朝向所述相对编码表中的第二特定控制字符的位移,结束对 所述第一类型子序列的编码,第二特定控制字符指示编码结束。
[0022] 根据实施例的另一特征,压缩器进一步包括;插入器,用于将从所述原始序列计算 的校验和插入到所述压缩序列中。
[0023] 根据实施例的另一特征,第二子编码器进一步包括:第一确定器,用于确定在所述 相对编码表中沿着第一预定方向将所述在前字符与所述在后字符分离的第一坐标;第二确 定器,用于确定在所述相对编码表中沿着第二预定方向将所述在前字符与所述在后字符分 离的第二坐标;W及串接器,用于按顺序将所有确定的坐标串接到压缩序列中。
[0024] 根据实施例的另一特征,所述第一坐标在第一数集中选择并且所述第二坐标在第 二数集中选择,没有数在所述第一数集和所述第二数集之间共享,并且所述第一集之中的 一个第一特定坐标和所述第二集之中的一个第二特定坐标在压缩序列中被省略,除非当两 个特定坐标紧接着时,在此情形下,所述在后特定坐标未被省略。
[0025] 根据实施例的另一特征,所述相对编码表如在待压缩的字符串中预期的那样用最 频繁的字符填充。
[0026] 根据实施例的另一特征,所述相对编码表是8乘8矩阵,所述第一坐标根据从左到 右的列的循环计数在第一范围[0.. 7]中选择,所述第二坐标根据从上到下的行循环计数 (加8)在第二范围巧..円中选择,第一特定坐标是与零分离列对应的第一坐标,并且第二 特定坐标是与零分离行对应的第二坐标。
[0027] 根据实施例的另一特征,所述压缩器进一步包括校验器,用于针对每个第一类型 子序列,校验将获得的经编码子序列是否短于原始子序列,并且如果不短于,则用于将所述 第一类型子序列视为第二类型子序列。
[002引另一实施例设及解压缩器,其包括用于根据该种解压缩方法将压缩序列解压缩成 字符串的装置。
[0029] 一个实施例设及用于将压缩序列解压缩成字符串的解压缩器,该字符串由各自由 绝对数表示的字符的最终有序序列定义,绝对数根据绝对编码表唯一地表示每个字符,解 压缩器包括;提取器,用于从所述压缩序列提取连续数的至少一个经编码子序列;解码器, 用于使用相对编码表,将所述经编码子序列解码成最终经解码子序列;保持器,用于保持剩 余数;W及拷贝器,用于将每个所述剩余数拷贝到解压缩序列中,作为使用所述绝对编码表 由绝对数表示的字符。
[0030] 根据实施例的另一特征,提取器和解码器进一步包括:子拷贝器,用于将初始数拷 贝在所述最终经解码子序列中,作为根据所述绝对编码表由所述绝对数表示的字符;预处 理器,用于预处理在所述经编码子序列中的所述初始数之后的在后数;子解码器,用于将在 后数解码为所述相对编码表中的相对位移,直到位移指向所述相对编码表中的第二特定控 制字符,第二特定控制字符指示编码结束,并且因此指示所述经编码子序列结束。
[0031] 根据实施例的另一特征,子解码器进一步包括;启动器,用于开始于当前字符是所 述初始字符,当前位置是所述相对编码表中的所述初始字符的位置,并且当前坐标对是所 述经编码子序列中的第一对第一坐标和第二坐标;重复器,用于重复W下步骤,直到新的位 置指向所述相对编码表中的第二特定控制字符;从所述相对编码表中的当前位置应用如由 第一坐标和第二坐标的当前对编码的位移,W便找到指示新的经解码字符的新的位置,第 一坐标指示沿着第一预定方向的列循环计数,第二坐标指示沿着第二预定方向的行循环计 数;将所述新的经解码字符拷贝在所述经解码最终子序列中的所述当前字符之后;将当前 字符
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1