首页> 中国专利> 在报头压缩/解压缩应用中的静态校验和信息的再利用

在报头压缩/解压缩应用中的静态校验和信息的再利用

摘要

在使用报头压缩/解压缩的分组通信中,校验和产生的计算复杂度可以通过再利用与在从报头到报头中不变化的报头比特相关联的静态校验和信息而减少。静态校验和信息能同在报头到报头中有变化的报头比特信息一起被使用,以便产生一个期望的校验和。这个校验和然后可以被用来检验一个重建报头,这个报头通过一个解压缩器从一个压缩报头中产生。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2005-02-02

    授权

    授权

  • 2003-11-26

    实质审查的生效

    实质审查的生效

  • 2003-09-10

    公开

    公开

说明书

此申请要求在共同悬而未决的美国2000年7月14日临时申请第60/218,472的35USC119(e)之下的优先权。

发明领域

此发明通常涉及分组流中的报头压缩/解压缩,而且,更特别地涉及由一个报头压缩器或解压缩器使用的校验和的计算。

发明背景

例如蜂窝式电话和其它之类的个人无线通信设备的广泛流行,结合正在增长的Internet的使用,推动了对于提供基于无线通信的Internet Protocol(IP)通信的愿望。由于在传统的无线通信连接中可用的通讯资源的相对缺乏,已经发展了各种各样的技术来压缩包括在分组的报头中的信息,例如用于传送IP业务的分组的IP报头。在发射站,整个报头信息被一个报头压缩器压缩,并且这个被压缩的报头信息通过无线通信连接被传送。在接收站,一个报头解压缩器从那个被传送的压缩报头信息中重建整个报头。这样减少了为报头信息的传送所必需的无线通信链路资源的数量。

图1说明了一个传统无线通信站(例如,一个蜂窝式电话)的例子,这个通信站是为具有报头压缩/解压缩的无线分组通信(例如IP通信)提供的。在图1的例子中,分组处理器14被耦合来用于与通信应用11和无线通信接口13的双向通信。分组处理器14从通信应用11接收通信信息,并且把信息组合成适当的分组,然后将其传送给无线通信接口13来通过无线通信链路15传送。由分组处理器14产生的分组10包括报头部分18和有效载荷部分16。有效载荷部分16包括有效载荷信息,并且报头部分18包括压缩报头信息17和校验和19。如图1和图2所示,分组处理器14运用报头压缩器12来压缩从通信应用11接收的整个报头信息以便产生压缩报头信息17。此外,分组处理器14使用校验和产生器12产生校验和19,其中,校验和包括报头信息。

当图1的通信站经由无线通信链路15接收到分组10的时候,分组处理器14使用一个报头解压缩器和校验和产生器12从压缩报头信息17和校验和19中重建整个报头信息。从中产生压缩报头信息的那个报头是被重建的报头试图匹配的目标报头。被重建的整个报头信息然后随同有效载荷信息被提供给通信应用11。当环境更新发生时,用来更新环境的附加信息被附加给由发送端发送的报头,并且校验和的产生在接收端(参见图3的虚线)是必需的。

在一些已知的报头压缩/解压缩方案中,解压缩器尝试从接收到的压缩报头信息推测(或估计)整个报头。这样的技术可能是有效的,因为分组报头的一部分可能通常可料到按照相对可容易预测的方式来变化。例如,一些惯用的实时语音应用在它们的报头中运用相对容易地可预测的时间标记字段。其他的例子包括实时视频应用,和常规的代销服务的报头比如,举例来说,FTP。当解压缩器猜想(或估计)整个报头的时候,基于这个猜想/估计,一个校验和而产生,并且然后与这个从压缩报头得到的校验和相比较。这个在图3中说明。分组处理器14的报头解压缩器的推测产生器31从无线通信接口13接收压缩报头信息17。由推测产生器产生的整个报头推测然后被应用到校验和产生器12,其中,由此产生校验和19’。校验和19’然后在33与同从压缩报头信息得到的校验和19相比较。如果校验和匹配,那么此猜测/估计被认为是目标报头的正确重建。然而,如果校验和在33不匹配,那么推测产生器31被命令再次推测,于是上述的校验和的产生和比较过程被重复。

不利地,如上所述的校验和的产生过程对于报头压缩和报头解压缩都计算复杂,并且解压缩器的计算需求随着推测数目增长而增长。

因此,减少在报头压缩器和解压缩器中与校验和的产生相关联的计算量是我们所希望的。

本发明通过利用与在从报头到报头不变化的报头比特相关联的静态校验和信息来减少校验和的产生的计算量。静态校验和信息能与有变化的报头信息一起被使用,以便产生期望的校验和。按照某些实施例,与不变的报头比特相关联的静态校验和编码状态可被用于同变化的报头比特自身结合来产生期望的校验和。在其它的实施例中,与不变的报头比特相关联的校验和分量可被用于与变化的报头比特相关联的校验和分量相结合来产生校验和。静态校验和信息的有利利用减少了校验和的产生的计算量。本发明的减的复杂性的校验和的产生可用于计算与在报头解压缩器中重建的报头相关联的校验和,而且还可以用于压缩器端来计算同压缩报头信息一起传送的校验和。

附图说明

图1-3说明了用于无线通信设备中的先有技术的报头压缩/解压缩和校验和的产生。

图4说明了按照本发明的校验和的产生。

图5说明了按照本发明的校验和产生器实施例的有关的部分。

图6说明了可以由图5的分析器执行的一个操作。

图6A说明了可以由图5的分析器执行的另一个操作。

图7说明了可以由图5的实施例连同图6的分析器操作执行的操作。

图7A说明了可以由图5的实施例连同图6A的分析器操作执行的操作。

图8说明了按照本发明的校验和产生器另一个实施例的有关部分。

图9说明了可以由图8的校验和产生器执行的操作。

图10说明了可以执行在图9说明的操作的伪码。

图11说明了按照本发明的校验和产生器另一个实施例的有关部分。

图12说明了可以由图11的校验和产生器执行的操作。

图13说明了可以执行在图12中显示的操作的伪码。

最佳实施方式

本发明认识到某些报头信息在给定的分组流期间在长的时间周期内不会变化。这样不变的报头信息的例子(在此也被称为稳态的或静态的)包括IP源和目标地址。这种不变的报头信息会提供一个不变的分量到与分组流的报头有关的被计算的那个校验和。这样,从头报头到报头,本发明再利用这个不变的或静态的校验和分量,将它重复地同在报头到报头过程中变化的报头比特相结合,以便为各个报头产生校验和。这个通常在图4说明,其中,组合器40中它的各个输入处接收静态校验和信息和与变化比特有关的信息,然后从其中产生一个校验和,例如一个CRC(循环冗余码)校验和或一个补充校验和。

图5说明了按照本发明的校验和产生器的实施例的有关部分。图5的校验和产生器在51接收一个完整报头,然后做出响应在52输出一个校验和CS。图5的校验和产生器可能在一个分组处理器中被提供,比如在图1说明的14处。另外,像在图2中通常被说明一样,图5的校验和产生器可与报头压缩一起被使用,或像在图3中通常被说明一样与报头解压缩一起被使用。这样,在51处的完整报头表示一个从通信应用中接收的完整报头,比如在图1和2中说明的(即,一个环境更新报头或要被压缩和重建的目标报头),或者由一个报头解压缩器产生的重建的完整报头,例如,图3中在31处说明的完整报头推测。

图5的校验和产生器可以包括一个分析器41,该分析器接收完整报头51和从那里将比特分类成一个稳态的比特部分S(参见图6)和一个瞬态的(或变化)比特部分T。稳态的比特部分S包括在分组流期间不变的比特,并且瞬态的比特部分T包括在分组流期间变化的比特。分析器41的输出被提供给一个指示是否完整报头与报头环境更新或与正常报头压缩/解压缩操作相联系的更新/压缩信号46所控制的开关43。在环境更新期间,信号46控制开关43到位置43A,如此以致完整报头被直接地移位到一个能够使用传统技术(例如,CRC)的校验和寄存器45来在52处产生校验和CS。

如图6所示,分析器41分类报头比特如此以致稳态比特S在瞬态比特T这样做之前进入校验和寄存器。当所有稳态比特S已经移位(经由开关节点43A)进入校验和寄存器45的时候,校验和寄存器45在那个时间点的编码状态被存储在位于44的编码状态存储器中。这个被存储的编码状态是一种与不变的稳态比特相关联的静态校验和编码状态,因此可以在报头压缩/解压缩的时候被再利用于随后的校验和的产生。

在报头压缩/解压缩操作的时候,信号46控制开关43到位置43B,如此以致分析器41的输出端被应用到分离器47。分离器47分离稳态比特S,如此以致仅仅瞬态比特T将会被移位进入校验和寄存器45。然而,在移位瞬态比特T进入校验和寄存器45之前,先前存储的静态校验和编码状态从编码状态存储器44被重现并且存入校验和寄存器45。一旦编码状态已经被存入校验和寄存器45,由分离器47输出的瞬态比特T就被移位进入校验和寄存器45,从而在52处产生期望的校验和。先前存储的编码状态静态校验和的使用因而方便地减少了必须被移位进入寄存器45来在52产生期望的校验和的比特数目。

图6中瞬态比特T的传统的IP协议例子包括IP-ID,和RTP序列号。IP-ID对每个分组发送是唯一的而且,尽管有时候对每个发送的分组被增加了一个,但是通常增加得比一个更多。RTP序列号告诉分组应该被呈现给用户的正确时间。例如,如果包含语音数据,RTP序列号告诉语音数据将应被解码和输出到扬声器的正确时间。

图7说明能由图5的校验和产生器执行的操作。在71处接收完整报头之后,在72报头比特被分类成稳态比特和瞬态比特。对于在73的完整报头(环境)更新,在74处稳态比特被移位进入校验和寄存器。在74处一旦稳态比特已经被移位进入校验和寄存器,在75处校验和寄存器编码状态就被存储,之后在76处瞬态比特然后被移位进入校验和寄存器。

当在73处没有报头更新的时候(换言之,普通的报头压缩/解压缩操作),在77处存储编码状态被存入校验和寄存器,然后在78处稳态比特被从完整报头上分离。其后,在76处瞬态比特被移位进入校验和寄存器。

图6A说明在某些实施例中能由图5的分析器41执行的另一个示范分类的操作。在图6A的例子中,图6的瞬态比特按照变化的概率被进一步地分类。例如,在图6A的例子中IP-ID最不重要的比特和RTP序列号将会被放置在最左边,在T1,T2,等等。相反,在图6A中,变化概率最小的的比特,例如IP-ID和RTP序列号的最重要的比特会被安置在最右边,即在和接近比特TN。当这个分类操作被使用时,多个编码状态可以被存储在编码状态存储器44。例如,当一个完整报头在环境更新时被接收,编码状态在所有稳态比特S已经被移位进入校验和寄存器45的那一刻被存储,并且编码状态在把每一个图6A的瞬态比特移位进入校验和寄存器45后也被存储。分类器41存储了一个瞬态比特的被分类版本的记录,它被用来产生在44处存储的编码状态。从这个记录,分类器41可以在正常的压缩/解压缩操作的时候在42指示给分离器47和编码状态存储器44不同于被用来产生存储编码状态的完整报头的当前的完整报头的第一个瞬态比特的存储单元。然后分离器分离所有的稳态比特和所有未改变的瞬态比特,并且校验和寄存器45被存入相当于未改变的比特的存储编码状态,因此仅仅变化瞬态比特被要求移位进入校验和寄存器45。

图7A,当同图7相连接的时候,连同图6A的分类操作一起说明能由图5的校验和产生器执行的操作。在图7A,在图7的75处与稳态比特相关联的校验和寄存器编码状态已经被存储之后,在701处第一个瞬态比特被移位进入校验和寄存器。在702处与瞬态比特相关联的编码状态然后被存储,并且在703,701和702的过程一直被重复直到所有瞬态比特已经被移位进入校验和寄存器。其后,操作回到图7的71。此外如图7A所示,当在图7的73″no″支路(N)从操作中被选择的时候,操作704-706被执行。在704,第一个变化瞬态比特被标识,然后在705相当于未改变的比特的编码状态被存入校验和寄存器。在706,直至第一个变化瞬态比特的所有比特被从完整报头中分离,然后在701-703剩余瞬态比特被移位进入校验和寄存器,同时存储同每个被移位比特相关联的的编码状态来更新同被移入的比特位置相关联的编码状态。

这样,按照图7A的操作,对于在解压缩的时候重建的每个报头,当计算那个重建报头的校验和的时候新的编码状态被存储。因此,每个重建报头的校验和计算可以以从上述的重建报头而来的校验和计算为基础。在每个解压缩操作(如上所述)过程中产生一系列的报头猜测在解压缩器中是特别有用的,因为一个新的校验和计算对每个新的推测都是需要的。同样地在压缩器端,每个新的正在被压缩的报头的校验和计算可以以从先前被压缩的报头的校验和计算(例如,存储编码状态)为基础。

如上所述,通过本发明产生的一个校验和的例子是CRC校验和。这个校验和,和与其它的连环码相关联的其它校验和,都有一个线性特征,如此以致,对于一个给出的代码c1和c2,校验和-产生功能f呈现下列特征:

f(c1+c2)=f(c1)+f(c2)                        等式1

因此,通过结合两个码字获得的校验和也可以首先通过结合代码(由模2加法),然后计算校验和(等式1的左边),或者通过计算每个代码的校验和然后通过模2加结合校验和(等式的右边)。这个循环校验和编码的线性特性被本发明利用来减少校验和的产生的复杂性。

特别地,在一个报头更新的时机,完整报头的所有瞬态比特可以被设置为0,并且一个初始的校验和C0然后可以从这样重建的完整报头来被计算。此外,另一组初始的校验和可以被计算,对于完整报头中每个瞬态比特位置都有一个初始的校验和。此外,除为被计算的初始的校验和的瞬态比特以外每一个这些同在完整报头中所有比特计算的初始的校验和被设置为0,这些比特被设置为0。这样,对N瞬态比特(例如32-48瞬态比特)来说,此处的N个初始的校验和被表示为Ce1,Ce2,…CeN。方便地,这些校验和可以为了在必要时的迟一点的使用而被预先计算和存储。

考虑到上文,当在报头压缩/解压缩操作的过程中计算一个校验和的时候,上述的校验和C0按照下列等式与初始的校验和Ce1,...CeN结合:

CS=C0+b1Ce1+b2Ce2+...bN CeN,

等式2

其中,b1...bN表示N瞬态比特的值(0或1),并且所有加法是模2加。

图8按照上面的等式2说明可以计算校验和的校验和产生器的实施例的有关的部分。图8的校验和产生器能被用于报头压缩器端或报头解压缩器端,通常如同上述的关于图5的说明。在图8,当一个完整报头连同一个环境更新被接收的时候,开关81被控制到假定位置81B。这使完整报头被提供给校验和寄存器83和掩码器82。校验和寄存器83首先产生一个与环境更新相关联的校验和然后输出这个校验和CSU到移位寄存器86。其后,校验和寄存器83从掩码器82(masker)收到一个完整报头的被掩码(masked)版本,在那里所有的瞬态比特被设置为0。校验和寄存器83从这个完整报头的掩码版本产生初始的校验和C0,然后输出校验和C0到移位寄存器86。这样,在环境更新过程中校验和寄存器83的操作之后,移位寄存器86包括了与完整报头更新相关联的的校验和CSU和与完整报头更新的掩码版本相关联的初始的校验和C0。与完整报头环境更新相关联的校验和CSU然后对传统的运用就有效了。

在报头压缩/解压缩操作过程中,开关81被控制到假定位置81A,如此以致完整报头被提供给从其中分离稳态比特的分离器86,然后将瞬态比特b1 b2...bN发送到计算逻辑100的输入端88。计算逻辑100的输入端89从存储器85接收到预先计算的初始的校验和Ce1 Ce2...CeN,并且此外在84接收到初始的校验和C0。计算逻辑100执行上面的等式2来产生想要校验和CS。

图9说明可以由图8的实施例执行的操作。如果在91-92处完整报头更新被接受,那么在93处校验和CSU被产生。然后,在94处瞬态比特被屏蔽。在屏蔽瞬态比特之后,在95初始的校验和C0被产生。其后,在91下一个完整报头等待着。如果在91-92处完整报头与环境更新不相关,那么在96处瞬态比特b1-bn被提供,并且在97处按照等式2校验和CS被计算,在那之后在91处下一个完整报头等待着。

图10说明可以执行在图9说明的操作的伪码。在图10,C’通常对应在图8和9的CS。

正如可从等式2和图8-10看到的一样,包括N瞬态比特的完整报头的校验和的计算至多不过需要N个模2加(换言之,XOR操作)。此外还应该注意,在相对地几个瞬态比特在一个完整报头推测到另一个完整报头推测的时候变化的应用中,那时模2加仅仅对变化的那些瞬态比特来说需要。此外请注意图8-10的实施例不包括任何完整报头的分类或重新排序的比特。

等式2中模2加的数目可以被进一步地通过利用值的最重要的比特(MSBs)或由极难得变化的瞬态比特的值这个事实来减少。例如,8192的一个RTP序列号符合一个比特模式,其中,仅仅13个最不重要的比特(LSBs)会变化直到RTP序列号到达16384。这样,RTP序列号的比特14-32会在很长的一段时间内保持不变。因此,与MSBs相关联的一个初始的校验和可以在前面所述校验和C0被计算的时候的同时被计算。相当于MSBs的这个校验和允许等式2中的模2加的数目减少一个小于msbs的数目。这个为计算瞬态比特被给予的一部分的MSBs的初始的校验和的值的方法可以被用于定义在很长一段时间内不会变化的MSBs值的瞬态比特的任何一部分。

以RTP序列号举例来说,假定RTP序列号是32比特长,则最重要的16比特在很长一段时间内不会变化,而且RTP序列号只会增加。在一个环境更新的时机,除前面所述校验和C0之外初始的校验和CS0可以被计算。除了RTP序列号的16MSBs,校验和CS0随着所有的报头比特被设置为0被计算。另外,另一个初始的校验和CS+1可以被计算。后来的这个被计算将MSB部分加1,然后除16MSBs外置零输出所有报头比特。校验和CS0会被用于计算完整报头校验和直到MSBs变化(即,加1),于是在校验和计算中CS0会被CS+1替代。Thus,直到MSBs变化,完整报头的校验和可以被计算如下:

等式3

其中,j指向不被校验和CS0说明的保持瞬态比特的比特位置,并且所有加法都是模2加。在前面所述RTP序列号例子中,校验和CS0解释16瞬态比特,(即,16MSBs),所以等式3又比等式2少一些的15个模2加。如上所述,当RTP序列号的MSB部分变化的时候,则前面所述校验和CS+1会被等式3中的CS0代替。

假定一个或多个由瞬态比特表示的其它值可以被分成一个LSB部分和一个很少发生变化的MSB部分,那么前面所述校验和CS0和CS+1可以为每一个那些值的MSBs而被计算。下面的等式4说明在相应的校验和CS0(1)和CS0(2)为两个由瞬态比特表示的不同的值而计算的情况下的校验和计算。

等式4

其中,j指向不被CS0(1)和CS0(2)说明的保持瞬态比特的比特位置,并且所有加法都是模2加。假定校验和CS0(1)和CS0(2)都为16MSBs解释,则等式4需要比等式2中更少的30个模2加,和比等式3更少的15个。这样,产生校验和CS的计算量可以被较大地减少到瞬态比特表示有很少发生变化的MSBs的数目的程度。

图11按照上面的等式2说明可以执行上面的等式3和4的校验和产生器的实施例的有关部分。图11的校验和产生器可被用于连接图8的开关81,如此以致,当在报头环境更新的过程中开关81被控制到位置81B的时候,完整报头被提供给校验和寄存器113和掩码器112。校验和寄存器113能够计算如上所述关于图8的报头更新校验和CSU。这个校验和CSU从校验和寄存器113输出到移位寄存器114,在那里它被制造成对传统的运用更有效。在校验和CSU已经被产生之后,校验和寄存器113从掩码器112接收到适当地被屏蔽的(和在CS+1情况下被增加的)在上述的校验和C0的计算中将被用到的完整报头的版本。这些校验和也被从校验和寄存器113输出进入移位寄存器114。请注意唯一的一套校验和值CS0和CS+1可以为被每一个由瞬态比特定义的大多数值的MSBs而计算。

当在普通压缩/解压缩操作过程中图8的开关81处于位置81A的时候,完整报头(或完整报头推测)被用于分离器116,从其中它分离所有稳态比特和所有的被存储在移位寄存器114中的校验和装置CS0和CS+1说明的瞬态比特。在这个分离操作后保持不变的瞬态比特包括与存储在移位寄存器114瞬态比特中的校验和组相关联的LSBs(和可能任何其它未被任何校验和组解释的)。这些未加解释的瞬态比特(bj’s)在116处随同在117处对应(预先计算和存储)的校验和(Cej’s)一起被输入到计算逻辑110。计算逻辑110接受校验和C0和一个或多个校验和组和CS+1为输入。计算逻辑110按照等式3或等式4产生想要校验和CS。对于给予的一组MSBs是用CS0还是CS+1的问题被将从81A接收到的每组MSBs同用来产生关联的CS0的对应的那组MSBs相比较的比较器118解决。被用来产生CS0的MSBs可以被存储在掩码器112以用于比较器118。如果MSBs在比较器118中匹配,那么比较器输出端119发信号给计算逻辑100让它使用cs0,否则,使用CS+1。

图12(连同图9考虑)说明能由图11的校验和产生器执行的操作。在校验和C0已经在图9的95被产生之后,从那里除一个被选择的部分外,所有的瞬态比特在121被屏蔽,然后在122校验和cs0被产生。其后在123,在123那个被选择的MSB部分被加,然后在124校验和CS+1被产生。121-124步被重复直到所有期望的校验和CS0和CS+1组已经被计算被确定。在那时,操作回到图9的91。操作还可以在图9的92的一个″N″的决定之后开始。简而言之,如果接收到的完整报头不构成环境更新,那么在127处LSBs和任何其它的瞬态比特(bj’s)被获得。在128处,校验和CS0或CS+1从每个CS0/CS+1组中被选出。其后在128处,校验和CS被计算,例如按照等式3或4,在操作回到图9的91之后。

图13说明能执行在图12中说明的操作的示范伪码。在图13,C’通常相应于图11和12中的CS。尽管在图13中仅仅单独一个CS0/CS+1组被考虑,同期望的一样多的组可以容易地对于每个CS0/CS+1组被双线路3考虑。

就关于图11-13的实施例应当指出,对于每组MSBs,相当的CS0/CS+1组必须被周期性地更新。然而,这样的更新是千载难逢和很廉价的,并且它也是很便于加给CS0/CS+1组一个额外的校验和值,其相当于MSBs的一个+2增量,即CS+2,以便获得所需要的稍少频繁的更新。

对于本领域技术人员来说,在图4-13中说明的实施例只要适当的在软件、硬件或软硬件结合上,在利用报头压缩器和解压缩器的传统的无线通信设备的校验和的产生部分作出修改便能被容易地执行是显然的。

尽管本发明的实施例详细地在上边作出了叙述,这不是限制本发明范围,它可以在种种的实施例中被实践。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号