发明内容
针对现有技术存在的问题,本发明提供一种RLC数据重传系统中的CRBB压缩(COMPRESSED—RECEIVE—BLOCK—BITMAP,压缩的接收块位图)生成单元,解压缩过程被进一步简化,保证重传机制效率及准确度,避免由于位图压缩解压缩引起的重传误判,简化解压缩过程,提高传输效率。
本发明的技术方案是:一种RLC数据重传系统中的位图压缩方法,压缩后BIT长度与可用于存储压缩位图的BIT长度之间,边界处理方法如下:
(1)如果压缩后BIT长度小于可用于存储压缩位图的BIT长度,但是二者之间BIT长度之差小于用于LENGTH字段存储的BIT长度,那么需要按照压缩BIT生成顺序逆向回退长度为压缩过程的最后一个色码对应游程长度的压缩编码BIT长度,计算回退后的可用压缩空间;
a、如果回退后的可用压缩空间足够存储LENGTH字段存储的BIT长度,那么填充带有LENGTH字段的CRBB结构;
b、如果回退后的可用压缩空间不足以存储LENGTH字段存储的BIT长度,那么继续按照压缩BIT生成顺序逆向回退长度为当前最后一个色码对应游程长度的BIT长度,并计算回退后的可用压缩空间,直至满足可用压缩空间足够存储LENGTH字段存储的BIT长度。
(2)如果随着压缩过程的进行,当对某色码压缩后,导致压缩BIT长度大于可用于存储压缩位图的BIT长度,那么需要按照压缩BIT生成顺序逆向回退长度为当前最后一个色码对应游程长度的压缩编码BIT长度,计算回退后的可用压缩空间;
a、如果回退后的可用压缩空间等于零,那么表明LENGTH字段不存在,更新后的压缩比特数正好填满可用压缩空间,更新后压缩比特数=原压缩后BIT长度-某色码所对应游程长度的压缩编码的BIT长度;
b、如果回退后的可用压缩空间大于零并且大于等于用于存储LENGTH字段存储的BIT长度,那么填充带有LENGTH字段的CRBB结构;
c、如果回退后的可用压缩空间大于零并且小于用于存储LENGTH字段存储的BIT长度,那么需要按照压缩BIT生成顺序逆向回退长度为当前最后一个色码对应游程长度的BIT长度,计算回退后的可用压缩空间,如果回退后的可用压缩空间足够存储LENGTH存储的BIT长度,那么填充带有LENGTH字段的CRBB结构;如果回退后的可用压缩空间不足以存储LENGTH字段存储的BIT长度,那么继续按照压缩BIT生成顺序逆向回退长度为当前最后一个色码对应游程长度的BIT长度,并计算回退后的可用压缩空间,直至满足可用压缩空间足够存储LENGTH字段存储的BIT长度。
进一步的,每一次压缩完成,都必须计算压缩增益,如果压缩增益大于1,才会将CRBB结构发送至数据接收单元,否则,将填写未压缩位图URBB结构。
进一步的,所述压缩从起始序列号加1开始执行。
本发明还提供一种RLC数据重传系统中的位图解压缩方法,其特征在于:具体步骤如下:
(1)获取起始序列号,所述序列号对应的RLC数据块为需要重传的数据块,更新发送单元相应序列号的数据块标识;
(2)分别获取黑码与白码的最低比特阈值B1、W1;
(3)根据LENGTH字段是否存在,计算需要解压缩的长度:
当LENGTH字段存在,解压缩长度即为该字段所指示的长度;
当LENGTH字段不存在,表明解压缩空间将占用当前给定无线承载载荷减去消息其他IE结构后的剩余所有空间;
(4)读入压缩比特流,按照阈值获取相应比特流,查表,进行解码;
(5)如果剩余需要解压缩的比特数目低于阈值B1或者W1,那么将剩余比特流全部读入,进行查表解码;
(6)根据解压后的位图比特流,更新RLC数据发送单元的协议参数以及相应与序列号的数据块标识,如果确认收到,那么删除该PDU,如果否认确认,那么该数据标识更新为需要重传。
本发明的有益效果是:
(2)位图压缩过程中的边界处理流程,对超出预留压缩位图比特的压缩位图进行回退处理,并对出现的三种情况进行判断,进而作出相应编码,该压缩系统可有效解决位图压缩的边界处理,并给出压缩详细步骤描述,保证重传机制效率及准确度,避免由于位图压缩解压缩引起的重传误判,简化解压缩过程,提高传输效率。
(1)由于SSN(start sequence number,起始序列号)自身指示该序列号的数据块缺失,所以本发明专利全局位图并不包括SSN指示的接收状况,这点与通用协议不同,可节省一比特承载;相应的本发明规定起始色码对应相应游程长度的编码比特与压缩首字节的最低位开始一一对应。
(3)本发明提出的重传方法所使用的位图压缩与解压缩系统可以很好的对位图压缩边界进行控制,简化解压缩流程,并且有效避免由于解压缩误解码出现的误重传判断,从而保证无线链路层对数据发送调度的有效性。
具体实施方式
下面结合附图对本发明作进一步的说明。
一种RLC重传机制系统,包括数据发送单元、CRBB生成单元、数据接收单元、CRBB解析单元。本方案按照各模块详细描述如下:
1)数据发送单元
该单元主要根据RLC数据优先级别进行发送,其发送顺序依次为:重传数据,新数据块,预重传数据。重传数据为RLC需要重传的数据块;新数据块为当没有重传数据块时,RLC接收到MAC调度后,将上层PDU进行分段后的首次发送的数据块;预重传数据块是指已经发送过至少一次以上的数据块。传送预重传数据块,做到预重传控制,可加快窗口滑动速度,对端的ACK/NACK消息可根据接收端的数据接收情况做出及时调整,从而提高上行与下行的数据包传送效率。
接收到MAC发送数据调度,RLC将按照优先级发送相应数据块。结合协议的RLC窗口发送接收机制,其发送过程如下:
(1)不管发送窗口处于何种状态,那么RLC将首先检测是否有需要重传的分段PDU,重传次数具有最大重传次数限制,一般限制次数为4次。
(2)如果没有重传数据,RLC将首先判断发送窗口状态:如果发送窗口处于停止状态,那么将直接跳转至(3);否则,RLC将检测专门用于存储上层PDU链表内是否有新数据块等待发送,如果有那么其相应的数据标识更新为预重传数据块。
(3)如果没有新数据块发送,那么RLC将发送至少已经发送过一次以上的数据块。如果发送端未接收到来自对端的ACK/NACK确认消息,发送端在接收端并没有生成确认消息时向对端主动发送预重传数据,做到预重传控制。按照正常流程,接收端如果缺失某数据块,需要向发送端发送状态消息请求发送端重传,但是发送端主动发送预重传数据块后,接收端不需要发送状态信息,即可收到该数据块,有效减少两端的交互时延,提高窗口移动速度,提高发送效率。
(4)在实际应用中,数据类型包含伪数据块,用于当无数据可发,但是仍然需要保持当前链路时,发送端将发送伪数据块。
该数据发送单元与ACK/NACK解析单元紧密相关,解析单元根据接收到的位图更新RLC数据类型标识。如果位图标识为否认确认,那么相应RLC数据类型标识更新为需要重传数据;如果位图标识为确认收到,那么终端作为发送端将及时删除对端已经收到的RLC分段数据块;未经位图进行反馈,但位于发送窗口内的数据块数据标识类型保持不变。
2)CRBB生成单元
位图压缩算法采用基于ITU-T Recommendation T.4的一维游程无损压缩。本发明首先根据当前协议参数v_r(接收窗口中接收到的最高的RLC数据块BSN号)与v_q(接收窗口内未被接收的最早的RLC数据块的BSN号)值获取全局位图,如果全局位图比特数目小于等于给定的位图占用比特数目,直接将全局位图发送至数据接收单元;如果全局位图比特数目要大于给定的位图占用比特数目,那么需要进入CRBB压缩流程。压缩过程流程图如图1所示,其压缩过程为:
(1)根据变量v_r与v_q获取全局位图,全局位图的范围[v_q+1,v_r-1]。由于SSN(startsequence number,起始序列号)自身指示该序列号的数据块缺失,所以本发明全局位图并不包括v_q指示的接收状况,这点与通用协议不同,可节省一比特承载;本发明还规定起始色码对应相应游程长度的编码比特与压缩首字节的最低位开始一一对应。
(2)获取可用于存储位图的最大承载比特N1。
(3)根据消息形式,可获取用于存储LENGTH字段的比特长度N2。
(4)确定起始色码,起始色码取决于序列号v_q+1数据块的接收状况。如果缺失该数据块,那么起始色码设置为0,反之,起始色码设置为1。
(5)记录色码游程,交替进行,根据表ITU-T Recommendation T.4(用于表示1个0和3个0的游程长度的码字相互交换)进行压缩。对应于CRBB生成单元(1)中所述,本专利压缩起始从SSN+1开始执行。在此过程中,记录压缩后总长度。压缩后总长度N3在压缩过程中不断增加,与可用于存储位图的最大承载BIT有以下几种关系:
a)如果压缩完毕后,压缩BIT长度N3小于可用于存储压缩位图的BIT长度N1,并且二者之间长度之差N4大于等于用于LENGTH字段存储的BIT长度N2,那么判定压缩增益,如果压缩增益大于1,将压缩后位图直接写入状态报告,传送至对端,转至步骤(7)。
b)如果压缩完毕后,压缩BIT长度N3等于可用于存储压缩位图的比特长度N1,那么判定压缩增益,如果压缩增益大于1,将压缩后位图直接写入状态报告,传送至对端,转至步骤(7)。
c)如果压缩完毕后,压缩BIT长度N3小于可用于存储压缩位图的BIT长度N1,但是二者之间BIT长度N4之差小于用于LENGTH字段存储的BIT长度N2,那么需要调用边界处理方法,转至步骤(6)。
d)如果压缩完毕或者在压缩过程中,压缩总长度BIT长度N3(压缩后总长度N3在压缩过程中不断增加)一旦大于可用于存储压缩位图的BIT长度N1,那么需要调用边界处理方法,转至步骤(6)。
(6)边界处理方法如图2所示,边界处理算法思想是:
a)如果满足CRBB生成单元中步骤(5)中的条件c),
那么需要按照压缩BIT生成顺序逆向回退长度为压缩过程的最后一个色码对应游程长度的压缩编码BIT长度色码对应游程长度的BIT长度N5。
计算回退后的可用压缩空间N6:
如果剩余BIT长度N6足够存储LENGTH字段存储的BIT长度N2,那么填充带有LENGTH字段的CRBB结构;
如果剩余BIT长度N6不足以存储LENGTH字段存储的BIT长度N2,那么按照(6)中a)所述,继续回退,直至满足剩余BIT长度N6足够存储LENGTH字段长度N2的条件。
b)如果满足CRBB生成单元中步骤(5)中的条件d),
那么需要按照压缩BIT生成顺序逆向回退长度为当前最后一个色码(当进行回退处理后,系统将倒数第二个色码指定为新的最后一个色码。即当前最后一个色码。)对应游程长度的BIT长度N5。
计算回退后剩余的可用压缩空间N6:
如果剩余BIT长度N6等于零,那么表明LENGTH字段不存在,更新后的压缩比特数(系统设置初始压缩后BIT长度为0,随着压缩的进行(色码0、1交替进行),压缩后BIT长度不断增加,当对某色码压缩后,导致压缩后BIT长度大于可用于存储压缩位图的BIT长度。)正好填满可用压缩空间N1,更新后压缩比特数=更新后压缩比特数=原压缩后BIT长度-某色码所对应游程长度的压缩编码的BIT长度。
如果剩余可用压缩空间N6大于零并且大于等于用于存储LENGTH字段长度的BIT长度N2,那么填充带有LENGTH字段的CRBB结构。
如果剩余可用压缩空间N6大于零并且小于用于存储LENGTH字段长度的BIT长度N2,那么需要按照压缩BIT生成顺序逆向回退长度为当前最后一个色码对应游程长度的BIT长度,计算回退后的可用压缩空间,如果剩余BIT长度N6足够存储LENGTH字段长度N2,那么填充带有LENGTH字段的CRBB结构。如果回退后的可用压缩空间不足以存储LENGTH字段存储的BIT长度,那么继续按照压缩BIT生成顺序逆向回退长度为当前最后一个色码对应游程长度的BIT长度,并计算回退后的可用压缩空间,直至满足可用压缩空间足够存储LENGTH字段存储的BIT长度。
(7)每一次压缩完成,都必须计算压缩增益,如果压缩增益大于1,才会将CRBB结构发送,否则,将填写未压缩位图URBB结构。
本专利发明的边界处理算法,对位图压缩与信道可承载比特的特殊情况进行处理,保证解压缩顺利进行,避免由于压缩解压缩不正确带来的RLC误重传问题。
3)CRBB解析单元
相应的,根据CRBB生成单元中的位图压缩,终端作为接收端时,需要进行位图解压缩。。位图压缩过程已经对压缩边界作出识别,简化了解压缩过程。具体步骤如下:
(1)获取起始序列号,该序列号对应的RLC数据块为需要重传的数据块,更新发送单元相应序列号的数据块标识。
(2)分别获取黑码与白码的最低比特阈值B1、W1。
(3)根据LENGTH字段是否存在,计算需要解压缩的长度:
当LENGTH字段存在,解压缩长度即为该字段所指示的长度;
当LENGTH字段不存在,表明解压缩空间将占用当前给定无线承载载荷减去消息其他IE结构后的剩余所有空间。
(4)读入压缩比特流,按照阈值获取相应比特流,查表ITU-T Recommendation T.4(用于表示1个0和3个0的游程长度的码字相互交换),进行解码。
(5)如果剩余需要解压缩的比特数目低于阈值B1或者W1(阈值由当前色码决定,本例取B1=9,W1=13),那么将剩余比特流全部读入,进行查表解码。
(6)根据解压后的位图比特流,更新RLC数据发送单元的协议参数以及相应与序列号的数据块标识,如果确认收到,那么删除该PDU,如果否认确认,那么该数据标识更新为需要重传。
对应于本压缩流程的位图解压缩流程,该流程中的黑码与白码的最低比特阈值B1、W1,可根据不同窗口大小,即生成全局位图最大比特数进行修改,相应的黑码与白码解压对照表也会得到相应缩减或增加,具有灵活性,节省硬件资源。
采用本专利的位图压缩方法,位图解压缩过程简化,避免由于边界不确定带来的误解压。
4)数据接收单元
数据接收单元负责接收RLC数据块,完成重组功能,向上层传递PDU。该单元根据所接收的序列号,进行RLC数据块的重复性检测、维护接收参数,当终端接收到来自基站的轮询,需要调用该单元参数生成相应位图结构,反映当前RLC数据接收情况。
本发明提出的重传方法所使用的位图压缩与解压缩系统可以很好的对位图压缩边界进行控制,简化解压缩流程,并且有效避免由于解压缩误解码出现的误重传判断,从而保证无线链路层对数据发送调度的有效性。这种RLC重传机制方法、系统,着力解决采用无损压缩算法的位图机制的边界界定问题,保证重传机制效率及准确度,避免由于位图压缩解压缩引起的重传误判,简化解压缩过程,提高传输效率。