供二进制压缩方法使用的静态信息知识.pdf

上传人:g**** 文档编号:1120905 上传时间:2018-04-01 格式:PDF 页数:21 大小:1.05MB
返回 下载 相关 举报
摘要
申请专利号:

CN01822069.X

申请日:

2001.11.15

公开号:

CN1486536A

公开日:

2004.03.31

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H03M7/30

主分类号:

H03M7/30

申请人:

艾利森电话股份有限公司;

发明人:

H·汗努; K·斯范布罗; J·克里斯托费尔松

地址:

瑞典斯德哥尔摩

优先权:

2000.11.16 US 60/249,923; 2001.03.21 US 09/814,406

专利代理机构:

中国专利代理(香港)有限公司

代理人:

程天正;罗朋

PDF下载: PDF下载
内容摘要

用于在带宽受限的通信链路(250,255,550)上提高通信协议的压缩效率的一种系统、方法和设备。本发明的一方面运用通信协议的结构和内容的知识来形成一个静态字典(220,420,430)或静态二进制代码树。作为结果,压缩效率可被大幅提高。本发明的另一方面提供一种组合的静态和动态字典(520,540)或二进制代码树来执行通信协议压缩。在本发明的一个方面,静态二进制代码树或静态字典(220,420,430)是通过研究在它们预期的使用环境中的数据协议流而构建的。

权利要求书

1: 一种用于对使用通信协议传送的消息进行压缩的通信实体,所 述通信实体包含: 一个其中包含至少一个符号串的字典,所述至少一个符号串对应 于给定通信协议的至少一个符号;和 一个与所述字典通信的压缩器,所述压缩器使用所述字典来压缩 依照所述给定通信协议的第一通信消息中的所述至少一个符号串。
2: 根据权利要求1所述的通信实体,所述通信实体还包含: 一个与所述字典通信的解压缩器,所述解压缩器使用所述字典来 解压缩依照所述给定通信协议的第二通信消息中的至少一个符号 串。
3: 根据权利要求1所述的通信实体,所述通信实体还包含: 一个与所述压缩器通信的二进制代码树,所述压缩器使用所述二 进制代码树来压缩依照所述给定通信协议的所述第一通信消息中的 所述至少一个符号串。
4: 根据权利要求3所述的通信实体,其中所述二进制代码树包含 Huffman二进制代码树。
5: 根据权利要求3所述的通信实体,其中所述二进制代码树包含 静态二进制代码树。
6: 根据权利要求1所述的通信实体,其中所述字典包含静态字 典。
7: 根据权利要求1所述的通信实体,其中所述给定通信协议的所 述至少一个符号包含所述给定通信协议的至少一个字段名。
8: 根据权利要求1所述的通信实体,其中所述字典中的至少一个 入口是基于所述给定通信协议的统计数据流的。
9: 根据权利要求1所述的通信实体,所述通信实体还包含: 一个与所述压缩器通信的动态字典,在所述动态字典中包含至少 一个第二符号串,所述至少一个第二符号串对应于给定通信协议的 至少一个第二符号,所述压缩器使用所述动态字典和所述字典两者 中的至少一个字典来压缩依照所述给定通信协议的随后的通信消息 中的至少一个符号串。
10: 根据权利要求9所述的通信实体,其中所述压缩器使用一滑 动窗口字典压缩方法。
11: 一种用于对使用通信协议接收的消息进行解压缩的通信实 体,所述通信实体包含: 一个其中包含至少一个符号串的字典,所述至少一个符号串对应 于给定通信协议的至少一个符号;和 一个与所述字典通信的解压缩器,所述解压缩器使用所述字典来 解压缩依照所述给定通信协议的第一通信消息中的所述至少一个符 号串。
12: 根据权利要求11所述的通信实体,所述通信实体还包含: 一个与所述字典通信的压缩器,所述压缩器使用所述字典来压缩 依照所述给定通信协议的第二通信消息中的至少一个符号串。
13: 根据权利要求11所述的通信实体,所述通信实体还包含: 一个与所述解压缩器通信的二进制代码树,所述解压缩器使用所 述二进制代码树来解压缩依照所述给定通信协议的所述第一通信消 息中的所述至少一个符号串。
14: 根据权利要求13所述的通信实体,其中所述二进制代码树包 含静态二进制代码树。
15: 根据权利要求13所述的通信实体,其中所述二进制代码树包 含Huffman二进制代码树。
16: 根据权利要求11所述的通信实体,其中所述字典包含静态字 典。
17: 根据权利要求11所述的通信实体,其中所述给定通信协议的 所述至少一个符号包含所述给定通信协议的至少一个字段名。
18: 根据权利要求11所述的通信实体,其中所述字典中的至少一 个入口是基于所述给定通信协议的统计数据流的。
19: 根据权利要求11所述的通信实体,所述通信实体还包含: 一个与所述解压缩器通信的动态字典,在所述动态字典中包含至 少一个第二符号串,所述至少一个第二符号串对应于给定通信协议 的至少一个第二符号,所述压缩器使用所述动态字典和所述字典两 者中的至少一个字典来解压缩依照所述给定通信协议的随后的通信 消息中的至少一个符号串。
20: 根据权利要求19的通信实体,其中所述解压缩器使用一滑动 窗口字典解压缩方法。
21: 一种便于压缩消息通信的通信系统,所述通信系统包括: 一个第一通信实体,用于发送第一通信消息,所述第一通信实体 包含: 一个其中包含至少一个符号串的第一字典,所述至少一个符 号串对应于给定通信协议的至少一个符号;和 一个与所述第一字典通信的第一压缩器,所述第一压缩器使 用所述第一字典来压缩依照所述给定通信协议的第一通信消息中的 一个给定符号串;和 一个与所述第一通信实体通信的第二通信实体,用于接收所述第 一通信消息,所述第二通信实体包含: 一个其中包含至少一个符号串的第二字典,所述至少一个符 号串对应于所述给定通信协议的所述至少一个符号;和 一个与所述第二字典通信的第一解压缩器,所述第一解压缩 器使用所述第二字典来解压缩依照所述给定通信协议的所述第一通 信消息中的所述给定符号串,所述第一字典与所述第二字典基本上 等同。
22: 根据权利要求21所述的通信系统,其中所述第一通信实体还 包含: 一个与所述第一字典通信的第二解压缩器,所述第二解压缩器使 用所述第一字典来解压缩依照所述给定通信协议的第二通信消息中 的一个给定的符号串,所述第二通信消息是从所述第二通信实体接 收的。
23: 根据权利要求22所述的通信系统,其中所述第二通信实体还 包含: 一个与所述第二字典通信的第二压缩器,所述第二压缩器使用所 述第二字典来压缩依照所述给定通信协议的所述第二通信消息中的 一个给定的符号串。
24: 根据权利要求21所述的通信系统,其中所述第一通信实体还 包含: 一个其中包含至少一个符号串的第三字典,所述至少一个符号串 对应于给定通信协议的至少一个符号;和 一个与所述第三字典通信的第二解压缩器,所述第二解压缩器使 用所述第三字典来解压缩依照所述给定通信协议的第二通信消息中 的一个给定符号串,所述第二通信消息是从所述第二通信实体接收 的。
25: 根据权利要求24所述的通信系统,其中所述第二通信实体还 包含: 一个其中包含至少一个符号串的第四字典,所述至少一个符号串 对应于给定通信协议的至少一个符号;和 一个与所述第四字典通信的第二压缩器,所述第二压缩器使用所 述第四字典来压缩依照所述给定通信协议的所述第二通信消息中的 所述给定符号串,所述第三字典与所述第四字典基本上等同。
26: 根据权利要求21所述的通信系统,其中所述给定通信协议的 所述至少一个符号包含所述给定通信协议的至少一个字段名。
27: 根据权利要求21所述的通信系统,其中所述第一字典中的至 少一个入口是基于所述给定通信协议的统计数据流的。
28: 根据权利要求24所述的通信系统,其中所述第三字典中的至 少一个入口是基于所述给定通信协议的统计数据流的。
29: 根据权利要求21所述的通信系统,其中所述第一字典包含静 态字典。
30: 根据权利要求21所述的通信系统,其中所述第二字典包含静 态字典。
31: 根据权利要求24所述的通信系统,其中所述第三字典包含静 态字典。
32: 根据权利要求25所述的通信系统,其中所述第四字典包含静 态字典。
33: 一种于便使用通信协议进行压缩消息通信的方法,所述方法 包含以下步骤: 将第一通信消息中的至少一个符号串匹配到第一字典中的至少 一个匹配的符号串; 传送指示所述至少一个匹配符号串在所述第一字典中位置的引 用信息; 接收指示所述至少一个匹配符号串在所述第一字典中位置的所 述引用信息; 将所述接收的引用信息与第二字典中的至少一个相应符号串关 联起来,所述第二字典中的所述至少一个相应符号串基本等于所述 第一字典中的所述至少一个匹配符号串;和 用所述第二字典中的所述至少一个相应符号串重建所述第一通 信消息。
34: 根据权利要求33所述的方法,其中所述第一字典和所述第二 字典的至少一个包含静态字典。
35: 根据权利要求33所述的方法,其中所述第一字典和所述第二 字典的至少一个包含动态字典。
36: 一种便于使用通信协议进行压缩消息通信的方法,所述方法 包含以下步骤: 在一个字典中搜索对应于所述通信协议的符号串,所述符号串被 包含在一个通信消息中; 一肯定地确认所述字典包含所述符号串,就从所述字典检索与所 述符号串相关联的压缩符号串; 在所述通信消息中,用所述压缩符号串替换所述的符号串;和 使用所述通信协议发送所述通信消息。
37: 根据权利要求36所述的方法,其中所述字典包含静态字典。
38: 根据权利要求36所述的方法,其中所述字典包含动态字典。
39: 一种便于使用通信协议进行压缩消息通信的方法,所述方法 包含以下步骤: 接收一个基于所述通信协议的通信消息,所述通信消息包含一个 压缩符号串; 从一字典中检索与所述压缩符号串相关联的一个未压缩符号 串,所述未压缩符号串对应于所述通信协议;和 在所述通信消息中,用所述未压缩符号串替换所述压缩符号串。
40: 根据权利要求39所述的方法,其中所述字典包含静态字典。
41: 根据权利要求39所述的方法,其中所述字典包含动态字典。

说明书


供二进制压缩方法使用的静态信息知识

    相关申请的交叉参考

    本专利申请涉及并要求以下专利申请的优先权:2000年11月16日提交的美国专利申请No.60/249,923(代理人号No.34645-522USPL);与此同时提交的美国专利申请No.09/814407,标题为“使用请求-答复通信模式用于数据压缩的通信系统和方法(Communication System and Method Utilizing Request-ReplyCommunication Patterns for Data Compression)”(代理人号No.34645-523USPT);与此同时提交的美国专利申请No.09/814268,标题为“使用临时压缩表格进行通信的系统和方法(System andMethod For Communicating With Temporary Compression Tables)”(代理人号No.34645-524USPT);以及与此同时提交的美国专利申请No.09/0814434,标题为“共享上下文压缩的通信系统和方法(Communication System and Method For Shared ContextCompression)”(代理人号No.34645-525USPT)。

    【发明背景】

    发明的技术领域

    本发明涉及在使用数据协议(如互联网协议)的通信中的消息压缩。

    发明的背景和目的

    近年来被公众广泛使用的两种通信技术是蜂窝电话和互联网。蜂窝电话提供的某些好处是具有自由的移动性和可访问性,不论用户的位置如何都可以获得良好地服务质量。到最近为止,蜂窝电话提供的主要服务是话音。相对地,互联网在提供用于各种用途的灵活性的同时,着重于固定连接和大型终端。然而,某些服务(例如互联网电话)的所感受的质量已被普遍认为很低。

    已经开发出多个互联网协议(IP),以提供给在互联网和其它网络上的通信。这种互联网协议的一个例子是会话发起协议(SIP)。SIP是一种应用层协议,用于建立、修改和终止多媒体会话或呼叫。这些会话可包含互联网多媒体会议、互联网电话以及类似应用。如本领域技术人员所知,SIP可被用在传输控制协议(TCP)或用户数据报协议(UDP)上。

    互联网协议的另一个例子是实时流协议(RTSP),它是一个应用级协议,用于控制具有实时属性的数据(如音频和视频数据)的传递,RTSP也可与UDP、TCP或其它协议一同作为传输协议使用。互联网协议还有另一个例子是会话描述协议(SDP),它用于通告多媒体会议和通信会议地址以及会议工具特定的信息。SDP还用于一般的实时多媒体会话描述的目的。SDP被携带于SIP和RTSP消息的消息主体中。SIP,RTSP和SDP都是基于ASCII文本的,使用UTF-8编码中的ISO 10646字符集。

    由于新技术的发展,互联网和蜂窝电话技术开始融合。未来的蜂窝设备将包含互联网协议(IP)堆栈并支持IP上的话音和网页浏览、电子邮件以及其它希望的服务。在一个“全IP(all-IP)”或“自始至终IP(IP all the way)”的实施中,互联网协议在通信系统中被端对端地使用。在一个蜂窝系统中,这可能在蜂窝链路和无线电跳越(hop)上包含IP。互联网协议可用于所有类型的业务,包括用户数据(如语音或流数据)和控制数据(如SIP或RTSP数据)。各个技术的这种融合同时提供了IP的灵活性优点和蜂窝技术的移动性优点。

    如本技术领域所知的,SIP,RTSP和SDP协议共享相似的特征,所述特征已经蕴含在它们对蜂窝无线电接入的使用中。这些相似性之一是协议通用的请求和答复性质。通常,当发送者发送一个请求时,该发送者保持空闲,直到接收到一个响应。如上所述,另一个相似性是SIP、RTSP和SDP均基于ASCII文本,使用UTF-8编码的ISO 10646字符集。作为结果,信息通常使用比以二进制表示相同信息时所需的更多的比特数来表示。这些协议共享的另一个特征是:它们通常在尺寸上很大,以便提供必要的信息给会话的参与者。

    IP的一个缺点是由IP协议组引入的相对较大的开销,这是因为报头和基于文本的信令协议较大的缘故。在蜂窝系统中重要的一点是:以有效的方式使用稀有的无线电资源。在蜂窝系统中,在每个小区中支持足够数量的用户是很重要的,否则实施和运行成本将高不可攀。频谱,进而带宽是蜂窝链路中昂贵的资源,应该有效地使用它们以使系统资源最大化。

    在UMTS和EDGE移动通信系统以及第二代系统(如GSM和IS-95)的未来版中,很多信令业务将被使用互联网协议执行。然而如讨论的,大多数互联网协议被开发用于固定的、相对宽带的连接。当访问发生在窄带蜂窝链路上,则需要对协议消息进行压缩来满足服务质量的要求,比如是建立时间和延迟的要求。通常,在整个通信路径上的压缩是不需要的。然而,在无线电链路上(例如从无线用户终端到核心网络)的业务的压缩是非常需要的。

    例如Lempel-Ziv和Huffman编码的标准二进制压缩方法在某种意义上非常通用,因为它们不使用任何待压缩数据的结构的明确知识。在互联网数据协议(如SIP和RTSP)上使用这种方法使通信消息的有效压缩出现困难。今天可用的标准二进制压缩方法通常被设计成用于大的数据文件。作为结果,将这种方法用于小消息或具有较少重复串的消息的压缩通常会使压缩性能被认为很差。事实上,如果待压缩的消息很小和/或包含很少的重复串,那么使用一些标准压缩方法就会导致已压缩的分组实际大于原始未压缩的分组,由此会获得相反的效果。

    实施二进制压缩方案的一个方法是使用基于字典的压缩技术。通常,字典压缩方案使用已知为字典的数据结构来存储在输入数据中找到的符号串。此方案读入输入数据并寻找与字典中的符号串相匹配的符号串。如果一个串匹配被找到,则有一个指向该串在字典中的位置的指针或索引被输出,并代替该串被发送。如果索引小于它所替换的串,则将进行压缩。一个解压缩器包含一个压缩器字典的表示,以便使原始串可从接收的索引中再现。字典压缩方法的一个例子是Lempel-Ziv(LZ77)算法。此算法通过对先前在该文件中已出现的字符串,用对该先前出现的引用来替换该字符串而操作。当然,本发明在常有重复串的文件中是尤其成功的。

    字典压缩方案通常可以被分类为静态或动态。静态字典是一种预定义的字典,它是在压缩发生之前构建的,并在压缩过程期间不发生改变。静态字典通常在使用前存储在压缩器和解压缩器中,或在压缩操作开始之前被发送并存储于存储器中。

    另一方面,动态或自适应字典方案,允许字典的内容在压缩发生时改变。通常,动态字典方案开始于没有字典或有一个默认、预定义的字典,并在压缩过程期间向字典加入新的串。如果输入数据的一个串在字典中没有找到,则将该串加入字典的一个新位置中,并分配一个新索引值。新串被发送到解压缩器,以便可将其加入解压缩器的字典。新串的位置不必被发送,因为解压缩器能识别已经被接收的一个新串,并将该串加到解压缩器的字典中,加入位置与在压缩器字典中的加入位置相同。以这种方式,可以利用已更新的字典来压缩将来出现在输入数据中的该串。作为结果,当压缩发生时,压缩器和解压缩器处的字典被动态地构建和更新。

    字典压缩的一个方法是已知为滑动窗口压缩的类型。根据这种方法,在压缩期间压缩器使一个固定尺寸的滑动窗口从左向右移动通过文件。压缩算法在该窗口左边的文件中搜索与该窗口中的当前串的匹配。如果找到一个匹配,则用文件中该匹配位置的引用和该匹配长度的引用一起来替换该串。可替换地,该窗口可以包含一个文本窗口,该文本窗口包含一大块最近解码的文本和一个先行缓冲器(look-ahead buffer)。在这种版本中,先行缓冲器被用于搜索文本窗口中的匹配。如果找到一个匹配,则将该串替换为文本窗口中匹配位置的引用和匹配长度的引用。这一信息由解压缩器使用,该解压缩器维护相同的字典以便再现原始信息。

    数据压缩的另一个方法是使用二进制代码树。在二进制代码树中,待压缩的符号或串在一种树结构中以可变数量的比特表示,使每个符号都可被唯一地解码。通常,在输入数据中出现几率高的符号与那些出现几率低的符号相比由更少数量的比特来代表。在二进制代码树的构建中,个体符号被布置为连接到二进制代码树的叶节点的串。出现几率高的符号由树的较短枝表示,结果是只需要较少数量的比特来表示它们。相反,出现几率低的符号由树的较长枝表示,则需要较多数量的表示比特。当输入数据的一个串匹配于压缩器的二进制代码树中的一个符号时,该符号的代码代替符号本身被发送,从而形成数据的压缩。接收该代码的解压缩器使用一个相同的二进制代码树来重建原始符号或串。

    与字典压缩相似,二进制代码树可以是静态或动态的。在静态二进制代码树方案中,一个预定义的二进制代码树在压缩之前被构建,并在压缩过程中不改变。与静态字典相同,静态二进制代码树可以预先存入压缩器和解压缩器中,或在压缩开始之前被发送并存储下来。

    动态或自适应二进制代码树允许在压缩过程期间加入新的符号或串到代码树。根据使用的二进制代码树压缩类型,可以使用不同的方法来更新树的节点,以允许加入新符号并对代码树进行重新调整。在解压缩器中的二进制代码树必须根据与压缩器申的二进制代码树相同的规则也进行更新。

    二进制代码树压缩方案的一个例子是Huffman编码压缩方案。Huffman压缩是一种通用的压缩方法,主要用于压缩ASCII文件。在这些文件中频繁出现的字符被用更短的代码(即ASCII代码使用的小于8比特的代码)替换。Huffman压缩在使用相对较少字符的文件中是可以成功的。

    使用上述二进制压缩算法的成功压缩的一个通用准则是待压缩的文件是相当大。用于Huffman压缩的代码相比于正被压缩的文件不能过大。对于标准的Lempel-Ziv压缩,待压缩的文件必须足够大以致包含很多重复的串来获得有效压缩。由上述协议产生的消息多数为几百字节,没有大到足以基于逐个消息地使用上述的算法来有效地压缩消息。

    因此,在本领域存在一种需求,希望提高利用通信协议发送的消息的压缩效率和性能,以使它们可用于带宽有限的通信链路和信道。

    发明概要

    本发明指导的是用于在带宽有限的通信链路中提高通信协议的压缩效率的一种方法、系统和设备。本发明的一方面使用通信协议的结构和内容的知识来形成一个静态字典或静态二进制代码树。作为结果,压缩效率可被大幅提高。本发明的另一方面提供一种组合的静态和动态字典或二进制代码树来执行通信协议压缩。在本发明的一个方面,静态二进制代码树或静态字典是通过研究在它们预期的使用环境中的数据协议流而构建的。

    附图简述

    当结合附图参考下面的详细描述时,可获得对本发明的系统、方法和设备的更完整的理解,其中:

    图1说明了根据本发明进行通信的一个示例性系统;

    图2说明了根据本发明的一个示例性实施例;

    图3说明了根据本发明的用于压缩和解压缩的一个示例性数据分组;

    图4说明了根据本发明的另一个示例性实施例;和

    图5说明了根据本发明的又一个示例性实施例。

    【具体实施方式】

    下面将参照附图更完整地描述本发明,在附图中显示了本发明的优选实施例。然而,本发明能够以很多不同的形式来实施,不应被理解为限于这里给出的实施例;相反,提供这些实施例是为了使公开更彻底和完整,并完全地将本发明的范围传达给本领域的技术人员。

    图1说明了根据本发明进行通信的一个示例性系统。一个移动终端110利用通信协议经过通信链路115(例如一条无线链路)与基站120通信。基站120通过链路125与一个固定网络130(如PSTN)通信。固定网络130通过链路135与基站140通信。基站140使用通信链路145与终端150通信,终端150可以是一个移动终端或一个固定终端。根据本发明的一个实施例,移动终端110使用压缩数据经过通信链路115与基站120通信。类似地,基站140可使用压缩数据与终端150通信。应该理解,图1系统中的部分,如移动终端110和基站140,可以包含一个存储器160和处理器155,用于存储和执行软件指令,这些软件指令实现压缩和解压缩算法。还应该理解,本发明可用于其它通信系统,例如蜂窝网络,该网络在其中需要压缩的链路上使用通信协议。

    图2说明了本发明的一个示例性实施例。在此实施例中,一个实体A(210)使用通信链路(250,255)与实体B(230)通信,在该通信链路(250,255)中使用了数据压缩。每个实体包含一个数据压缩器(215,245)和一个数据解压缩器(225,235)。根据本发明的一个示例性实施例,使用了一种字典压缩方法。在此实施例中,每个实体中的静态字典220被用于压缩和解压缩那些将要使用数据协议在通信链路上进行通信的数据。应该理解,压缩器和/或解压缩器可以使用一个处理器和其中存有压缩/解压缩算法指令的相关存储器来实现。还应该理解,通信实体可包含多个通信设备。例如,实体A可包含一个移动终端110,实体B可包含一个基站140。

    根据本发明的一个实施例,实体A(210)和实体B(230)使用相同的静态字典220。静态字典220可由通信协议使用的协议字段名和公用符号串来构成,所述通信协议是在通信链路(250,255)上将被用于通信的协议,例如互联网协议。应该理解,通信实体可包含多个通信设备。例如,实体A可包含一个移动终端,实体B可包含一个基站。

    可用于形成字典的实体的一个例子包含媒体类型的信息,例如音频、视频和图象信息。可用于形成字典的字典实体的其它例子包含使用的协议令牌(token)方法,例如GET,HEAD和POST或在特定协议中使用的报头字段名,例如连接(Connection)、日期(Date)和接受(Accept)。在此示例性实施例中,只有在字典中可以找到的一部分数据分组被压缩,而剩下的数据分组可以不经过压缩或使用本领域技术人员已知的替换方法压缩后进行发送。

    图3说明了根据本发明的用于压缩和解压缩的一种示例性数据分组310。根据此实施例,数据分组310代表根据给定数据协议将被发送的信息。串A(320)和串C(340)代表在静态字典中没有找到的数据分组310的部分。串B(330)和串D(350)代表在静态字典中找到的数据分组310的部分。代替发送串B(330)和串D(350),只需要为数据分组310的串B和串D部分发送索引370和索引380,其中索引370指向串B在静态字典中的位置,索引380指向串D在静态字典中的位置。然后可将串A(320)和串C(340)作为未压缩数据加入索引370和索引380以形成压缩的数据分组360。作为替换,串A(320)和串C(340)可以使用本领域技术人员已知的多种压缩方法中的任一个方法进行压缩。然后将压缩数据分组360发送给接收实体。

    在接收实体接收到压缩数据分组360之后,索引370和索引380被匹配到接收实体的相同静态字典中的相应入口,以形成重建的串B(330’)和串D(350’)。接收到的串A(320’)和串C(340’)与重建的串B(330’)和串D(350’)相组合以形成重建的原始数据分组(310’)。作为替换,如果串A(320)和串C(340)在发送之前被压缩,则将它们在与重建的串B(330’)和串D(350’)相组合以形成重建的原始数据分组(310’)之前进行解压缩。

    图4说明了本发明的另一个示例性实施例。由于使用双向通信进行发送的数据的性质和格式通常对于每个通信方向是不同的,因此能为每个通信方向单独定制的压缩方案是有益的。在此实施例中,实体A(410)包含一个具有相关静态字典A(420)的数据压缩器415,和一个具有相关静态字典B(430)的数据解压缩器425。实体B(440)包含一个具有相关静态字典A(420)的数据解压缩器445,和一个具有相关静态字典B(430)的数据压缩器455。

    在操作期间,实体A(410)将使用数据压缩器415压缩的消息或数据经过通信链路460发送到实体B(440),然后该消息或数据通过解压缩器445使用静态字典A(420)解压缩。用这种方法,实体A(410)的压缩器415和实体B(440)的解压缩器445使用相同的静态字典A(420)来进行压缩和解压缩。类似地,实体B(440)将使用数据压缩器455压缩的消息或数据经过通信链路465发送到实体A(410),然后该消息或数据被使用解压缩器425解压缩。实体B(440)的压缩器455和实体A(410)的解压缩器425使用相同的静态字典B(430)来进行压缩和解压缩。本发明的这一示例性实施例允许对通信的每个方向进行优化的静态字典设计。

    图5说明了根据本发明的又一个示例性实施例,其中使用了一个组合的静态和动态字典。在此实施例中,使用一个初始的静态字典作为每个通信实体的压缩器和解压缩器的开始字典。只要通信一开始,该字典就作为一个动态字典来操作。在此实施例中,实体A(510)使用第一通信链路550与实体B(530)通信,其中实体A(510)包含具有相关静态/动态字典520的压缩器515,而实体B(530)包含具有相关静态/动态字典540的解压缩器535。

    在实体A(510)中,将被压缩并发送给实体B(530)的消息被对照字典520进行测试。如果该消息的一部分匹配于一个字典入口,则该部分由其相应的索引替换。接着将不匹配于字典520中入口的消息部分或者是从该消息部分所选择的字段加入字典520,以用于将来的压缩。然后在第一通信链路550上将该索引和未压缩部分发送给实体B(530)。

    之后,实体B(530)对接收到的消息解码并分隔成索引信息和未压缩部分。实体B(530)中的解压缩器535通过将该索引匹配到字典540中的入口,该词条接着被增加到该未压缩数据来形成原始消息,从而重现该压缩信息。然后将加入实体A(510)的字典520中的消息部分加入到实体B(530)的字典540中,以使每个实体维护匹配的字典。

    此后从实体A(510)发送给实体B(530)的消息使用更新的字典520进行压缩,并由实体B(530)使用更新的字典540进行解压缩。作为结果,实体A(520)的字典520和实体B的字典540被动态更新,从而允许压缩方法适应于待发送的数据,这将使压缩效率不断地提高。

    另外,实体A(510)可包含解压缩器525,实体B(530)可包含压缩器545,以便允许实体B(530)使用第二通信链路555向实体A(510)传送压缩的消息。这种配置提供了双向压缩通信的能力。实体A(510)的解压缩器525可以使用与压缩器515的相同的静态/动态字典520。类似地,实体B(530)的压缩器545可以使用与解压缩器535的相同的静态/动态字典540。作为替换,每对压缩器/解压缩器可以使用单独的静态/动态字典,并允许使用能针对各自通信方向进行优化的静态/动态字典。

    在包含组合的静态/动态字典的本发明另一个示例性实施例中,可以使用滑动窗口字典压缩方法。与上一实施例一样,使用一个初始的静态字典作为压缩器和解压缩器的开始字典,只要通信一开始,该字典就作为动态字典来操作。在第一步骤中,待压缩的消息被添加到包含压缩器的第一实体的字典中。在下一步骤中,根据滑动窗口压缩方法(如Lempel-Ziv)对包含所加消息的字典进行处理以产生压缩的消息。在此步骤中,字典可能与附加的消息一起被压缩。

    在另一步骤中,对应于静态/动态字典的一部分压缩消息被删除,并被替换为指向字典中相应位置的一个引用或索引。在下一步骤中,剩余的压缩消息与引用信息一起被发送到第二实体中的解压缩器。

    在另一步骤中,将接收到的压缩消息添加到第二实体中的静态/动态字典的压缩版本,以使该解压缩器具有与该压缩器相同的字典。在下一步骤中,该结果由相应的解压缩方法(如Lempel-Ziv)进行处理,以产生该原始消息。

    在上述方法的一种替换实施例中,不使用该压缩方法来压缩字典。在此实施例中,在操作之前,可将字典预先载入执行压缩算法使用的缓冲器和搜索树中。当待压缩的消息到达时,在该消息被载入的缓冲器中的位置开始实际压缩。由此,不压缩字典,只压缩消息本身。根据此实施例,该解压缩器的相应字典也可以是未压缩的形式。

    本发明的一个重要方面是静态字典的构建。根据本发明构建静态字典的一个示例性方法包含研究数据分组流,以收集其中需要压缩的通信链路上的所需通信协议的统计数据。

    通过使用该统计数据,就可以应用一个给定通信协议中最频繁使用的协议字段名和其它公共串来构建静态字典,以便为待发送的数据或消息提供最优的压缩。然后,可以在使用之前,构建静态字典并将其存储在第一通信实体和第二通信实体处。这种在使用之前的存储特别有利于用在短通信会话中,使得降低了在通信会话开始时可能产生的开销。作为替换,可以在压缩发生之前,在通信会话开始时将静态字典从压缩器传送到解压缩器。

    作为一种字典压缩方案的替换,可以使用一种静态二进制代码树的方案。静态二进制代码树可以使用统计方法来构建,例如研究通信链路上所需数据协议的数据分组的流。使用这一统计信息,可将静态二进制代码树构建成这样:使数据协议中出现几率高的协议字段名和其它公共串比那些出现几率低的协议字段名和其它公共串用更少数量的比特来表示。作为结果,提高了压缩效率。可用于实施本发明的二进制代码树压缩方案的一个这样的例子是Huffman编码方法。

    在本发明的另一示例性实施例中,可以将静态二进制代码树与静态字典组合使用。在此示例性实施例中,使用所需的方法来首先构建静态字典,所述方法是例如根据本发明的上述方法的一种。然后,可以通过在使用静态字典的情况下研究用于所需数据协议的数据分组的流并依此构建静态二进制代码树,从而来完成静态二进制代码树的构建。静态字典压缩与静态二进制代码树压缩(如Huffman编码)的组合使用可用于提高被发送数据的压缩效率。

    尽管本发明的方法、系统和设备的各种实施例已经在附图中进行了说明,并在前面的具体描述中进行了描述,但应该明白,本发明不限于所公开的实施例,而是可以在不偏离如前面给出和后面权利要求限定的本发明范围的情况下,进行多次重新配置、修改和替换。

供二进制压缩方法使用的静态信息知识.pdf_第1页
第1页 / 共21页
供二进制压缩方法使用的静态信息知识.pdf_第2页
第2页 / 共21页
供二进制压缩方法使用的静态信息知识.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《供二进制压缩方法使用的静态信息知识.pdf》由会员分享,可在线阅读,更多相关《供二进制压缩方法使用的静态信息知识.pdf(21页珍藏版)》请在专利查询网上搜索。

用于在带宽受限的通信链路(250,255,550)上提高通信协议的压缩效率的一种系统、方法和设备。本发明的一方面运用通信协议的结构和内容的知识来形成一个静态字典(220,420,430)或静态二进制代码树。作为结果,压缩效率可被大幅提高。本发明的另一方面提供一种组合的静态和动态字典(520,540)或二进制代码树来执行通信协议压缩。在本发明的一个方面,静态二进制代码树或静态字典(220,420,4。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 基本电子电路


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1