本公开涉及鲁棒报头压缩(RoHC),以及具体来说涉及保护免于(protect against)产生于丢失分组的突发(burst)的上下文不同步的RoHC优化。
背景技术:
鲁棒报头压缩(RoHC)在第三代合作伙伴计划(3GPP)长期演进(LTE)网络中用来使通过空中所传送的信息量最小化。在因特网工程任务组(IETF)请求注解(RFC)3095“RObust Header Compression (ROHC): Framework and four profiles: RTP, UDP, ESP, and uncompressed”中定义RoHC。具体来说,在3GPP LTE中,RoHC在分组数据汇聚协议(PDCP)层中被利用来通过利用因特网协议(IP)/用户数据报协议(UDP)/实时协议(RTP)报头中的字段的一部分的重复(相互关连的)性质来使IP/UDP/RTP报头中的信息量最小化。这对IP上的语音(VoIP)业务(其中所传送的数据量通常比未压缩IP/UDP/RTP报头的大小要小许多)是特别有益的。RoHC定义“压缩器”(其是RoHC压缩分组的发送方)和“解压缩器”(其是RoHC压缩分组的接收方)。
RoHC使用一种压缩技术,其消除或者最小化必须发送给解压缩器的字段。具体来说,RoHC使用一种压缩技术,其消除或者最小化静态(没有变化)的或者与称作“序列号”(SN)(其在本文中更具体称作RoHC SN)的字段相互关连的字段。不相互关连字段“按原样”(或者未压缩)发送。压缩器和解压缩器始终保持“静态信息”,其描述推断什么字段以及那些字段如何与SN相互关连。这个静态信息又称作上下文信息或者称作压缩器/解压缩器的上下文。因此,在压缩的最高状态中,足以使压缩器仅发送SN和不相互关连字段,以允许解压缩器正确重构原始分组。
在RoHC中,通常还压缩SN,因为SN没有完整地发送。具体来说,对于SN字段,RoHC使用基于窗口的最低有效位(W-LSB)编码。实质上,W-LSB编码仅发送SN字段的最后k_c个最低有效位,其中k_c是计算的值。k_c的大小越小,则压缩越有效。
当压缩器和解压缩器操作在SN字段的k_c个最低有效位的压缩级时,2k_c个分组的突发的丢失将在解压缩器引起SN字段的位k_c+1的值的不正确推断,并且因此引起真正SN值的解压缩(或者解码)中的误差。RFC 3095第5.3.2.2.4(标题为“Correction of SN LSB wraparound”)描述解压缩失败之后的SN的修复机制。具体来说,在解压缩失败之后,进行尝试将2k_c的值加到在解压缩器的最后良好参考SN(即,在解压缩器最后成功解压缩分组的全(full)SN值)。解压缩器然后使用新参考SN重试W-LSB编码的SN的解压缩或解码。因此,这个标准修复机制保护免于2k_c+1个分组的突发的丢失。对于最有效压缩情况,在发送RoHC分组类型UO-0分组的情况下,k_c值为4。因此,在这种情况下,标准修复机制能够保护免于最多25=32个分组的突发的丢失。此外,相互关连字段的模式的变化可在丢失分组的突发期间发生。虽然压缩器将对解压缩器标记那些变化,但是标记变化的分组丢失。因此,解压缩器将没有接收相关性模式的变化,这导致一些字段在解压缩期间不正确地重构,而其他字段在解压缩期间可正确重构。
一般对于无线电链路以及具体对于蜂窝通信网络中的无线电链路,通信信道遭受暂时衰落以及来自相邻小区的干扰。因此,丢失分组的突发是实际可能性。具体来说,在蜂窝通信网络中,当用户装置或移动终端接近小区边缘时,丢失分组的突发的可能性增加。此外,在一些情况下,丢失分组的突发的大小可超过2k_c+1个分组,这导致解压缩器与压缩器之间的“同步性”的丢失(即,解压缩器不再能够对来自压缩器的分组成功解压缩)。这称作上下文不同步。
当解压缩器丢失与压缩器的同步性时,RoHC标准定义用于恢复的机制。恢复机制需要压缩器与解压缩器之间的信号的交换,之后接着回复到以极少或没有压缩来发送分组的状态。这个恢复机制是成本高的。具体来说,恢复机制要求解压缩器与压缩器之间的额外信令(例如传送反馈否定确认),以通知压缩器关于同步的丢失。压缩器则必须通过生成和传送较少压缩的RoHC分组类型进行反应。另外,恢复机制因与信令、在压缩器对接收信号的反应以及可能发送到压缩器所生成的新RoHC分组类型的确认关联的往返延迟而引起压缩器和解压缩器能够返回到RoHC对等最高可能压缩状态之前的延迟。恢复机制还引起浪费的无线电链路或空中链路带宽,因为最终用户分组在压缩器和解压缩器尝试重新获得同步性并且达到最高压缩状态的同时被丢弃。此外,在尝试重新获得同步性时由压缩器所发送的前几个用户分组通过较少压缩形式来发送。在最坏情况下,在尝试重新获得同步性时的前几个用户分组作为未压缩初始化和刷新(IR)分组来发送。较少压缩或者未压缩分组转化成浪费的空中链路带宽。恢复机制还要求大量时间来重新获得压缩器与解压缩器之间的同步性。最后,恢复机制在正确解压缩分组被接收的百分比以及从丢失分组的突发进行恢复所花费时间方面引起不良的最终用户体验。
根据以上论述,存在对更有效和主动保护免于产生于丢失分组的突发的上下文不同步的RoHC优化的系统和方法的需要。
技术实现要素:
公开用于优化鲁棒报头压缩(RoHC)以保护免于产生于丢失分组的突发的上下文不同步的系统和方法。在一个实施例中,提供一种基于传送信道质量度量来调整无线电节点的RoHC压缩器的无线电节点的操作方法。在一个实施例中,无线电节点的操作方法包括基于无线电节点与第二无线电节点之间的传送信道的信道质量信息来计算传送信道质量度量的值,并且基于传送信道质量度量的值来调整无线电节点与第二无线电节点之间的链路的RoHC压缩器。这样,RoHC压缩器能够基于传送信道质量度量来调整,以便在一些实施例中在不良或低于理想传送信道质量条件下进行操作时降低无线电节点的RoHC的压缩器与第二无线电节点的RoHC解压缩器之间的上下文不同步的似然。
在一个实施例中,调整RoHC压缩器包括基于传送信道质量度量的值来计算将要包含在RoHC压缩器所生成的压缩RoHC分组中的RoHC序列号(SN)的最低有效位的数量。此外,在一个实施例中,调整RoHC压缩器还包括基于将要包含在基于传送信道质量度量的值所计算的压缩RoHC分组中的RoHC SN的最低有效位的数量来选择RoHC压缩器所生成的压缩RoHC分组的RoHC分组类型。
在一个实施例中,调整RoHC压缩器包括基于传送信道质量度量的值来选择RoHC压缩器所生成的压缩RoHC分组的RoHC分组类型。
在一个实施例中,信道质量度量指示下一个所传送的压缩RoHC分组将没有被第二无线电节点的RoHC解压缩器成功接收的似然。此外,在一个实施例中,调整RoHC压缩器包括接收具有RoHC压缩器所使用的RoHC SN的值(v)的RoHC压缩的新分组,并且确定下一个所传送的压缩RoHC分组将没有被第二无线电节点的RoHC解压缩器成功接收的似然是否大于阈值。调整RoHC压缩器还包括如果下一个所传送的压缩RoHC分组将没有被第二无线电节点的RoHC解压缩器成功接收的似然大于阈值则使已经确定为可能已丢失的连续传送的压缩RoHC分组的数量的计数器递增,并且确定已经确定为可能已丢失的连续传送的压缩RoHC分组的数量的计数器是否大于或等于丢失分组阈值。调整RoHC压缩器还包括如果已经确定为可能已丢失的连续传送的压缩RoHC分组的数量的计数器被确定为大于或等于丢失分组阈值则基于确定为可能已被第二无线电节点的RoHC解压缩器成功解码的最后压缩RoHC分组的RoHC SN的值(v_ref_g)以及RoHC压缩的新分组的RoHC SN的值(v)来确定k_c的新值,其中k_c是将要包含在压缩RoHC分组中的RoHC SN的最低有效位的数量。调整RoHC压缩器还包括基于k_c的新值来选择无线电节点的RoHC压缩器所生成的压缩RoHC分组的RoHC分组类型,并且处理新分组以生成所选RoHC分组类型的新压缩RoHC分组供传送给第二无线电节点。
在一个实施例中,调整RoHC压缩器还包括如果已经确定为可能已丢失的连续传送的压缩RoHC分组的数量的计数器被确定为对于k_c的当前值不大于或等于2k_c,则基于最后压缩RoHC分组的RoHC SN的值(v_ref_c)以及RoHC压缩的新分组的RoHC SN的值(v)来确定k_c的新值。在一个实施例中,阈值对于RoHC压缩器所使用的k_c的当前值为2k_c。
在一个实施例中,计算传送信道质量度量的值包括基于传送信道的信道质量信息的当前值以及传送信道的信道质量信息的一个或多个先前值来计算传送信道质量度量的值。此外,在一个实施例中,传送信道质量度量是与混合自动重传请求(HARQ)成功或完全(complete)HARQ尝试相比的完全HARQ失败的数量,并且基于传送信道的信道质量信息的当前值以及传送信道的信道质量信息的一个或多个先前值来计算传送信道质量度量的值包括计算作为与HARQ成功或完全HARQ尝试相比的完全HARQ失败的数量的指数加权移动平均的传送信道质量度量的值。
在一个实施例中,计算传送信道质量度量的值包括得到传送信道的信道质量信息的新值,基于信道质量信息的新值以及信道质量信息的一个或多个先前值来计算传送信道质量度量的值,使传送信道质量度量的值对RoHC压缩器可用,以及重复进行得到传送信道的信道质量信息的新值、计算传送信道质量度量的值并且使传送信道质量度量的值对RoHC压缩器可用的步骤。
在另一个实施例中,提供一种无线电节点,其按照上述方法的任一种进行操作。
在另一个实施例中,公开与改进RoHC SN解码相关的系统和方法。在一个实施例中,无线电节点的操作方法包括确定无线电节点与第二无线电节点之间的无线电链路的接收分组数据汇聚协议(PDCP)SN间隙的大小,并且基于PDCP SN间隙的大小来执行RoHC SN解码。在一个实施例中,基于PDCP SN间隙的大小对RoHC SN进行解码甚至在多于2k_d个丢失分组的突发之后也实现RoHC SN的成功解码。
在一个实施例中,基于PDCP SN间隙的大小来执行RoHC SN解码包括确定PDCP SN间隙的大小是否大于阈值间隙大小,并且如果PDCP SN间隙的大小大于阈值间隙大小则使用PDCP SN间隙的大小来执行接收的PDCP协议数据单元(PDU)的RoHC SN解码。此外,在一个实施例中,基于PDCP SN间隙的大小来执行RoHC SN解码还包括如果PDCP SN间隙的大小大于阈值,则在没有使用PDCP SN间隙的大小的情况下确定接收的RoHC压缩PDCP PDU的RoHC SN。
在一个实施例中,阈值间隙大小对于无线电节点的RoHC解压缩器所使用的k_d的当前值为2k_d,其中k_d是RoHC解压缩器所处理的RoHC压缩PDCP PDU中包含的RoHC SN的最低有效位的数量。
在一个实施例中,基于PDCP SN间隙的大小来执行RoHC SN解码包括接收针对RoHC解压缩的新RoHC压缩PDCP PDU,确定PDCP SN间隙的大小是否大于阈值间隙大小,如果PDCP SN间隙的大小大于或等于阈值间隙大小则基于PDCP SN间隙的大小来计算新RoHC压缩PDCP PDU的RoHC SN的值,并且基于对新RoHC压缩PDCP PDU的RoHC SN所计算的值来执行RoHC解压缩。此外,在一个实施例中,基于PDCP SN间隙的大小来计算新RoHC压缩PDCP PDU的RoHC SN的值包括计算作为最后成功解码的RoHC压缩PDCP PDU的RoHC SN的值、PDCP SN间隙的大小以及解压缩失败计数器的值的总和的预测的参考值,解压缩失败计数器的值是自接收最后成功解码的RoHC压缩PDCP PDU以来无法解压缩的RoHC压缩PDCP PDU的数量。计算新RoHC压缩PDCP PDU的RoHC SN的值还包括基于预测参考值以及新RoHC压缩PDCP PDU中包含的基于窗口的最低有效位(W-LSB)编码的RoHC SN值来计算新RoHC压缩PDCP PDU的RoHC SN的值。
在一个实施例中,无线电节点的操作方法还包括确定RoHC解压缩是否对新RoHC压缩PDCP PDU失败,如果RoHC解压缩失败则使解压缩失败计数器的值递增,以及如果成功进行RoHC解压缩则重置解压缩失败计数器。
在一个实施例中,基于PDCP SN间隙的大小来执行RoHC SN解码还包括如果PDCP SN间隙的大小小于阈值间隙大小,在没有使用PDCP SN间隙的大小的情况下计算新RoHC压缩PDCP PDU的RoHC SN的值。
在一个实施例中,基于PDCP SN间隙的大小来执行RoHC SN解码还包括在计算新RoHC压缩PDCP PDU的RoHC SN的值之前,确定k_d是否大于或等于PDCP SN的大小,其中k_d是无线电节点的RoHC解压缩器所处理的RoHC压缩PDCP PDU中包含的RoHC SN的最低有效位的数量。如果k_d不大于或等于PDCP SN的大小,则该方法继续执行如果PDCP SN间隙的大小大于或等于阈值间隙大小则基于PDCP SN间隙的大小来计算新RoHC压缩PDCP PDU的RoHC SN的值的步骤。如果k_d大于或等于PDCP SN的大小,则如果PDCP SN间隙的大小小于阈值间隙大小,在没有使用PDCP SN间隙的大小的情况下计算新RoHC压缩PDCP PDU的RoHC SN的值。
在一个实施例中,阈值间隙大小为2k_d。
在一个实施例中,确定无线电节点与第二无线电节点之间的无线电链路的PDCP SN间隙的大小包括计算所接收的新PDCP PDU的计数值,该计数值由无线电节点的PDCP实体对无线电节点与第二无线电节点之间的无线电链路所保持的超帧号(HFN)以及新PDCP PDU中包含的PDCP SN来组成。PDCP SN间隙的大小则计算为:
g = COUNT – COUNT_prev + 1,
其中,COUNT是对新PDCP PDU所计算的计数值,以及COUNT_prev是对先前接收PDCP PDU所计算的计数值。
在一个实施例中,基于PDCP SN间隙的大小来执行RoHC SN解码由无线电节点的RoHC解压缩器对无线电节点与第二无线电节点之间的无线电链路来执行,确定PDCP SN间隙的大小由无线电节点的PDCP实体来执行,以及该方法还包括使PDCP实体所确定的PDCP SN间隙的大小对RoHC解压缩器可用。
在另一个实施例中,提供一种按照以上所述与RoHC SN解码相关的方法的任一种进行操作的无线电节点。
在与附图图形相关联而阅读实施例的详细描述之后,本领域的技术人员将意识到本公开的范围以及认识其附加方面。
附图说明
结合在本说明书中并构成其一部分的附图图形示出本公开的若干方面,并且连同描述一起用于说明本公开的原理。
图1示出按照本公开的一个实施例的蜂窝通信网络;
图2示出按照本公开的一个实施例的无线电节点;
图3是示出传送协议数据汇聚协议(PDCP)实体(其可称作PDCP传送器)和接收PDCP实体(其可称作PDCP接收器)的操作的框图;
图4是示出按照本公开的一个实施例的用于基于传送信道质量度量自适应地配置鲁棒报头压缩(RoHC)压缩器的过程的流程图;
图5是示出按照本公开的一个实施例的用于计算传送信道质量度量的过程的流程图;
图6是示出按照本公开的一个实施例的用于基于传送信道质量度量自适应地配置RoHC压缩器的更详细过程的流程图;
图7是示出按照本公开的另一个实施例的基于信道质量度量(q)的值来调整RoHC的RoHC压缩器的操作的流程图;
图8示出按照本公开的一个实施例的用于基于PDCP SN间隙的大小来执行RoHC序列号(SN)解码的过程;
图9示出按照本公开的一个实施例的用于基于PDCP SN间隙的大小来执行RoHC SN解码的过程;
图10示出按照本公开的一个实施例的用于计算PDCP SN间隙的大小的过程;
图11示出按照本公开的一个实施例的用于基于PDCP SN间隙的大小来执行包括RoHC SN解码的RoHC解压缩的更详细过程;
图12是按照本公开的一个实施例的图1的基站的框图;
图13是按照本公开的一个实施例的图1的无线装置的框图;
图14是按照本公开的一个实施例的无线电节点的框图;以及
图15是按照本公开的另一个实施例的无线电节点的框图。
具体实施方式
下面阐述的实施例表示使本领域的技术人员能够实施这些实施例的信息,并且示出实施这些实施例的最佳模式。在根据附图图形阅读以下描述时,本领域的技术人员将会理解本公开的概念,并且将会认识到本文中没有具体处理的这些概念的应用。应该理解,这些概念和应用落入本公开和所附权利要求的范围之内。
本文公开用于优化鲁棒报头压缩(RoHC)以保护免于产生于丢失分组的突发的上下文不同步的系统和方法。在这方面,图1示出按照本公开的一些实施例的蜂窝网络10,其包括基站12和无线装置14,它们进行操作以提供RoHC压缩和解压缩。在本文所描述的实施例中,蜂窝网络10是第三代合作伙伴计划(3GPP)长期演进(LTE)网络,并且因此基站12可称作增强节点B(eNB),以及无线装置14可称作用户设备(UE)。此外,本文所描述的实施例具体涉及无线装置14和/或基站12的协议栈的分组数据汇聚协议(PDCP)层内的RoHC。但是要注意,本文所公开的概念并不局限于3GPP LTE或者LTE协议栈的PDCP层内的RoHC。本文所公开的RoHC技术而是可在任何适当类型的蜂窝通信网络、任何适当无线系统或者利用RoHC、特别是通过有损链路的任何其他通信系统中实现。
图2示出按照本公开的一个实施例的无线电节点16。无线电节点16可以是例如图1的基站12或无线装置14。但是,无线电节点16并不局限于此。如所示的,无线电节点16包括协议栈18,其实现为硬件和软件的组合。协议栈18包括许多层,其中包括物理(PHY)层20、介质访问控制(MAC)层22、无线电链路控制(RLC)层24和PDCP层26。PHY层20执行编码/解码、调制/解调、多天线映射等。MAC层22执行逻辑信道的复用、混合自动重传请求(ARQ)重传以及上行链路和下行链路调度。RLC层24执行诸如分段/级联、重传处置、复制检测以及对高层的按序输送之类的功能。RLC层24包括为UE所配置的每无线电承载一个RLC实体。
在3GPP技术规范(TS)36.323 V11.2.0(其标题为“Technical Specification Group Radio Access Network; Evolved Universal Terrestrial Radio Access (E-UTRA); Packet Data Convergence Protocol (PDCP) specification ( 第11版)”)中定义用于LTE的PDCP层26的功能性。PDCP层26支持例如诸如使用RoHC协议的因特网协议(IP)分组的报头压缩和解压缩、数据(例如用户平面数据或控制平面数据)的传输、PDCP序列号(SN)的保持、在下层的重新建立的上层协议数据单元(PDU)的按序输送、用户平面数据和控制平面数据的加密和解密、控制平面数据的完整性保护和完整性检验、基于定时器的丢弃等的功能。在因特网工程任务组(IETF)请求注解(RFC)3095“RObust Header Compression (ROHC): Framework and four profiles: RTP, UDP, ESP, and uncompressed”(其虽然对理解和描述本文所公开的系统和方法不是必需的,但是通过引用将其完整地结合于此)中定义RoHC。
如所示的,PDCP层26包括多个PDCP实体28,其各包括最多一个RoHC压缩器30和最多一个RoHC解压缩器32。因此,特定PDCP实体28可包括RoHC压缩器30、RoHC解压缩器32或者RoHC压缩器30和RoHC解压缩器32两者。如在3GPP TS 36.323 V11.2.0中定义的,各无线电承载(即,除了SRB0之外的数据无线电承载(DRB)和服务无线电承载(SRB))与一个PDCP实体28关联。换言之,PDCP实体28的每个携带一个无线电承载的数据。每个PDCP实体28与一个或两个RLC实体关联,这取决于RLC模式以及无线电承载是单向还是双向的。每个PDCP实体28与控制平面或用户平面关联,这取决于对应无线电承载是携带控制平面还是用户平面的数据。
RoHC标准定义三种操作模式,即,单向模式(U-MODE)、双向优化模式(O-MODE)和双向可靠模式(R-MODE)。由于LTE无线电链路是双向的,所以U-MODE仅在初始化时发生。R-MODE预计用于有损链路,而O-MODE设计用于质量链路。模式之间的转变能够即时进行,遵循传送无线电节点16(例如无线装置14)的PDCP实体28的RoHC压缩器30与接收无线电节点(例如基站12)的接收PDCP实体28的RoHC解压缩器32之间的协商。R-MODE与O-MODE相比更为低效。具体来说,R-MODE要求传送无线电节点16的PDCP实体28的RoHC压缩器30与接收无线电节点16的接收PDCP实体28的RoHC解压缩器32之间的更多信令以及与各用户分组关联的更大开销。
虽然O-MODE被绝大多数LTE网络所支持,但是R-MODE因其对反馈信道的更密集使用而被认为不是理想模式,其阻挠使用RoHC作为降低带宽使用的手段的意图。如果无线电链路的两个端点均不支持R-MODE,则到R-MODE的转变是不可能的,以及传送无线电节点16的PDCP实体28的RoHC压缩器30和接收无线电节点16的接收PDCP实体28的RoHC解压缩器32必须操作在O-MODE,其在操作于比理想的条件差的条件时提供较少保护。本文所描述的实施例能够被利用来在操作于R-MODE和O-MODE时改进性能。但是,实施例在操作于O-MODE时是特别有益的。
图3示出两个无线电节点16的两个PDCP实体28通过对应无线电链路来提供通信的操作。在这种情况下,PDCP实体28其中之一正传送数据,并且因此称作传送PDCP实体28,而另一PDCP实体28正接收所传送的数据,并且因此称作接收PDCP实体28。在这个示例中,传送PDCP实体28处于一个无线电节点16(例如无线装置14(或UE)),而接收PDCP实体28处于另一个无线电节点16(例如基站12(或eNB))。如所示的,传送PDCP实体28接收将要在对应无线电承载上传送的数据。这个数据是IP分组,以及在一些实施例中是IP/用户数据报协议(UDP)/实时协议(RTP)分组。在接收IP分组时,传送PDCP实体28确定携带IP分组的新PDCP PDU的新PDCP SN。一般来说,PDCP SN由传送PDCP实体28按照依次顺序(sequential order)来指配给PDCP PDU。因此,新PDCP SN通过使先前PDCP SN递增1来确定。PDCP SN是5、7或12位值,其连同传送PDCP实体28所保持的超帧号(HFN)一起形成全32位SN(称作COUNT)。如以下所论述的,SN COUNT用于由传送PDCP实体28进行加密以及由接收PDCP实体28进行解密。
如果将要传送的数据是用户平面数据(即,如果无线电承载与用户平面关联),并且RoHC配置用于无线电承载,则传送PDCP实体28以及具体来说是传送PDCP实体28的RoHC压缩器30执行RoHC报头压缩。一般来说,RoHC压缩器30进行操作以便通过消除或者最小化来自IP/UDP/RTP报头的静态的或者与称作RoHC SN或主SN(MSN)的字段相互关连的字段来压缩IP/UDP/RTP报头。不相互关连字段“按原样”(或者未压缩)发送,因为它们不能使用RoHC来压缩。传送PDCP实体28的RoHC压缩器30和接收PDCP实体28的RoHC解压缩器32保持“静态信息”,其描述消除什么字段以及那些字段如何与RoHC SN相互关连。这个静态信息又称作上下文信息或者压缩器/解压缩器的上下文。在压缩的最高状态,RoHC压缩器30仅传送RoHC SN(具体来说是压缩RoHC SN)和IP/UDP/RTP报头的相互关连字段,而不是发送全IP/UDP/RTP报头。
重要的是,在RoHC中,还压缩RoHC SN,因为RoHC SN没有完整地发送。具体来说,对于RoHC SN字段,RoHC使用基于窗口的最低有效位(W-LSB)编码。实质上,W-LSB编码仅发送RoHC SN字段的最后k_c个最低有效位。k_c的大小越小,则压缩越有效。当前,在LTE中,k_c的值可以为4 (对于UO-0和UO-1-TS)、6 (UOR-2)、7 (UO1-ID-EXT0和UO1-ID-EXT1)、9 (UOR-2-EXT0和UOR-2-EXT1)、12 (UO1-ID-EXT3)、14 (UOR-2-EXT3)或16 (IR)。
值得注意地,如本文所使用的,“k_c”是将要用于当前RoHC压缩分组的RoHC SN位的最小数量。如以下所论述的,k_c的值是计算的值。实际上将用于编码的实际“k”个数量的位可大于k_c,这取决于最终选择用于RoHC压缩分组的RoHC分组类型。相比之下,以下论述的“k_d”是在RoHC解压缩器的接收分组的RoHC SN中的位的实际数量。
如果IP分组关联到PDCP服务数据单元(SDU),则传送PDCP实体28执行完整性保护(仅对于c平面数据)和加密。在3GPP TS 33.401 第12版(版本12.11.0)(其标题为“Technical Specification Group Services and System Aspects; 3GPP System Architecture Evolution (SAE); Security architecture”)中定义PDCP对加密(和解密)所要求的参数。PDCP对加密所要求的参数包括:
● KEY:128位加密密钥。
● COUNT:HFN+PDCP SN。
● BEARER:无线电承载标识符(ID)。
● DIRECTION:无线电承载的方向(即,上行链路或下行链路)。
● LENGTH:将要由加密算法所生成的加密密钥流的长度。
如上所指示的,COUNT参数通过组合HFN和PDCP SN来形成。注意到,COUNT参数本身是用于加密/解密以及PDCP层26中的完整性保护的SN。给定SN(COUNT)在相同方向在相同无线电承载上对给定KEY仅使用一次。相同SN(COUNT)能够用于加密/解密和完整性保护。再次,PDCP SN是指配到PDCP PDU的5、7或12位值以及从传送PDCP实体28传送给接收PDCP实体28的PDCP PDU按照依次顺序被指配PDCP SN。HFN是所使用的溢出计数器机制,以便限制需要在PDCP PDU中通过空中接口所发送的PDCP SN位的实际数量。HFN需要在传送PDCP实体28与接收PDCP实体28之间同步。换言之,当PDCP SN达到其最大值(其又取决于用于PDCP SN的位的数量(5、7或12位)时,PDCP SN将从0重新开始,并且HFN将增加一。
加密如下执行。在传送PDCP实体28,将输入参数输入到加密算法,其然后输出加密密钥流。将要由传送PDCP实体28所传送的分组然后通过加密密钥流来掩蔽(mask)(例如XOR运算),以便提供在添加PDCP报头之后传送给接收PDCP实体28的PDCP PDU的数据部分。重要的是,PDCP报头包括PDCP SN,但是不包括PDCP HFN。
在接收PDCP实体28,PDCP SN被从PDCP PDU的报头中提取,并且与接收PDCP实体28本地保持的PDCP HFN相结合,以提供用于解密的COUNT参数。接收PDCP实体28然后将COUNT参数连同PDCP所要求的其他参数一起传递给加密算法,其然后输出加密密钥流。这个加密密钥流应当与传送PDCP实体28所使用的加密密钥流相同。接收PDCP实体28然后使用加密密钥流对PDCP PDU进行解密,以提供解密PDCP PDU。对于用户平面数据,解密的PDCP PDU可以是IP分组或者RoHC压缩IP分组。
对于RoHC压缩IP分组,接收PDCP实体28以及具体来说是接收PDCP实体28的RoHC解压缩器32执行报头解压缩。具体来说,RoHC解压缩器32从RoHC压缩IP分组中提取W-LSB编码RoHC SN。RoHC解压缩器32对W-LSB编码RoHC SN进行解压缩或解码,以得到全(或者解压缩的)RoHC SN。然后,使用全(即,解压缩的)RoHC SN和RoHC解压缩器32的所存储的上下文,RoHC解压缩器32重构全IP/UDP/RTP报头,以由此提供解压缩IP/UDP/RTP分组。接收PDCP实体28还按顺序执行输送和复制检测(仅对于u平面数据)。
当前RoHC技术的一个问题在于,它们不充分保护免于分组的大突发的丢失。具体来说,RFC 3095,章节5.3.2.2.4(标题为“Correction of SN LSB wraparound”)描述因丢失分组的突发引起的解压缩失败之后的RoHC SN的修复机制。这个修复机制保护免于最多2k_d+1个分组的突发的丢失。当使用最常用RoHC分组类型/报头类型时,k_d为4,并且因此修复机制保护免于最多32个分组的突发的丢失。但是,多于32个分组的突发的丢失是很实际的可能性,特别是在蜂窝网络10中当无线装置14在基站12所服务的小区边缘附近进行操作时。当不能修复RoHC SN时,RoHC压缩器30和RoHC解压缩器32通常必须执行恢复过程,其在例如额外信令、延迟和浪费的无线电链路带宽方面是成本高的,并且可引起不良用户体验。
在一些实施例中,本公开涉及用于基于传送信道的质量或者作为其函数来调整传送PDCP实体28的RoHC压缩器30的配置的系统和方法。具体来说,如以下所论述的,在一些实施例中,当信道质量降低时,k_c的值增加。通过增加k_c的值,RoHC解压缩器32能够对丢失分组的较大突发的RoHC SN成功解码。此外,增加k_c的值引起不太进取性(aggressive)的RoHC压缩,这又降低上下文不同步的似然。
具体来说,RoHC定义使用不同大小的k_c值的各种RoHC报头类型。具体来说,如上所陈述的,在当前标准中,k_c的值可以为4 (对于UO-0和UO-1-TS)、6 (UOR-2)、7 (UO1-ID-EXT0和UO1-ID-EXT1)、9 (UOR-2-EXT0和UOR-2-EXT1)、12 (UO1-ID-EXT3)、14 (UOR-2-EXT3)或16 (IR)。但是,本公开并不局限于k_c的这些特定值或者这些特定模式。k_c的大小表示压缩效率与丢失分组的突发的保护之间的折衷。选择k_c的进取性的或较小值提供更大压缩效率,但是提供针对丢失分组的突发的较少保护。当传送信道(并且因此传送无线电链路)的质量为良好时,可期望k_c的小值。相反,选择k_c的保守或更大值提供较小压缩效率,但是提供针对丢失分组的突发的更大保护。换言之,增加k_c的值增加丢失分组的突发(对其能够使用RFC 3095中定义的修复机制来修复的RoHC SN)中的分组的最大数量。另外,如上所陈述的,增加k_c的值还降低因丢失分组的突发期间的模式变化引起的上下文不同步的似然。
在这点上,图4示出按照本公开的一个实施例的用于调整RoHC压缩器30的过程。如所示的,计算用于传送无线电节点16(例如无线装置14)与接收无线电节点16(例如基站12)之间的传送信道的信道质量度量(q)的值(步骤100)。一般来说,信道质量度量(q)是指示传送信道的质量的任何度量。在一些实施例中,信道质量度量(q)是传送信道的信道质量信息值的移动平均(例如完全混合ARQ(HARQ)失败的数量对HARQ成功的数量或者HARQ尝试的数量、信噪比(SNR)值、参考信号接收功率(RSRP)值、参考信号接收质量(RSRQ)值、信道质量指示符(CQI)值、误块率(BLER)值等)。更进一步,在一些实施例中,信道质量度量(q)是信道质量信息值的移动加权平均,其将更大权重给予(一个或多个)最近信道质量信息值。如以下所论述的,在一些实施例中,信道质量度量(q)的值通过PDCP层26下面的无线电节点16的协议栈18中的层(例如PHY层20、MAC层22或RLC层24)来计算,并且使其对PDCP层26以及具体来说是RoHC压缩器30(经由例如应用编程接口(API))可用。
PDCP层26以及具体来说是RoHC压缩器30基于对信道质量度量(q)所计算的值来调整RoHC压缩器30(步骤102)。在一个实施例中,RoHC压缩器30基于对信道质量度量(q)所计算的值来调整k_c的值(即,压缩RoHC SN中包含的RoHC SN的最低有效位(LSB)的数量),使得k_c的值与传送信道的质量相反相关,如信道质量度量(q)的值所示的(即,当传送信道质量降低时,k_c的值增加,如信道质量度量(q)的值所示的,反之亦然)。如以下所论述的,k_c的值然后用来选择RoHC报头或分组类型。在另一个实施例中,RoHC压缩器30基于信道质量度量(q)的值来调整RoHC报头类型并且因而调整k_c的值。通过基于信道质量度量(q)的值来调整RoHC压缩器30,智能地选择k_c的值并且因而智能地选择RoHC报头类型,以增加由接收PDCP实体28的RoHC解压缩器32的成功解压缩的概率。换言之,多于2k_c+1个分组的突发的丢失的概率降低。RoHC压缩器30或者更具体来说是RoHC压缩器30的压缩等级的自适应与接收PDCP实体28的RoHC解压缩器32的操作独立地执行,并且不要求任何空中信令开销。
在一个实施例中,在操作期间,按照RoHC标准,传送PDCP实体28的RoHC压缩器30和接收PDCP实体28的RoHC解压缩器32在所有无线电条件下均操作在O-MODE。如果传送信道的质量为良好(即,信道质量度量(q)的值好于阈值),则与选择为最小可能RoHC报头(即,最高压缩RoHC报头)的RoHC报头一致地达到最高压缩状态,其通常为UO-0报头类型,除非模式的变化需要从RoHC压缩器30或者RoHC解压缩器32来传递。当传送信道的质量降级到丢失分组的突发被认为是可能的点(即,信道质量度量(q)的值比阈值要差)时,则调整RoHC压缩器30以选择包含k_c的更大值的RoHC分组类型以及在一些实施例中可能在丢失分组的突发期间经历模式变化的其他字段。
图5示出按照本公开的一个实施例的用于计算信道质量度量(q)的值并且使信道质量度量(q)的值对RoHC压缩器30可用的过程。首先,得到信道质量信息(c)的新值(步骤200)。在一个实施例中,MAC层22适合于得到信道质量信息(c)的新值。如上所论述的,信道质量信息(c)可以是传送信道的任何类型的信道质量信息。在一个实施例中,信道质量信息(c)是完全HARQ失败的数量对HARQ成功或完全HARQ尝试、SNR、RSRP、RSRQ、CQI、BLER等。
接下来,基于信道质量信息(c)的新值以及信道质量信息(c)的一个或多个先前值(若有的话)来计算信道质量度量(q)的新值(步骤202)。信道质量度量(q)指示传送信道的瞬时信道质量。在一个实施例中,信道质量度量(q)的新值是信道质量信息(c)的新值以及信道质量信息(c)的一个或多个先前值的移动加权平均,其中信道质量信息(c)的最近值比信道质量信息(c)的更老值要更重地加权。在一个示例实施例中,信道质量度量(q)是完全HARQ失败(即,没有成功地达到maxHarqTX)的指数加权移动平均(即,与简单移动平均相似的移动平均的类型,除了对最新(latest)数据给予更大权重)。一般来说,信道质量度量(q)的新值表示下一个传送RoHC压缩分组的失败或丢失的概率或似然。具体来说,信道质量度量(q)的较高值(或较好值)表示高信道质量并且因而表示下一个传送的RoHC压缩分组的丢失的较低概率或似然,而信道质量度量(q)的较低值(或较坏值)表示较低信道质量并且因而表示下一个传送RoHC压缩分组的丢失的较高概率或似然。
最后,使信道质量度量(q)的新值对RoHC压缩器30可用(步骤204)。在一个实施例中,MAC层22计算信道质量度量(q)的新值,并且使信道质量度量(q)的新值对RoHC压缩器30可用(经由例如API)。但是,这只是一个示例。本公开并不局限于此。该过程然后返回到步骤200,并且重复进行。这样,信道质量度量(q)的值随时间而更新,以反映变化的信道条件。值得注意地,如果传送PDCP实体28在基站12,则传送信道的信道质量度量(q)的独立值可对实现其RoHC的各无线装置14来保持。
一旦使信道质量度量(q)的新值对RoHC压缩器30可用,RoHC压缩器30利用信道质量度量(q)的新值来调整RoHC。在这点上,图6示出RoHC压缩器30基于根据例如如以上针对图5所描述的信道质量信息(c)所计算的信道质量度量(q)的值来调整RoHC的操作。如所示的,RoHC压缩器30接收RoHC压缩的新IP分组(步骤300)。新IP分组的RoHC SN是值(v)。如果新IP分组包含SN(其通过RoHC来编码并且用作RoHC SN的基础),则这个值为v。通常,对于RoHC概况1,RTP SN用作RoHC SN的基础。如果IP分组类型是不具有格式良好的(well-formed)SN的IP分组类型(例如概况2 UDP分组类型),则RoHC压缩器30生成16位RoHC SN,其对于RoHC压缩的流中接收的每个IP分组增加1。
RoHC压缩器30得到传送信道的信道质量度量(q)的当前值,并且确定信道质量度量(q)的值是否大于或等于质量阈值(Q)(步骤302)。注意到,在这个示例中,大于或等于Q的q的值指示信道质量好于质量阈值(Q)。但是,对于一些类型的信道质量度量(q),小于或等于质量阈值(Q)的q的值可指示好于质量阈值(Q)的信道质量。因此,应当理解,在步骤302的比较更一般来说是传送信道的质量是否好于质量阈值(Q)的比较。质量阈值(Q)可例如在设计或制造期间静态地配置。在这个实施例中,配置质量阈值(Q)使得如果信道质量度量(q)的值大于或等于质量阈值(Q)时,则预测新IP分组的RoHC压缩分组由接收PDCP实体28的RoHC解压缩器32成功接收(即,解压缩)。否则,如果信道质量度量(q)的值小于质量阈值(Q),则预测新IP分组的RoHC压缩分组丢失(即,没有被接收PDCP实体28的RoHC解压缩器32成功接收)。
如果信道质量度量(q)的值大于或等于质量阈值(Q)(即,信道质量好于质量阈值(Q)),则丢失分组计数器(u)设置为0(步骤304)。丢失分组计数器(u)是针对在预测为已经丢失的行中传送的RoHC压缩分组的数量的计数器。RoHC压缩器30还将参考RoHC SN值(v_ref_g)设置成新IP分组的RoHC SN(v)(步骤306)。参考RoHC SN值(v_ref_g)是指示丢失RoHC压缩分组的间隙或突发的开始的参考RoHC SN值。RoHC压缩器30然后通过将k_c的值计算为g(v_ref_c, v)按照常规方式进行操作(步骤308)。函数g()在RFC 3095,章节4.5.1中定义为返回k_c的最小值的函数,使得v落入区间(interval)f(v_ref_c, k)中,其中f(v_ref_c, k)称作RoHC压缩的解释区间,并且定义为f(v_ref_c, k) = [v_ref_c - p, v_ref_c + (2k_c-1) - p],其中p为整数。此外,v_ref_c是通过RFC 3095,章节4.5.1小节定义为由RoHC压缩器30已经压缩的最后RoHC SN的参考RoHC SN值。当只有k_c的几个不同值是可能的时,RoHC压缩器30转而将拣选将v置入区间f(v_ref_c, k_c)的最小k_c。这例如因分组格式所施加的限制而可能发生,如RFC 3095,章节5.7小节所描述的。
一旦计算k_c的值,则RoHC压缩器30按照常规方式继续进行。具体来说,RoHC压缩器30基于对k_c所计算的值来选择RoHC分组类型(即,RoHC报头类型)(步骤310)。在一个实施例中,用于基于对k_c所计算的值来选择RoHC分组类型的算法或过程与RoHC标准中定义的算法或过程相同。更具体来说,所选择的RoHC分组类型是具有传送RoHC SN的至少k_c个位的能力的RoHC分组类型。但是,当选择RoHC分组类型时,也考虑除了k_c的值之外的变量。例如,如果分组中的其他字段从先前分组改变,则应当传递那些变化,并且因此这可影响RoHC分组类型选择。RoHC压缩器30然后处理IP分组,以生成所选的RoHC分组类型的RoHC压缩的分组(步骤312)。
返回到步骤302,如果信道质量度量(q)的值小于质量阈值(Q)(即,信道质量比质量阈值(Q)要差),则RoHC压缩器30使丢失分组计数器(u)递增,因为预测新IP分组的RoHC压缩分组丢失(步骤314)。RoHC压缩器30确定丢失分组计数器(u)是否大于丢失分组阈值,其在这个示例中为2k_c(即,当前W-LSB编码的RoHC SN窗口空间)(步骤316)。对于步骤316,k_c的值是用于传送W-LSB编码的RoHC SN的k_c的最后确定值。如果丢失分组计数器(u)小于丢失分组阈值,则RoHC压缩器30继续到步骤308,并且按照常规方式继续进行。
如果丢失分组计数器(u)大于或等于丢失分组阈值,则k_c的当前值可能不够大。具体来说,如果丢失分组阈值对k_c的当前值为2k_c并且u ≥ 2k_c,则k_c的当前值可能不够大(考虑预测为已丢失的连续分组的数量)。因此,RoHC压缩器30将k_c的新值计算为k_c = g(v_ref_g, v),其中v_ref_g是被传送并且预测为被接收PDCP实体28的RoHC解压缩器32成功接收的最后RoHC压缩分组的参考RoHC SN(步骤318)。通过基于v_ref_g而不是v_ref_c来计算k_c的值,RoHC压缩器30与原本使用常规技术来计算的k_c的值(即,k_c = g(v_ref_c, v))相比增加k_c的值。
一旦在步骤318计算k_c,则RoHC压缩器30按照常规方式继续进行。具体来说,RoHC压缩器30基于对k_c所计算的值来选择RoHC分组类型(即,RoHC报头类型)(步骤310)。RoHC压缩器30然后处理IP分组,以生成所选的RoHC分组类型的RoHC压缩分组(步骤312)。重要的是,通过基于预测为已被接收PDCP实体28的RoHC解压缩器32成功接收的最后RoHC压缩分组的RoHC SN来计算k_c,k_c的值增加,并且因此在步骤310选择不太进取性的RoHC分组类型。这个不太进取性的分组类型提供针对丢失分组的突发的改进保护(由于k_c的增加值),并且还可包括在丢失分组的突发期间可经历模式变化的字段。因此,当信道质量在丢失分组的突发之后改进时,下一个传送/接收RoHC压缩分组将包括具有充分(substantially)增加RoHC解压缩器32将能够对W-LSB编码的RoHC SN成功解码的似然的充足数量的位(k_c)的W-LSB编码的RoHC SN。另外,通过使用不太进取性的RoHC分组类型,可在丢失分组的突发期间经历模式变化的字段更可能包含在RoHC压缩分组中。因此,RoHC解压缩器32充分更可能能够对丢失分组的突发之后的首先接收的RoHC压缩分组成功解压缩,并且因此能够避免当上下文不同步在传送PDCP实体28的RoHC压缩器30与接收PDCP实体28的RoHC解压缩器32之间发生时所要求的成本高恢复机制。
图7示出按照本公开的另一个实施例的基于信道质量度量(q)的值来调整RoHC的RoHC压缩器30的操作。再次在这个实施例中,信道质量度量(q)可基于如以上针对图5所描述的信道质量信息(c)来计算。如所示的,RoHC压缩器30接收RoHC压缩的新IP分组(步骤400)。新IP分组的RoHC SN是值(v)。如果新IP分组包含SN(其通过RoHC来编码并且用作RoHC SN的基础),则这个值为v。通常,对于RoHC概况1,RTP SN用作RoHC SN的基础。如果IP分组类型是不具有格式良好的SN的IP分组类型(例如概况2 UDP分组类型),则RoHC压缩器30生成16位RoHC SN,其对于RoHC压缩的流中接收的每个IP分组增加1。
RoHC压缩器30得到传送信道的信道质量度量(q)的当前值,并且确定信道质量度量(q)的值是否大于或等于质量阈值(Q)(步骤402)。注意到,在这个示例中,大于或等于Q的q的值指示信道质量好于质量阈值(Q)。但是,对于一些类型的信道质量度量(q),小于或等于质量阈值(Q)的q的值可指示好于质量阈值(Q)的信道质量。因此,应当理解,在步骤402的比较更一般来说是传送信道的质量是否好于质量阈值(Q)的比较。质量阈值(Q)可例如在设计或制造期间静态地配置。在这个实施例中,配置质量阈值(Q)使得如果信道质量度量(q)的值大于或等于质量阈值(Q,则预测新IP分组的RoHC压缩分组由接收PDCP实体28的RoHC解压缩器32成功接收(即,解压缩)。否则,如果信道质量度量(q)的值小于质量阈值(Q),则预测新IP分组的RoHC压缩分组丢失(即,没有被接收PDCP实体28的RoHC解压缩器32成功接收)。
如果信道质量度量(q)的值大于或等于质量阈值(Q)(即,信道质量好于质量阈值(Q)),则丢失分组计数器(u)设置为0(步骤404)。丢失分组计数器(u)是针对在预测为已经丢失的行中传送的RoHC压缩分组的数量的计数器。RoHC压缩器30还将新IP分组的基本(essential)字段作为packet_ref_g来保存或存储,包括设置成新IP分组的RoHC SN(v)的值的v_ref_g(步骤406)。这有效地保存下一个间隙发生之前的最后分组或者下一个间隙发生之前的最后分组的至少基本字段的值。基本字段是在丢失分组的突发或间隙期间可能变化的字段,例如诸如IPv4报头的RTP时间戳或IP-ID字段。但是要注意,基本字段可以是通过例如网络的运营商基于例如部署和经验观察的特性可配置的。因此,参数packet_ref_g是存储在丢失分组的间隙或突发可能已经开始之前最后成功压缩/发送的分组(或者来自最后成功压缩/发送的分组的至少基本字段的值)的分组。
RoHC压缩器30然后通过将k_c的值计算为g(v_ref_c, v)来按照常规方式进行操作(步骤408)。函数g()在RFC 3095,章节4.5.1中定义为返回k_c的最小值的函数,使得v落入区间f(v_ref_c, k_c)中,其中f(v_ref_c, k_c)称作RoHC压缩的解释区间,并且定义为f(v_ref_c, k_c) = [v_ref_c - p, v_ref_c + (2k_c-1) - p],其中p为整数。此外,v_ref_c是通过RFC 3095,章节4.5.1定义为由RoHC压缩器30已经压缩的最后RoHC SN的参考RoHC SN值。当只有k_c的几个不同值是可能的时,RoHC压缩器30转而将拣选将v置入区间f(v_ref_c, k_c)的最小k_c。这例如因分组格式所施加的限制而可能发生,如RFC 3095,章节第5.7所描述的。
一旦计算k_c的值,则RoHC压缩器30按照常规方式继续进行。具体来说,RoHC压缩器30基于k_c的值、新IP分组的(一个或多个)报头中的字段的值以及packet_ref_c来执行模式变化检测和RoHC分组类型选择(步骤410)。参数“packet_ref_c”是最后成功发送的分组或者至少是最后成功发送分组的基本字段的值。在一个实施例中,用于基于对k_c所计算的值来选择RoHC分组类型的算法或过程与RoHC标准中定义的算法或过程相同。更具体来说,所选择的RoHC分组类型是具有传送RoHC SN的至少k_c个位的能力的RoHC分组类型。但是,当选择RoHC分组类型时,也考虑除了k_c的值之外的变量。例如,如果分组中的其他字段从先前分组改变,则应当传递那些变化,并且因此这可影响RoHC分组类型选择。RoHC压缩器30然后处理IP分组,以生成所选RoHC分组类型的RoHC压缩分组(步骤412)。
返回到步骤402,如果信道质量度量(q)的值小于质量阈值(Q)(即,信道质量比质量阈值(Q)要差),则RoHC压缩器30使丢失分组计数器(u)递增,因为预测新IP分组的RoHC压缩分组丢失(步骤414)。RoHC压缩器30确定丢失分组计数器(u)是否大于丢失分组阈值,其在这个示例中为2k_c(即,当前W-LSB编码的RoHC SN窗口空间)(步骤416)。对于步骤416,k_c的值是用于传送W-LSB编码的RoHC SN的k_c的最后确定的值。
如果丢失分组计数器(u)小于丢失分组阈值,则RoHC压缩器30通过将k_c的值计算为g(v_ref_c, v)而按照常规方式进行操作,如以上针对步骤408所论述的(步骤418)。相反,如果丢失分组计数器(u)大于或等于丢失分组阈值,则k_c的当前值可能不够大。具体来说,如果丢失分组阈值对k_c的当前值为2k_c并且u ≥ 2k_c,则k_c的当前值可能不够大(考虑预测为已丢失的连续分组的数量)。因此,RoHC压缩器30将k_c的新值计算为k_c = g(v_ref_g, v),其中v_ref_g是被传送并且预测为被接收PDCP实体28的RoHC解压缩器32成功接收的最后RoHC压缩分组的参考RoHC SN(步骤420)。通过基于v_ref_g而不是v_ref_c来计算k_c的值,RoHC压缩器30与原本使用常规技术来计算的k_c的值(即,k_c = g(v_ref_c, v))相比增加k_c的值。
一旦在步骤418或420计算k_c,RoHC压缩器30基于对k_c所计算的值、新IP分组的(一个或多个)报头中的字段的值以及packet_ref_g(而不是packet_ref_c)来执行模式变化检测和RoHC分组类型选择(步骤422)。再次,参数packet_ref_c存储最后成功压缩/发送的分组或者最后成功压缩/发送分组的至少基本字段的值。相比之下,packet_ref_g存储在丢失分组的间隙或突发开始之前最后成功压缩分组的字段的值。标准RoHC分组类型选择算法分析最后成功发送的压缩分组与新分组之间的模式变化差异。在标准RoHC分组类型选择算法分析packet_ref_c与新分组之间的模式变化差异的情况下,步骤422使用相同算法来分析packet_ref_g与新分组之间的模式变化差异。如果任何模式变化应当经由RoHC分组的字段来传递给RoHC压缩器30,则RoHC压缩器30选择包含那些字段的RoHC分组类型。这确保如果RoHC解压缩器32确实接收到分组则将其具有成功解压缩所需的信息。
通过使用packet_ref_g代替packet_ref_c,从丢失分组的间隙或突发可能开始的时间一直到需要传递给RoHC解压缩器32的这个新IP分组的压缩和传送的时间的任何模式变化将通过将packet_ref_g用于RoHC分组类型选择来处置。具体来说,所选的RoHC分组类型是RoHC分组类型,其包括需要显式传递给RoHC解压缩器32的所有字段。注意到,对于动态变化字段,RoHC压缩器30传递字段如何相对于RoHC SN而发生变化的模式。如果对于新IP分组,相对于RoHC SN的模式发生变化,则模式的这个变化将传递给RoHC解压缩器32。这样,RoHC分组类型选择被调整成保持在丢失分组的间隙或突发期间(例如在信道衰落的同时)发生的传送模式变化。这允许RoHC解压缩器32不仅对RoHC SN而且还对时常与RoHC SN相互关连但是经历相关性的变化(例如在语音呼叫期间从静音插入描述符(SID)到TALK到SID的转变时)的其他字段(例如RTP时间戳)接收正确值。
RoHC压缩器30然后处理IP分组,以生成如上所描述的所选RoHC分组类型的RoHC压缩分组(步骤412)。IP分组的处理包括将字段的基本值作为packet_ref_c保存在IP分组的(一个或多个)报头中。
以上描述了RoHC压缩器30的主动自适应方案的实施例。这些主动自适应方案基于传送信道的信道质量来调整k_c的值并且因而调整RoHC分组类型。这样,传送PDCP实体28的RoHC压缩器30与接收PDCP实体28的RoHC解压缩器32之间的上下文不同步的似然充分降低,这又产生最终用户业务中断的更低概率。这对于例如LTE上的语音(VoLTE)等的应用是特别重要的,其中衰落之后的快速恢复对最终用户体验质量是至关重要的。
保持传送PDCP实体28的RoHC压缩器30与接收PDCP实体28的RoHC解压缩器32之间的上下文同步的重要性通过如下事实来增广:由于降低的调制和编码效率,当操作在小区边缘时,传送相同数据量要求更多物理资源元素。因上下文同步的丢失而回退到RoHC初始化和刷新(IR)状态实际上使VoLTE数据量加倍,由此降低小区的有效容量。因此,通过降低上下文不同步的似然,主动自适应方案增加小区的有效容量。
此外,当在小区容量附近进行操作时,转变到IR状态的一些VoLTE UE有可能也许从未能够重新获得其媒体信道,并且呼叫将被丢弃。因此,所公开的主动自适应方案将增加可保持性以及最终用户的体验的质量。
主动自适应方案还急剧降低对RoHC标准所提供的信令密集反应(慢)确认(ACK)/否定确认(NACK)恢复机制的需要。换言之,主动自适应方案降低传送PDCP实体28的RoHC压缩器30与接收PDCP实体28的RoHC解压缩器32之间的协作的需要,以解决上下文不同步。已经存在测量在构建到LTE标准中的较低层的信道质量的机制(例如HARQ、CQI报告、BLER测量等),其能够用来预测分组丢失将发生的似然并且集中于预防而不是恢复。
当调整和发送更保守RoHC报头类型/RoHC分组类型时,附加有益效果在于,还包含原始报头的其他字段(例如RTP时间戳)。通常,如果模式变化在那些字段中发生,则模式变化会从传送PDCP实体28的RoHC压缩器30和接收PDCP实体28的RoHC解压缩器32传递极少次数或者仅传递一次,在此之后RoHC压缩器30会发送更高压缩分组。如果模式变化信息在丢失分组的突发中丢失,则字段的正确重构甚至在正确重构RoHC SN时也将失败。相比之下,通过本文所描述的自适应方案,由于最可能经历模式变化的字段在使用自适应方案其中之一时包含于在不良信道质量条件下所选择的更保守RoHC报头类型/RoHC分组类型中,所以RoHC解压缩器32将以大许多的似然能够正确重构RoHC SN以及在丢失分组的突发期间经历模式变化的字段。当条件发生变化以使得自适应实现不再需要时,可使用标准RoHC算法。
调整RoHC压缩器30的另一个有益效果在于,通过选择包含通过更多数量的位编码的循环冗余校验(CRC)的RoHC报头类型,CRC冲突的概率要低许多,从而导致针对因CRC冲突引起的不正确更新RoHC解压缩器32上下文的更大保护。值得注意地,虽然以上描述了主动RoHC自适应方案的示范优点和有益效果,但是这些示例是非限制性的。
至此,描述集中于RoHC压缩器30的自适应方案的实施例,其降低RoHC上下文不同步的似然。论述现在将转到用于在RoHC SN解码期间确定和利用PDCP SN间隙值以便实现分组的大突发的丢失(即,超过2k_d个分组的突发的丢失)之后的RoHC SN的修复的系统和方法。通常,PDCP SN具有比W-LSB编码的RoHC SN(例如4位)要多的位(例如7或12位)。因此,丢失分组的间隙或突发的大小能够由接收PDCP实体28在PDCP层26中跟踪,并且由RoHC解压缩器32用来对接收PDCP PDU的W-LSB编码的RoHC SN进行解码,特别是当突发中的丢失分组的数量大于W-LSB编码的RoHC SN的窗口大小时(即,当存在超过2k-d个丢失分组的突发时)。
在这点上,图8是示出按照本公开的一个实施例的接收PDCP实体28和RoHC解压缩器32的操作的流程图。首先,接收PDCP实体28确定PDCP间隙(g)的值或大小(步骤500)。PDCP间隙的大小由接收PDCP实体28使用对接收PDCP实体28可用的标准或常规信息(例如COUNT值)来确定。具体来说,接收PDCP实体28确定PDCP SN中存在间隙,其指示传送PDCP实体28与接收PDCP实体28之间的分组丢失。在一个实施例中,PDCP间隙(g)的大小基于接收PDCP实体28所接收的先前PDCP PDU的COUNT值以及接收PDCP实体28所接收的当前PDCP PDU的COUNT值来计算。这个PDCP间隙的大小则能够传递给接收PDCP实体28的RoHC解压缩器32或者以其他方式对接收PDCP实体28的RoHC解压缩器32可用。
RoHC解压缩器32基于PDCP间隙(g)的大小来执行当前PDCP PDU中的W-LSB编码的RoHC SN的解码或解压缩(步骤502)。一般来说,如果PDCP间隙(g)的大小大于阈值PDCP间隙大小,则PDCP间隙(g)的大小应用于与最后成功接收和解压缩的RoHC分组对应的参考(全或者未压缩)RoHC SN。修改的参考RoHC SN然后用来对W-LSB编码的RoHC SN进行解码。如果PDCP间隙(g)的大小大于阈值PDCP间隙大小,则阈值PDCP间隙大小使得W-LSB编码的RoHC SN的成功解码是不可能的。否则,如果PDCP间隙(g)的大小不大于阈值PDCP间隙大小,则W-LSB编码的RoHC SN使用如RoHC标准中定义的常规RoHC处理来解码。
图9是示出按照本公开的另一个实施例的接收PDCP实体28和RoHC解压缩器32的操作的流程图。首先,接收PDCP实体28如上所论述的确定PDCP间隙(g)的值或大小(步骤600)。在这个实施例中,接收PDCP实体28的RoHC解压缩器32确定PDCP间隙(g)的大小对于W-LSB编码的RoHC SN的k_d的当前值是否大于2k_d(步骤602)。如果不是的话,W-LSB编码的RoHC SN使用如RoHC标准中定义的常规RoHC处理来解码(步骤604)。但是,如果PDCP间隙(g)的大小对于k_d的当前值大于2k_d,则RoHC解压缩器32使用PDCP间隙(g)的大小来执行当前PDCP PDU中的W-LSB编码的RoHC SN的RoHC解码或解压缩(步骤606)。更具体来说,在一个实施例中,PDCP间隙(g)的大小应用于与最后成功接收和解压缩的RoHC分组对应的参考(全或者未压缩)RoHC SN。修改的参考RoHC SN然后用来对W-LSB编码的RoHC SN进行解码。
图10是示出按照本公开的一个实施例的接收PDCP实体28确定PDCP间隙(g)的大小并且使PDCP间隙(g)的大小对RoHC解压缩器32可用的操作的流程图。如所示的,接收PDCP实体28从下层(其在图2的示例中是RLC层24)接收新PDCP PDU(步骤700)。使用常规PDCP处理,接收PDCP实体28确定作为新PDCP PDU中包含的PDCP SN和接收PDCP实体28所保持的HFN的函数的新PDCP PDU的COUNT值(步骤702)。具体来说,新PDCP PDU的COUNT值计算为:
其中,COUNT_FUN是表示用于基于新接收的PDCP PDU中包含的PDCP SN(PDCP_SN)以及接收PDCP实体28所保持的HFN(HFTRX)来生成COUNT的常规过程的函数。虽然不是必需的,但是对于与COUNT和COUNT_FUN有关的更多信息,有兴趣的读者参阅3GPP TS 36.323 V11.2.0,其中COUNT_FUN表示用来生成3GPP TS 36.323 V11.2.0中描述的COUNT的方程。如3GPP TS 36.323 V11.2.0中定义的,HFNRX是生成用于特定PDCP实体28的接收的PDCP PDU的COUNT值的HFN值。
接收PDCP实体28然后将PDCP间隙(g)的大小计算为:
其中,COUNT是在步骤702所计算的COUNT的值,以及COUNTPREV是对接收PDCP实体28所接收的先前PDCP PDU所计算的COUNT值(步骤704)。在一个实施例中,在接收PDCP实体28的初始化期间,COUNTPREV初始化为232-1,以及g初始化为0。一旦计算PDCP间隙(g)的大小,则接收PDCP实体28将COUNTPREV设置成等于对当前PDCP PDU所计算的COUNT值(步骤706),并且使PDCP SN间隙(g)的大小对接收PDCP实体28的RoHC解压缩器32可用的(步骤708)。可使用任何适当技术(例如API)来使PDCP SN间隙(g)的大小对RoHC解压缩器32可用。
图11示出按照本公开的一个实施例的基于PDCP间隙(g)的大小对W-LSB编码的RoHC SN进行解码的RoHC解压缩过程。这个过程由RoHC解压缩器32执行。如所示的,RoHC解压缩器32接收针对RoHC压缩的RoHC压缩PDCP PDU(步骤800)。RoHC压缩PDCP PDU的W-LSB编码的RoHC SN(即,解码之后的RoHC SN)的全值称作值(v)。值(v)在传送PDCP实体28的RoHC压缩器30编码成k_c个位(或者还取决于RoHC分组类型选择),以提供W-LSB编码的RoHC SN(即,压缩的RoHC SN)。RoHC解压缩器32确定k_d的当前值是否大于或等于PDCP SN的大小(即,位的数量)(步骤802)。按照LTE的当前PDCP标准,PDCP SN的大小为7或12位,而k_d可小于PDCP SN的大小,这取决于RoHC分组类型。如果k_d的值大于或等于PDCP SN的大小,则PDCP间隙(g)的值没有用于对RoHC SN进行解码。因此,RoHC解压缩器32按照下式以常规方式来计算RoHC SN的值(v):
,
其中,v_ref_d是最后成功解压缩的PDCP PDU的全RoHC SN,W-LSB编码的v是接收PDCP PDU中包含的W-LSB编码的RoHC SN,以及h()表示RoHC标准中定义的标准RoHC W-LSB解码(步骤804)。
返回到步骤802,如果k_d的当前值小于PDCP SN的大小,则RoHC解压缩器32确定PDCP SN间隙(g)的大小是否大于或等于阈值间隙大小,其在这个示例中为2k_d(步骤806)。如果不是的话,则该过程再次进入步骤804,其中RoHC解压缩器32按照常规方式来计算RoHC SN的值(v)。但是,如果PDCP SN间隙(g)的大小大于或等于阈值间隙大小,则RoHC解压缩器32将无法使用RoHC SN的值(v)的常规计算对PDCP PDU成功解压缩。因此,RoHC解压缩器32将预测参考值(v_ref_pred)计算为:
其中,v_ref_d是最后成功解压缩的PDCP PDU的全RoHC SN,g是PDCP SN间隙的大小,以及f是自设置v_ref_d以来(即,自最后成功解压缩的PDCP PDU以来)无法解压缩的连续RoHC压缩PDCP PDU的数量(步骤808)。f的初始值为0。如以下所论述的,v_ref_d是如果分组的突发尚未丢失或者无法被解压缩时v_ref_d会是什么的预测。RoHC解压缩器32然后按照下式来计算RoHC SN的值(v):
(步骤810)。通常,最后成功的全RoHC SN(v_ref_d)与接收的PDCP PDU的W-LSB编码的RoHC SN一起使用来推导接收的PDCP PDU的全RoHC SN。但是,由于存在大于W-LSB RoHC SN的窗口空间(其为2k_d)的丢失分组的间隙或突发,所以使用基于v_ref_d的按照常规方式所计算的值(v)尝试RoHC解压缩会失败。为了降低解压缩失败的似然,值(v)转而基于v_ref_pred(其是v_ref_d加上PDCP SN间隙(g)的大小加上f的总和)来计算。因此,v_ref_d是如果分组的突发尚未丢失或者无法被解压缩时v_ref_d会是什么的预测。
接下来,无论是从步骤804还是从步骤810继续进行,一旦计算值(v),则RoHC解压缩器32使用接收RoHC压缩PDCP PDU的全RoHC SN的所计算的值(v)按照RoHC标准来执行解压缩处理(步骤812)。RoHC解压缩器32然后确定是否存在解压缩失败(即,确定RoHC压缩PDCP PDU是否成功解压缩)(步骤814)。如果存在压缩失败,则解压缩失败的数量的计数器(f)递增(步骤816)。否则,如果解压缩成功,则RoHC解压缩器32将计数器(f)重置为0(步骤818)。最后,无论从步骤816还是步骤818继续进行,RoHC解压缩器32执行正常后RoHC处理(步骤820)。更具体来说,如果解压缩失败,则丢弃分组。如果解压缩成功,则执行按顺序输送和复制检测处理。
图8至图11描述在PDCP SN间隙(g)的大小大于W-LSB编码的RoHC SN的窗口空间的事件中利用PDCP SN间隙(g)的大小来计算全RoHC SN的RoHC解压缩过程的实施例。这些实施例使用LTE中已经可用的信息以及具体来说是PDCP。因此,RoHC解压缩器32能够在没有RoHC信令和没有分组丢失的情况下立即恢复,而不是丢弃多个分组之后的解压缩失败和最终恢复。此外,虽然RFC 3095,章节5.3.2.2.4中描述的W-LSB解码和SN修复算法保护免于高达2k_d+1个丢失分组的突发,但是上述实施例能够在没有发信号通知传送PDCP实体28的RoHC压缩器30的情况下保护免于丢失分组的更大突发(即,大于2k_d+1个丢失分组)。更进一步,RoHC SN解码以及按照上面实施例所提供的修复能够在一遍中(in one pass)进行,这增加解压缩速度,同时降低代码复杂度。
注意到,虽然以上描述描述在RoHC压缩器30的实施例(例如图4-7)以及在RoHC解压缩器32的实施例(例如图8-11),但是应当注意到,RoHC压缩器实施例和RoHC解压缩器实施例相互独立。因此,在具体实现中,RoHC压缩器30的主动自适应的实施例可在具有或没有RoHC解压缩器32基于PDCP SN间隙的大小来提供RoHC SN的解码(反之亦然)的实施例的情况下实现。但是,还应当注意,实现可包括RoHC压缩器30的主动自适应的实施例和基于PDCP SN间隙的大小的RoHC SN解码的实施例。
包括PDCP实体28和RoHC压缩器30和/或RoHC解压缩器32的无线电节点16能够通过任何适当硬件或者硬件和软件的组合来实现。使用图1的基站12和无线装置14作为示例,图12是基站12的一个实施例的框图,以及图13是无线装置14的一个实施例的框图。如图12中所示的,基站12包括:基带单元34,其包括处理器36、存储器38和网络接口40;以及无线电单元42,其包括耦合到一个或多个天线46的收发器44。在一个实施例中,本文所描述的基站12的功能性(具体来说是PDCP层26、PDCP实体28、RoHC压缩器30和RoHC解压缩器32的功能性)通过存储器38中存储并且由处理器36所运行的软件来实现。另外,基站12可包括附加组件,其负责提供附加功能性,包括上述功能性的任一个和/或支持本文所描述的实施例所需的任何功能性。
如图13中所示的,无线装置14包括处理器48、存储器50以及耦合到一个或多个天线54的收发器52。在一个实施例中,以上所描述的如由无线装置(以及具体来说是PDCP层26、PDCP实体28、RoHC压缩器30和RoHC解压缩器32)所提供的功能性通过存储器50中存储并且由处理器48所运行的软件来实现。无线装置14的备选实施例可包括负责提供包括以上所标识的功能性的任一个和/或支持以上所描述的实施例所需的任何功能性的附加功能性的附加组件。
图14是按照本公开的一个实施例的无线电节点16(例如图1的基站12或无线装置14)的框图。在这个实施例中,无线电节点16包括传送信道质量度量计算模块56和RoHC压缩器自适应模块58,其各通过计算机可读介质(例如存储器38或50)上存储的软件来实现,软件在由处理器(例如处理器36或48)运行时使无线电节点16按照上述RoHC自适应实施例的任一个(例如图4-6的实施例的任一个)进行操作。传送信道质量度量计算模块56计算信道质量度量(q),如上所论述的。RoHC压缩器自适应模块58进行操作以基于信道质量度量(q)来调整RoHC压缩,如上所论述的。
图15是按照本公开的另一个实施例的无线电节点16(例如图1的基站12或无线装置14)的框图。在这个实施例中,无线电节点16包括PDCP SN间隙确定模块60和RoHC SN解码模块62,其各通过计算机可读介质(例如存储器38或50)上存储的软件来实现,软件在由处理器(例如处理器36或48)运行时使无线电节点16按照上述RoHC SN解码实施例的任一个(例如图8-11的实施例的任一个)进行操作。PDCP SN间隙确定模块60计算PDCP SN间隙(g)的大小,如上所论述的。RoHC SN解码模块62进行操作以基于PDCP SN间隙(g)的大小对RoHC SN进行解码,如上所论述的。
在一个实施例中,提供一种包括指令的计算机程序,当指令在至少一个处理器上运行时使至少一个处理器执行上述无线电节点16(例如基站12或无线装置14)的实施例的任一个。在一个实施例中,提供一种包含计算机程序的载体,其中载体是电子信号、光信号、无线电信号或计算机可读存储介质(例如非暂时性计算机可读介质)其中之一。
在本公开中通篇使用下列首字母缩写词。
● 3GPP 第三代合作伙伴计划
● ACK 确认
● API 应用编程接口
● ARQ 自动重传请求
● BER 误码率
● CQI 信道质量指示符
● CRC 循环冗余校验
● DRB 数据无线电承载
● eNB 增强节点B
● HARQ 混合自动重传请求
● HFN 超帧号
● ID 标识符
● IETF 因特网工程任务组
● IP 因特网协议
● IR 初始化和刷新
● LSB 最低有效位
● LTE 长期演进
● MAC 介质访问控制
● MSN 主序列号
● NACK 否定确认
● O-MODE 优化模式
● PDCP 分组数据汇聚协议
● PDU 协议数据单元
● PHY 物理
● R-MODE 可靠模式
● RFC 请求注解
● RLC 无线电链路控制
● RoHC 鲁棒报头压缩
● RSRP 参考信号接收功率
● RSRQ 参考信号接收质量
● RTP 实时协议
● SDU 服务数据单元
● SN 序列号
● SNR 信噪比
● SRB 服务无线电承载
● TS 技术规范
● U-MODE 单向模式
● UDP 用户数据报协议
● UE 用户设备
● VoIP 因特网协议上的语音
● VoLTE 长期演进上的语音
● W-LSB 基于窗口的最低有效位
本领域的技术人员将认识到对本公开的实施例的改进和修改。所有这类改进和修改均被认为在本文所公开的概念和以下权利要求的范围之内。