鲁棒性头压缩中一种提高列表压缩效率的方法及装置的制作方法

文档序号:7763324阅读:289来源:国知局

专利名称::鲁棒性头压缩中一种提高列表压缩效率的方法及装置的制作方法
技术领域
:本发明涉及在移动通信领域中的一种鲁棒性头压缩算法,尤其涉及一种提高列表压缩效率的实现方法及装置。
背景技术
:由于物理条件的限制,移动通信系统中的无线链路与有线链路相比传输速率较低,误码率较高。为了能有效利用有限的无线信道带宽资源,引入了鲁棒性头压缩技术(RobustHeaderCompress,简称ROHC)。ROHC的核心是利用业务流的分组之间的信息冗余来透明的压缩和解压缩直接相连节点间的分组头中的信息。目前ROHC支持对于网络协议(InternetProtocol,简称IP)/用户数据报协议(UserDatagramProtocol,简称UDP)/实时协议(Real-TimeProtocol,简称RTP)、IP/UDP、IP/安全封装载荷(EncapsulatingSecurityPayload,简称ESP)类型分组数据包的压缩和解压。ROHC中列表压缩算法(listcompression)是专门用于IP扩展包头和实时协议贡献源列表选项(RTPContributingSource,简称RTPCSCR)的压缩。IP扩展包头和RTPCSCR选项可以被视为由一系列单元选项(item)组成,为一个有序列表(orderedlist),该list的一般结构如图1所示。如对于IP+—般路由封装扩展头(GenericRoutingEncapsulation,简称GRE)+鉴权扩展头(AuthenticationHeader,简称AH)+安全封装载荷(ESP)包而言,其中GRE、AH和ESP为扩展包头,它们形成一个list,该list中iteml为GRE扩展头,item2为AH扩展头,item3为ESP扩展头。CSRC选项也是一个list,list中item为每个CSCR值,大小为4个字节。在相邻的包之间,list是很少变化的,如果没有变化,压缩器可以不发送任何list数据;如果发生了较小的变化,压缩器只需发送list之间变化的部分即可,从而达到压缩的目的。列表压缩的主要思想是压缩器为每个item分配一个唯一的标签(index),压缩器将发送过的item及其index对应关系(index,item)保存到一个翻译表中(Translationtable,简称为table),当压缩器确信解压器已获知(index,item)对应关系后,压缩器在需要传输item时,完全可以用index代替,由于index比item所占空间小很多,从而达到压缩的目的;同理,解压器也维护一个table,table中保存着接收到的(index,item)对应关系,当解压器仅接收到index,没有item时,就可以根据index到table中查找到相应的item,从而正确解压。根据RFC3095中的协议描述,双向可靠模式(BidirectionalReliablemode,简称R_mode)下压缩器为每对(index,item)在table中维护着如图2所示的一个条目(entry),Known标识符指示(index,item)的映射关系是否已在解压器侧建立,其中O表示未建立,1表示已建立。SN域中存放的是已经发送并携带(index,item)对应关系包的SN值。协议中描述当SN域中的任何一个SNi被解压器的反馈包确认,则将对应Known置为1,并清空表中的SN域。在具体列表压缩处理过程中,还会涉及到如下两个概念当前列表(curr_list)压缩器侧当前待压缩IP扩展头或RTPCSRC选项形成的list;参考列表(ref_list)先前发送的,并同时存在于压缩上下文(context)和解压缩上下文中。根据上述列表压缩思想和相关概念的描述,压缩列表(compressedlist)是对curr_list和ref_list之间差异进行编码的结果,如果curr_list与ref_list一样,则compressedlist为空,压缩不需要发送任何list信息;如果不一样,基于curr_list和ref_list不同部分,通过RFC3095介绍的仅插入(InsertionOnlyscheme)、仅删除(RemovalOnlyscheme)及先删除后插入(RemoveThenInsertscheme)等具体实现算法,编码出compressedlist并发送给解压器。解压器接收到compressedlist,基于同样的ref_list就可以解码出原列表(originallist),即压缩器发送的curr_list。在Rjnode下,ref_list的选择是基于解压器的反馈确认(ack),即压缩器使用的ref_list是最近被解压器确认的list,ref_list的更新只能通过接收ack进行。压缩器为了及时根据解压器的ack更新ref_list,压缩器维护了一个候选ref_list滑动窗口,如图3所示,所述滑动窗口中包含的所有列表都是被发送给解压器用于更新context的list,但这些list还没有被解压器反馈确认。当收到解压器的一个ack包时,压缩器根据该ack包更新ref_list,并对候选窗口进行缩进操作,将被确认的list以及处于其前面的所有list都从窗口中移除,先前的这些list已不可能再成为ref_list。在滑动窗口中,为了描述方便和节省空间,压缩器根据table中(index,item)的对应关系,采用index标识list中的item,即用index_list标识实际item_list。在Rjnode下,压缩器接收到解压器的ack包后,除了更新候选ref_list滑动窗口外,压缩器还要根据ack包更新context中的table信息,因为被反馈确认list(新的ref_list)中每个item和index的对应关系(index,item)在解压器侧都已确立,所以,table中所有该list包含的items的Known都应被置为1,后续在编码传输中就可以仅通过传index来取代item的传输,大大节省了空间资源。按照RFC3095协议规定,压缩器接收一个ack包更改table的步骤如下1、压缩器从ack包中提取出被确认SNi,该SNi标识了先前压缩器发送的哪个压缩包被确认了;2、根据协议可知,SNi对应压缩包中携带的所有(index,item)对应关系都已在解压器侧被确立。压缩器通过全局遍历压缩器维护的table中的每个Known为0的entry,判断SNi是否在该entry的SN域中,若在,则将该entry的Known置为1,并清空该SN域内所有信息;否则不作任何处理,继续下一个entry的检测判断,直至所有entry被检查和修改完毕。上述压缩器更新table中Known标识的处理存在如下缺陷1、压缩器对table中known的更新通过全局的盲目遍历和匹配完成,效率较低。2、在R_mode下,table中每个条目所含的SN域可能会存储大量的(SNi),使得table占用大量内存空间,同时,也使在SN域的匹配工作更加耗时。
发明内容本发明要解决的技术问题是,提供鲁棒性头压缩中一种提高列表压缩效率的方法及装置,提高列表压缩效率。为了解决上述技术问题,本发明提出鲁棒性头压缩中一种提高列表压缩效率的方法,其中压缩器在接收到一反馈包后,如果当前模式为双向可靠模式,则根据所述反馈包所确认的压缩包的序列号从候选滑动窗口中查找出对应的索引列表;所述压缩器根据所述查找出的索引列表中包含的各索引,从翻译表中查找出用以维护所述各索引及其对应的单元选项的条目,并将查找出的条目中的映射关系标识符设置为一表示解压器已经建立所述条目维护的单元选项与索引的对应关系的取值。进一步地,上述方法还可具有以下特点所述条目包括单元选项及其对应的索引,以及映射关系标识符。进一步地,上述方法还可具有以下特点所述条目还包括一计数标识位;所述压缩器使用一个翻译表来维护双向可靠模式下的条目、双向优化模式下的条目和单向模式下的条目,维护有相同对应关系的条目在不同模式下复用同一个条目。进一步地,上述方法还可具有以下特点所述条目由结构体数组实现,所述索引是所述结构体数组的下标。进一步地,上述方法还可具有以下特点所述压缩器在从所述候选滑动窗口中查找出对应的索引列表后,将参考列表更新为所述索引列表;以及删除所述候选滑动窗口中的所述查找出对应的索引列表及其之前的所有索引列表。为了解决上述技术问题,本发明还提出鲁棒性头压缩中一种提高列表压缩效率的装置,包括接收模块和处理模块,其中所述接收模块,用以在接收到一反馈包后,将其发送给所述处理模块;所述处理模块,在接收到一反馈包后,如果判断出当前模式为双向可靠模式,则根据所述反馈包所确认的压缩包的序列号从候选滑动窗口中查找出对应的索引列表,然后根据所述索引列表中包含的各索引,从翻译表中查找出用以维护所述各索引及其对应的单元选项的条目,并将查找出的条目中的映射关系标识符设置为一表示解压器已经建立所述条目维护的单元选项与索引的对应关系的取值。进一步地,上述装置还可具有以下特点所述条目包括单元选项及其对应的索引,以及映射关系标识符。进一步地,上述装置还可具有以下特点所述条目还包括一计数标识位;所述处理模块,使用一个翻译表来维护双向可靠模式下的条目、双向优化模式下的条目和单向模式下的条目,维护有相同对应关系的条目在不同模式下复用同一个条目。进一步地,上述装置还可具有以下特点所述条目由结构体数组实现,所述索引是所述结构体数组的下标。进一步地,上述装置还可具有以下特点所述处理模块,在从所述候选滑动窗口中查找出对应的索引列表后,将参考列表更新为所述索引列表;以及删除所述候选滑动窗口中的所述查找出对应的索引列表及其之5前的所有索引列表。本发明提供的鲁棒性头压缩中一种提高列表压缩效率的方法及装置,相对于现有技术,具有如下优点1、消除了现有技术对table全局的盲目编码,有效降低了更新table中entry信息的时间复杂度;2、消除了table中entry的SN域,有效降低了table的空间复杂度;3、由于SN域的剔除,消除了在列表压缩过程中对SN域进行插入和删除的操作,这也有效的提高列表压缩处理效率;4、可以将现有技术中压缩器维护的两个tab1e(U/0_mdoe的tab1e、R_mode的table)合并为一个,更加节约了内存空间,同时降低了压缩器对table的维护复杂度。图1是现有技术中IP扩展包头和RTPCSCR选项的构成示意图;图2是协议中规定R_mode下和U/0_mode下压缩器维护的table中entry格式的结构示意图;图3是协议中规定的R_mode下压缩器维护的候选滑动窗口的结构示意图;图4是本发明实施例鲁棒性头压缩中一种提高列表压缩效率的方法流程图;图5是本发明实施例压缩器进行列表压缩的方法流程图;图6是本发明压缩器如何更新压缩上下文中table信息和清除候选滑动窗口的流程图。具体实施例方式下面将结合附图来详细说明本发明实施方式。参见图4,该图示出了本发明实施例鲁棒性头压缩中一种提高列表压缩效率的方法,包括步骤步骤S401压缩器在接收到一反馈包后,如果当前模式为双向可靠模式,则根据所述反馈包所确认的压缩包的序列号从候选滑动窗口中查找出对应的索引列表;步骤S402所述压缩器根据所述查找出的索引列表中包含的各索引,从翻译表中查找出用以维护所述各索引及其对应的单元选项的条目,并将查找出的条目中的映射关系标识符设置为一表示解压器已经建立所述条目维护的单元选项与索引的对应关系的取值。本发明实施例巧妙地利用候选滑动窗口,针对被确认的压缩包的序列号直接定位出索引列表,再根据所述索引列表定位出对应的条目。从而有效地避免了对table进行全局的盲目查找,有效地降低了更新table中entry信息的时间复杂度。较佳地,本发明实施例还对条目的构成进行精简,删除其中的SN域。即,新的条目包括单元选项及其对应的索引,以及映射关系标识符。采用本发明的条目构成,相对于现有技术,具有如下优势其一,大大降低了table对内存空间的占用,降低了table的空间复杂度;其二,由于SN域的剔除,将会消除在列表压缩过程中对SN域进行插入和删除的操作,这也有效的提高列表压缩处理效率。较佳地,本发明实施例的条目还可以在不同模式下进行复用。本发明新的条目可以包括单元选项及其对应的索引、映射关系标识符,以及一计数标识位(Counter)。在R模式下,条目中的计数标识位不可操作;在U/0模式下,条目中的计数标识位可操作。从而实现条目在不同模式下的复用。这样,所述压缩器可以将R模式下的table和U/0模式下的table进行合并,使用同一个table来维护双向可靠模式下的条目、双向优化模式下的条目和单向模式下的条目,维护有相同对应关系的条目在不同模式下复用同一个条目。这样,一则节约了内存空间,二则降低了对table的维护复杂度。较佳地,本发明实施例中,在具体实现entry时,可以用结构体数组实现,以所述索引作为所述结构体数组的下标。从而在根据查找出的索引列表中包含的各索引,从翻译表中查找对应的条目时,能够实现快速查找。所述压缩器在从所述候选滑动窗口中查找出对应的索引列表后,还需要将参考列表更新为所述索引列表;以及删除所述候选滑动窗口中的所述查找出对应的索引列表及其之前的所有索引列表。为了进一步说明本发明实施方式及其技术效果,本发明实施例将从数据压缩过程和收到反馈包后的处理过程进行说明。参见图5,该图示出了本发明实施例如何对待压缩列表进行压缩的方法,包括步骤步骤S501压缩器收到一个待压缩的数据包,其中包含一个待压缩列表,记为curr_list;curr_list可以是IP扩展头,也可以是RTP的CSCR选项;步骤S502所述压缩器根据curr_list的类型,在context获取对应翻译表table以及当前模式信息;步骤S503所述压缩器判断当前模式信息是R_mode还是U/0_mode,如果是R_mode,则执行步骤S505;否则,执行步骤S504;步骤S504所述压缩器在U/0_mode下,按照协议中描述的处理机制对Curr_list进行压缩处理,然后执行步骤S514;步骤S505所述压缩器依次遍历curr_list中每个item,在table中查找到对应的entry,执行步骤S506;步骤S506所述压缩器判断是否curr_list中每个item都被遍历完毕,如已遍历完毕,则执行步骤S510;否则,执行步骤S507;步骤S507所述压缩器判断table中是否包含当前待查找的item对应的entry,如果不存在,则执行步骤S508,如果存在,则执行步骤S509;步骤S508所述压缩器在table中,针对该item添加新的entry,并为该item分配一个唯一标识index,同时将对应Known置为0,然后执行步骤S505;步骤S509所述压缩器获取并存储针对待查找item项已存在entry中的index值及Known标识值,然后执行步骤S505;步骤S510所述压缩器根据遍历结果,将curr_list转化为一个以index标识的curr_index_list,执行步骤S511;步骤S511所述压缩器基于ref_list,按照协议给出的具体压缩算法对curr_index_list列表压缩和编码,执行步骤S512;步骤S512所述压缩器对于在table中对应Known为0的curr_list的item,按照协议规定,在压缩包中应携带该item完整的(index,item)信息,用于解压器建立该item与index的对应关系,执行步骤S513;步骤S513所述压缩器将curr_list对应的curr_index_list添加到压缩器侧的候选滑动窗口里,并以包含该list的压缩包所含SN为标识,执行步骤S514;步骤S514所述压缩器发送压缩包,并结束流程。现有的entry结构具有SN域,在发送压缩包时,还需要将携带该(index,item)信息压缩包对应SN添加入entry结构的中SN域中。而采用本发明的entry结构,由于不含SN域,因此,无需对携带该(index,item)信息压缩包对应SN进行维护的操作,且节约了存储空间。参见图6,该图示出了本发明实施例如何更新context中table信息和清除候选滑动窗口的方法,包括步骤步骤S601压缩器接收到一个针对SNi的反馈包;步骤S602所述压缩器在候选滑动窗口中查找是否存在SNi对应的indeX_list,若存在,则执行步骤S603,若不存在,则结束流程;步骤S603所述压缩器获取压缩上下文中的当前模式信息;步骤S604所述压缩器判断当前模式信息是否为R_mode,若为R_mode,则执行步骤S606;否则,执行步骤S605;步骤S605所述压缩器完全按照协议规定,对U/0_mode下的table和ref_list进行更新,结束流程;步骤S606所述压缩器依次遍历SNi对应index_list中每个index,执行步骤S607;步骤S607所述压缩器判断是否该indeX_list中每个index都被遍历过,如还存在没有被遍历的,则执行步骤S608;反之,执行步骤S609;步骤S608所述压缩器在table中直接查找到index对应的entry,并将Known标识置为1,然后执行步骤S606;步骤S609所述压缩器将该SNi对应indeX_list置为ref_list,然后执行步骤S610;步骤S610所述压缩器将该indeX_list以及所有位于它之前的list从候选滑动窗口删除,并结束流程;以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。8权利要求鲁棒性头压缩中一种提高列表压缩效率的方法,其特征在于压缩器在接收到一反馈包后,如果当前模式为双向可靠模式,则根据所述反馈包所确认的压缩包的序列号从候选滑动窗口中查找出对应的索引列表;所述压缩器根据所述查找出的索引列表中包含的各索引,从翻译表中查找出用以维护所述各索引及其对应的单元选项的条目,并将查找出的条目中的映射关系标识符设置为一表示解压器已经建立所述条目维护的单元选项与索引的对应关系的取值。2.如权利要求1所述的方法,其特征在于所述条目包括单元选项及其对应的索引,以及映射关系标识符。3.如权利要求2所述的方法,其特征在于所述条目还包括一计数标识位;所述压缩器使用一个翻译表来维护双向可靠模式下的条目、双向优化模式下的条目和单向模式下的条目,维护有相同对应关系的条目在不同模式下复用同一个条目。4.如权利要求2或3所述的方法,其特征在于所述条目由结构体数组实现,所述索引是所述结构体数组的下标。5.如权利要求1所述的方法,其特征在于所述压缩器在从所述候选滑动窗口中查找出对应的索引列表后,将参考列表更新为所述索引列表;以及删除所述候选滑动窗口中的所述查找出对应的索引列表及其之前的所有索引列表。6.鲁棒性头压缩中一种提高列表压缩效率的装置,其特征在于,包括接收模块和处理模块,其中所述接收模块,用以在接收到一反馈包后,将其发送给所述处理模块;所述处理模块,在接收到一反馈包后,如果判断出当前模式为双向可靠模式,则根据所述反馈包所确认的压缩包的序列号从候选滑动窗口中查找出对应的索引列表,然后根据所述索引列表中包含的各索引,从翻译表中查找出用以维护所述各索引及其对应的单元选项的条目,并将查找出的条目中的映射关系标识符设置为一表示解压器已经建立所述条目维护的单元选项与索引的对应关系的取值。7.如权利要求6所述的装置,其特征在于所述条目包括单元选项及其对应的索引,以及映射关系标识符。8.如权利要求7所述的装置,其特征在于所述条目还包括一计数标识位;所述处理模块,使用一个翻译表来维护双向可靠模式下的条目、双向优化模式下的条目和单向模式下的条目,维护有相同对应关系的条目在不同模式下复用同一个条目。9.如权利要求7或8所述的装置,其特征在于所述条目由结构体数组实现,所述索引是所述结构体数组的下标。10.如权利要求6所述的装置,其特征在于所述处理模块,在从所述候选滑动窗口中查找出对应的索引列表后,将参考列表更新为所述索引列表;以及删除所述候选滑动窗口中的所述查找出对应的索引列表及其之前的所有索引列表。全文摘要本发明提供了鲁棒性头压缩中一种提高列表压缩效率的方法及装置,该方法包括压缩器在接收到一反馈包后,如果当前模式为双向可靠模式,则根据所述反馈包所确认的压缩包的序列号从候选滑动窗口中查找出对应的索引列表;根据所述查找出的索引列表中包含的各索引,从翻译表中查找出用以维护所述各索引及其对应的单元选项的条目,并将查找出的条目中的映射关系标识符设置为一表示解压器已经建立所述条目维护的单元选项与索引的对应关系的取值。该方法能够有效地提高列表压缩效率。文档编号H04L1/00GK101984621SQ201010522249公开日2011年3月9日申请日期2010年10月25日优先权日2010年10月25日发明者孙后山申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1