适合数据压缩的方法和设置技术

技术编号:3965343 阅读:241 留言:0更新日期:2012-04-11 18:40
本文提供适合数据压缩的方法和设置。当符号被编码和解码时,编码器和解码器中便适当地建立一个字母和词汇,并在代码库中将其存储起来。每当编码器对一未知符号进行编码时,编码器便将这一符号添加到词库中,并已无格式方式将其在编码字符串中发送出去。编码器所传送的编码字符包括符号和索引。位于编码字符前面的前缀位的状态表明了该编码代码是否是存储于代码库中的无格式符号,还是符号的索引或是一串符号。解码器在收到每个编码代码时对其前缀位进行检验,从而确定该编码代码是否存有无格式符号或索引。如果这一编码代码含有无格式符号,则解码器通过将以前解码符号串与当前所解符号中的第一个符号加合起来并将该符号加入到代码库中来获悉这一符号。如果该编码代码含有索引,则解码器通过提取存储在不同索引位置的符号或符号序列来对该编码代码进行解码。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】
适合数据压缩的方法和设置本申请是2002年2月11日递交的申请号为02806626. X,专利技术名称为“适合数据 压缩的方法和设置”的分案申请。
技术介绍
数据压缩是指缩减表达已知信息所需数据量的过程。缩减过程的基础是除去冗余 或不必要的数据。数据压缩技术可以降低信息存储及信息传输的费用。数据压缩技术被用 于许多方面,从简单的文件缩小到语音及视频信号的编码都可用到数据压缩技术。数据压缩分为二种类型无损压缩和有损压缩。在无损压缩中,在编码器输入的源 信息会在解码器的输出中进行严格的检索。在有损压缩中,信息不进行严格的检索,但损失 的信息量对于使用这种压缩技术的情况而言是可以接受的。有损压缩主要用于语言、音频、 图像及视频信号的压缩。压缩算法的目的在于使用最少量的字节数来表达信号,同时又可 保持这一信号可被解读和感知。所有人类感官不能察觉的信息都可以被除去。无损失压缩技术用应用的情况于不允许有信息损失,例如用于压缩可执行文件、 源代码文件、卫星图像以及医疗成像。无损压缩技术也会在有损压缩方案中得到部分应用, 以期得到更佳的压缩比。一项用于无损压缩的著名技术就是LZW算法,LZW算法是一项通用算法,该算法的 基础是根据固定规则对字符串进行解析。该算法基于一个概念,这个概念就是经常使用的 序列可以使用比表达整个序列所需数量更少的字节进行编码。LZW算法需要对带有源字符 的表格进行初始化处理。在起动编码过程之前,符号的宽度要被选定,符号的源字符被生成 并被存储在编码器和解码器的编码表格中。当对收到的符号序列进行编码时,LZW算法将选 定的符号(词汇)序列添加到代码库时,代码库中含有的序列可以用少于表达整个序列所 需数量的字节进行编码。源字符的大小与符号的宽度无关。举例而言,宽度为1比特(8个 字节)的符号需要28 (256)输入的源字符,宽度为2比特(16字节)的符号需要216 (64K) 输入的源字符。一般而言,LZW算法用于宽度为1比特的符号。LZW算法对编码表进行搜索 以便找到与所收到的符号序列相配的最长源字符,并将代码库中存储的与符号串相配的最 长源字符索引发送出去。附图说明图1表明的是执行无损数据压缩的编码器和解码器中所用到的以往LZW算法的编 码表100。这一 LZW编码表可能是一个三元可设定地址的内存。编码器使用存储在LZW编 码表100中的源字符106和代码库108对输入的符号序列102编译成索引值序列。编码器 110中的编码表100和解码器112中的解码表120含有源字符106和代码库108。索引序 列114由编码器110传输出去,并由解码器112进行解码。解码器112输出的字符串104 与输入的符号序列102具有相同的符号。在编码器110开始对输入的符号序列102进行编 码之前,源字符106被存储于编码器110和解码器112的LZW编码表100中。从编码器110 发送至解码器112的索引序列114或者是存储在源字符106中的无格式文本符号,或者是 存储在代码库108中的符号串索引。编码器110和解码器112通过依据初始的源字符来获 悉新的符号序列,并由此在各自的代码库中独立地创建输入项。编码器110在代码库中添 加入新的符号序列,并将以前获悉符号或符号序列的索引以索引序列114这一形式发送给解码器112。解码器同样获悉新的字符串,并将新的字符串存储在代码表108中LZW解码表 120的新索引位置上。图2表明的是以前的LZW技术对图1所示的编码器输入的字符串进行压缩的过 程。在编码器110开始对输入的字符串进行解析或解码器开始解码之前,源字符106被存 储在LZW编码表100中。在编码表100和解码表120中,8位字符所用的源字符106存储在 索引0 255的位置上。源字符106中256地址的5项内容被显示出来。符号“/”存储在 索引47的位置上,符号“b”存储在索引98的位置上,符号“d”存储在索引100的位置上, 符号“e”存储在索引101的位置上,符号“t”存储在索引116的位置上,符号“w”在座在索 引119的位置上。LZW编码表100中源字符106的索引256位置上的另一输入项256存储 着字符串结束码,LZW编码表100中代码库108的索引257位置上的输入项257存储着溢 出码。输入的字符串102被编码器110所接收。编码器110对输入的字符序列102进行 解析,并发送出索引序列114。编码器110通过对输入的字符序列102进行解析并通过在 LZW编码表100中搜寻与这一字符序列相匹配的最长对应码来对字符序列102进行编码。 输入的字符序列102作为索引序列被发送出去,用于LZW编码表100的输入。索引可以是 源字符106或代码库108中某一输入项的指示符。正如LZW编码表100所示的,存储有符号“/”的源字符106中输入项的索引为47。 编码表100最初只存储有源字符106。当编码器收到字符序列102时,编码器根据字符的宽 度来对字符序列102进行解析。编码器选择字符序列102中的某一字符,并在LZW编码表 100中搜寻这一字符。编码器通过将已知的字符与该字符序列加合起来来获悉代码词汇。 如果这一字符被找到了,则这一字符与下一字符进行加合,然后在LZW编码表100中针对 由这二个字符形成的字符序列进行搜寻。如果该字符序列没有存储在LZW编码表100中, 则前一个被识别出字符的索引或字符序列的索引被发送出去,这一新的字符序列被添加到 LZW编码表100中。使用LZW算法的编码器操作过程可通过输入字符序列102和宽度为一个字母(8 位)的字符加以说明;如图2所示,字符串102为“/Ved/we/wee/web/wet/”。编码表100存 储有初始字符,初始字符对于每个8位字符都有一个输入项,其中字符包括“/”、“w”、“e”、 “d”、“b” 和 “t”。对输入字符序列102的解析是从符号“/”开始的,符号“/”存储在LZW编码表100 中索引为47的位置上,“/”与下一个字符“w”进行加合。编码器会在编码表中搜寻字符串 “/w”由于LZW编码表100中没有存储“/V”,所以编码器通过在下一个序列索引258存储“/ w”来获悉“/V’。“/”的索引,即47这一已被识别字符的索引在索引序列104中被发送出去。对字符序列102的解析接下来从字符“w”开始。编码器在LZW编码表100中搜寻 字符 ,,。字符 ”存储在LZW编码表100中索引为119的位置上,字符“w”与下一字符 “e”进行加合,编码器在编码表中搜寻字符串“we”。由于“we”并未存储在编码表100中, 所以字符串“we”是通过被存储在下一个序列索引259中而被获悉的。对字符序列102的解析接下来从字符“e”开始。字符“e”存储在LZW编码表100 中索引为101的位置上,字符“e”与输入字符串的下一字符“d”进行加合,编码器在编码表中搜寻字符串“ed”。由于“ed”并未存储在编码表100中,所以字符串“ed”是通过被存储 在下一个序列索引260中而被获悉的。前一个被识别出字符“e”的索引,即101在索引序 列104中被发送出去。对字符序列102的解析接下来从字符“d”开始。字符“d”存储在LZW编码表100 中本文档来自技高网...

【技术保护点】
一种增加编码器和解码器之间数据传输吞吐量的方法,该方法包括:a)由编码器接收输入字符串;b)从输入字符串中选取位的片段作为将被编码器搜索的可搜索数据;c)将输入字符串内被选取的片段的位置存储在位置寄存器中;d)将可搜索数据与存储器中的内容进行比较;e)一旦检测到可搜索数据被存储在存储器中,则将输入字符串中位的下一个片段链接到可搜索数据上,并将输入字符串内所述的下一个片段的位置存储在位置寄存器中以及将可搜索数据与存储器的内容进行比较;以及f)一旦检测到可搜索数据没有被存储在存储器中,则将数据位的下一个片段存储在存储器中的下一个自由的位置上,并将所述的下一个数据位片段发送给解码器。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:阿布达特莫拉德
申请(专利权)人:莫塞德技术股份有限公司
类型:发明
国别省市:CA[加拿大]

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

1