CN101690070B - 健壮头标压缩中采用窗基最低有效位解码的方法及装置 - Google Patents
健壮头标压缩中采用窗基最低有效位解码的方法及装置 Download PDFInfo
- Publication number
- CN101690070B CN101690070B CN2007800535141A CN200780053514A CN101690070B CN 101690070 B CN101690070 B CN 101690070B CN 2007800535141 A CN2007800535141 A CN 2007800535141A CN 200780053514 A CN200780053514 A CN 200780053514A CN 101690070 B CN101690070 B CN 101690070B
- Authority
- CN
- China
- Prior art keywords
- value
- low
- bit
- decode
- interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 230000006835 compression Effects 0.000 title claims abstract description 39
- 238000007906 compression Methods 0.000 title claims abstract description 39
- 230000006837 decompression Effects 0.000 claims abstract description 33
- 230000008439 repair process Effects 0.000 claims description 33
- 238000012795 verification Methods 0.000 claims description 29
- 230000000052 comparative effect Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 8
- 238000013467 fragmentation Methods 0.000 claims description 3
- 238000006062 fragmentation reaction Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 6
- 230000008859 change Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 12
- 238000006467 substitution reaction Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 235000021186 dishes Nutrition 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及通信技术,提出了一种通信网中采用ROHC方案压缩SN等域的解压缩方法,使得压缩效率得到提高。ROHC采用WLSB算法来压缩一些有规律变化的域,通过传送这些域的低位有效比特,并且利用解压缩方的关联信息来解码。为了避免采用低效的遍历方法和不正确的低位直接替换方法,本发明根据解释区间定义的数学特点,采用低位由接收到的k位有效比特决定,高位由本地存储信息和这k位有效比特共同决定的方法来解码。其解码方法可以应用于ROHC压缩中的SN、TS和IP-ID的解压缩。
Description
技术领域
本发明涉及通信技术,尤其涉及无线通信中在头标压缩后进行解压缩时的解码方法及装置。
背景技术
第三代移动通信(3rd Generation,简称“3G”)技术已经成为全球最关注的通信技术之一,作为一种新的通信技术,3G不仅支持传统的电路交换,同时还支持分组交换。而对于3G以后的一些技术,如B3G(Beyond 3G)和WiMax(Worldwide Interoperability for Microwave Access)等,都已经转向以分组交换为主,即主要支持互联协议IP(Internet Protocol,简称“IP”)技术。
对于语音等多媒体应用而言,IP技术可以带来成本的降低,但是按照传统的IP格式来传送语音,语音分组将承载在RTP(Real-time TransportProtocol,实时传输协议,简称“RTP”)和UDP(User Datagram Protocol,用户数据报协议,简称“UDP”)协议上,相对于语音数据净荷而言,RTP/UDP/IP报文有很大的头标开销,在IPv4(IP Version 4)中总共是40个字节,而在IPv6(IP Version 6)中则是60个字节,而实际上的语音净荷只有10多个字节,带宽利用率只有20%左右。这对于无线空口资源来说会带来很大的浪费,而通信运营商很大的运营成本则是来自购买无线频段的使用权,因此高额的无线频谱如果不能够高效率的使用,对于运营商盈利将十分不利。为此,Internet任务工作组(Internet Engineering Task Force,简称“IETF”)引入了健壮的头标压缩(Robust Header Compression,简称“ROHC”)技术,对RTP/UDP/IP头标进行压缩,来提高网络数据的传输效率。ROHC是一种基于IP的通用压缩技术,因此它可以应用在3G的任何一种标准,还可以应用在B3G和WiMax等后3G技术上,不仅可以应用在基站和用户终端,还可以应用在核心网段。ROHC最高可以将40字节的头标压缩至1个字节,使得实际的带宽利用率提高到90%以上。
ROHC协议的基本原理是对报文的每个头域进行分类,因为相邻分组在整个流的传输过程中有很多不变化的部分,如IP地址和UDP的端口号等,还有些是有规律的变化,如RTP头标的序列号SN(Sequence Number,简称“SN”)和时戳值TS(Timestamp,简称“TS”)等。ROHC协议将报文头标分为静态部分和动态部分,压缩方和解压缩方双方为每一个数据流保存一个上下文关联信息(Context),压缩方在第一次将发送完整的报文,解压缩方由此解压出静态信息和动态信息,在接下来压缩后的报文将不再包含原始报文的静态部分。
在空口部分主要变化的域有RTP头标的序列号SN、时戳TS和IP分片标识符IP-ID(IP Identifier,简称“IP-ID”),对于多媒体应用如VoIP,相邻包SN是加1增长的,对于TS,由于语音的采样值是固定的,并且每发送包的间隔也是固定的,因此其TS的增长也是固定的,设为一个步长值(TS-STRIDE),因此相邻包的TS也是固定增长为1个步长TS-STRIDE的单位;如果IP-ID的变化不是选取的随机增长方式,那么它在相邻包直接也是逐1增加的,这样TS和IP-ID的值其实都可以由SN直接推断出来。
ROHC主要采用WLSB(Window-Based Least Significant Bits,窗基最低有效位,简称“WLSB”)算法来压缩SN、TS和IP-ID,WLSB算法用于压缩那些改变很小的值,其基本思想是取用原始域值的低k比特来代替原始域值进行传输,在压缩和解压缩器的关联信息(Context)中保存域相对应的参考值,解压缩器根据这个参考值和事先协商好的一个平移值以及接收到的k个比特来恢复还原成原始域值。算法引入了解释区间(interpretationintervals)的概念来保证压缩和解压缩的正确性。解释区间定义了一个解码值的区间,压缩器依据一定的法则来选择需要发送的低k比特数,而解压缩器则在解释区间内寻找低k比特的值与接收到的k比特数相同的值作为解码值。
ROHC协议是基于RFC3095(Request For Comments,简称“RFC”)协议,RFC3095规定WLSB压缩算法根据接收方的参考值Ref,平移值p,接收到的k比特数m,来定义一个解释区间,解释区间的下限Low=Ref-p,上限High=Ref+(2^k-1)-p,其中“^”表示取指数。
解释区间是一个取值的范围,解码值必须落在解释区间以内,由解释区间的定义可以发现High=Low+(2^k-1),也就是上限High和下限Low与“1......1”(k个1)相加,因此如果下限的低k比特不为0,则上限在第k+1比特相对于下限Low将有一个进位,整个解释区间呈现以下一个规律:
当下限Low的低k比特为0时,下限Low和上限High的高位相同,并且整个解释区间的高位只有这一种情形;
当下限Low的低k比特不为0时,整个解释区间的高位只有两种情形,一种是和下限Low的高位相同,另一种与上限High的高位相同,因为存在一个进位,所以上限High的高位比下限Low的高位大1。
由上述可知,如果ROHC的解压缩器在解释区间内逐一寻找低k比特值与接收到的k比特值相等的值作为解码值,其解码效率明显低下,并且没有充分利用已有接收到的k比特和保存的参考值信息。解压缩器若是选择直接替换参考值的低k比特,则没有充分考虑到平移值和解释区间的定义,得到的解码值只有部分情况是正确的,解码的正确性得不到保证。因此,需要有一种解压缩的方法,充分考虑到平移值和解释区间的定义,利用接收的k低比特值和参考值,更全面高效的保证解码的正确性。
发明内容
本发明所要解决的技术问题在于,提供一种健壮头标压缩中采用窗基最低有效位解码的方法及装置,解决现有技术中采用遍历方式或者直接替换低k比特来确定解码值的方式造成的解码效率低下、解码的正确性得不到保证等缺点,在解码时实现高效正确的解码。
本发明提供一种健壮头标压缩中采用窗基最低有效位解码的方法,用于解压缩方对压缩方发送过来的参数域进行解码,包括如下步骤:
(1)解压缩方根据保留的上次成功解压的参数域值作为参考值、利用关联信息中的偏移量得到解释区间的上限和下限,确定解释区间;
(2)解压缩方根据根据从压缩方所接收到的k比特数m、以及所述解释区间的上限和/或下限确定解码值的高位,并以接收到的k比特数m作为低位与确定的高位一起组成解码值。
所述方法进一步包括:
(3)利用步骤(2)确定的解码值解码出完整的头标,并对头标进行校验,校验成功后向上层递交解码信息并更新关联信息。步骤(3)中,若校验失败,则调用修复算法进行修复处理,若修复成功则向上层递交解码信息并更新关联信息,若修复失败,则丢弃接收到的分组同时回送否定应答并回退到低一级压缩状态。
所述参数域是在健壮头标压缩ROHC协议中RTP/UDP/IP头标的序列号SN、或时戳TS、或IP分片标识符IP-ID。
进一步地,所述步骤(2)中确定解码值的高位的方式为:
以接收到的低k比特值m替换解释区间的一个端值的低k比特得到解码值,再判断该解码值是否在解码区间内,若在,则以该解码值为最终解码值,否则,以m替换解释区间的另一个端值的低k比特作为最终解码值,其中,所述端值为上限或下限:
端值为上限时,首先,选定解码值与解释区间的上限具有相同的高位;然后,以接收的k比特数m替换所选定的上限的低k比特值得到解码值;再比较解码值与上限的大小,根据比较结果判断解码值是否落在解释区间内,若落在解释区间内则以该解码值为最终解码值,若该解码值比上限大则选择下限的高位作为解码值的高位来组成最终解码值;
端值为下限时,首先,选定解码值与解释区间的下限具有相同的高位;然后,以接收的k比特数m替换所选定的下限的低k比特值得到解码值;再比较解码值与下限的大小,根据比较结果判断解码值是否落在解释区间内,若落在解释区间内则以该解码值为最终解码值,若该解码值比下限小则选择上限的高位作为解码值的高位来组成最终解码值。
进一步地,所述步骤(2)中确定解码值的高位的方式还可以为:
将接收的低k比特值m与解释区间一个端值的低k比特比较大小,根据比较结果来判断是选择该端值的高位还是选择另一端值的高位来作为解码值的高位,连同接收到的低k比特值m一起组成解码值,所述端值为上限或下限:
端值为下限时,首先,比较接收到的k比特数m与下限的低k比特值的大小;根据比较结果进行判断,若m大于或等于下限的低k比特值,则选择下限的高位作为解码值的高位,用接收到的k比特数m直接替换解释区间下限的低k比特值得到解码值;根据比较结果进行判断,若m小于下限的低k比特值,则选择上限的高位作为解码值的高位,用接收到的k比特数m直接替换解释区间上限的低k比特值得到解码值。
端值为上限时,首先,比较接收到的k比特数m与上限的低k比特值的大小;根据比较结果进行判断,若m小于或等于上限的低k比特值,则选择上限的高位作为解码值的高位,用接收到的k比特数m直接替换解释区间上限的低k比特值得到解码值;根据比较结果进行判断,若m大于上限的低k比特值,则选择下限的高位作为解码值的高位,用接收到的k比特数m直接替换解释区间下限的低k比特值得到解码值。
进一步地,所述步骤(2)中确定解码值的高位的方式还可以为:
选取一个端值作为基准值,计算这个基准值的低k比特和接收到的k比特数m的差值,然后用端值加上或者减去这个差值,所述端值为上限或下限。
端值为下限时,首先,计算接收到的k比特数m与下限的低k比特值的差值;然后,确定解码值等于解释区间下限和该差值的和。
端值为上限时,首先,计算上限的低k比特值减去接收到的k比特数m所得的差值;然后,确定解码值等于解释区间上限减去该差值。
进一步地,所述步骤(1)中上次成功解压的参数域值作为参考值Ref、利用关联信息Context中的偏移量p得到解释区间的上限和下限分别为:
解释区间的下限Low=Ref-p;
解释区间的上限High=Ref+(2^k-1)-p,其中“^”表示为取指数操作。
所述步骤(3)中对头标进行校验的方法为循环校验CRC方法。
本发明还提供基于上述解码方法的一种用于健壮头标压缩中采用窗基最低有效位解码的装置,包括:
解压缩模块,用于接收压缩的低k比特数m,根据获得的解码值进行解码得到完整的头标,根据本地参数确定解释区间上下限以及解释区间,解码时采用WLSB解码算法;
比较计算模块,用于进行比较计算,比较低k比特数m与上限或下限的低k比特的大小,比较解码值与上限或下限的大小,比较计算低k比特数m与上限或下限的低k比特的差值;
高位确定与替换模块,用于根据比较计算的结果判断确定高位,并通过替换低k比特数m来组成解码值;
其中,解压缩模块将接收到的低k比特数m和确定的解释区间上下限发送给比较计算模块进行比较计算,比较计算模块将比较的结果发送给高位确定与替换模块来确定高位并组成解码值,将解码值回送到解压缩模块来解码得到完整的头标。
所述解码装置还包括:
校验模块,用于对解压缩模块解码得到的头标进行校验,若校验成功,则向上层发送解码得到的信息,否则送至修复模块进行修复处理;
修复模块,用于调用修复算法对校验失败的解码值进行修复,若修复成功,则向上层发送解码得到的信息,否则回送失败应答,丢弃当前的分组,回退到低一级的压缩状态;
其中,解压缩模块将头标送至校验模块进行校验,校验失败后送至修复模块进行修复。
所述解码装置在确定高位时,采用如下方式:
高位确定与替换模块先以接收到的低k比特值m替换解释区间的一个端值的低k比特得到解码值;再将该解码值送至比较计算模块,判断该解码值是否在解码区间内,若在,高位确定与替换模块则以该解码值为最终解码值,否则,高位确定与替换模块以m替换解释区间的另一个端值的低k比特作为最终解码值,所述端值为上限或下限。
所述解码装置在确定高位时,采用如下方式:
比较计算模块将接收的低k比特值m与解释区间一个端值的低k比特比较大小;高位确定与替换模块根据比较结果来判断是选择该端值的高位还是选择另一端值的高位来作为解码值的高位,连同接收到的低k比特值m一起组成解码值,所述端值为上限或下限。
所述解码装置在确定高位时,采用如下方式:
比较计算模块选取一个端值作为基准值,计算这个基准值低k比特和接收到的k比特数m的差值,然后高位确定与替换模选用该端值加上或者减去这个差值,所述端值为上限或下限,为下限时相加,为上限相减。
解码算法是整个压缩和解压缩中的核心算法之一。在现有协议中,对于整个解码算法实际上并没有作出说明,是说明在解释区间内找到一个低k比特的值与接收到的k比特数相同的值就作为解码值,也没有说明解码的过程是相对于解释区间而言的。现有的一些解码方法是直接替换参考值Ref的,这种方法后来验证至少是不全面的、或者是错误的。而应用本发明所述的解码方法和解码装置,将解码值定义在解释区间两个端点(上限和下限)进行相应的比较或者替换是一种创新的解码方法,通过确定解码值的高位能够简单实现解码。这种方法在具体实现的时候确实非常简便,尤其是在代码实现过程中,避免了现有协议中的遍历方法,能够高效正确的实现解码。
附图概述
图1是在解码过程中出现的第k+1比特可能进位的示意图;
图2是先利用低位替换解释区间下限Low,然后再比较解码值与Low大小以决定是否平移的一种解码过程示意图;
图3是类似图2的一种先利用低位替换解释区间上限High,然后再比较解码值与High大小以决定是否平移的一种解码过程示意图;
图4是先比较接收到的k比特数m与解释区间下限Low的低k比特m_Low的大小,然后确定解码值的高位是选择解释区间上限还是下限的高位来解码的过程示意图;
图5是类似于图4的一种先比较接收到的k比特数m与解释区间上限High的低k比特m_High的大小,然后确定解码值的高位是选择解释区间上限还是下限的高位来解码的过程示意图;
图6是先选取下限值Low作为基准值,然后加上一个接收到的k比特数m与下限Low的低k比特数m_Low的差值(k比特运算)作为解码值的过程示意图,该方式中会自动调整高位等于下限Low的高位或者上限High的高位;
图7是类似与图6的先选取上限值High作为基准值,然后减去上限值High的低k比特m_High与接收到的k比特数m的差值(k比特运算)作为解码值的过程示意图;
图8是本发明实施例中一种用于在头标压缩后进行解压缩时的解码装置图。
本发明的较佳实施方式
为了比较详细的描述本发明,现结合附图加以说明。
本发明的核心在于如何确定解码值的高位,而解码值的高位可能存在与上限High的高位相等或与下限Low的高位相等两种情况。而上限High在第k+1比特恰好相对于下限Low有一个进位,图1即是对解释区间第k+1位可能出现进位的处理,图2,图4和图6分别就这种进位的情况以下限Low为基准值做出不同的解码处理,而图3,图5和图7则采用类似的以上限值High为基准值的解码方法。
如果利用定义解释区间的一些数学关系,可以一步运算就得到解码值,并且能够保证解码的全面性和正确性。有鉴于此,本发明将充分利用解释区间上下限和接收到的k比特的数值关系,提出一种高效的解码方法。
解释区间的下限Low=Ref-p,上限High=Ref+(2^k-1)-p,其中“^”表示取指数。定义一个域如SN的最高有效比特为MSB(MostSignificant Bit),低有效比特为LSB(Least Significant Bit)。对于16比特的SN而言,MSB=16,LSB=1。同样对于16比特的IP-ID,MSB=16,LSB=1;32比特的TS的MSB=32,LSB=1。
本发明以对SN的解码为例,IP-ID和TS的解码有着类似的方法,并且定义从LSB到第k比特为低k比特,定义第k+1比特到MSB为高位,定义解释区间下限Low的低k比特值为m_Low,定义解释区间上限High的低k比特值为m_High。
解释区间是一个取值的范围,解码值必须落在解释区间以内,由解释区间的定义可以发现High=Low+(2^k-1),也就是上限High和下限Low与“1......1”(k个1)相加,因此如果下限的低k比特不为0,则上限在第k+1比特相对于下限Low将有一个进位,整个解释区间呈现以下一个规律:
当下限Low的低k比特为0时,下限Low和上限High的高位相同,并且整个解释区间的高位只有这一种情形;
而当下限Low的低k比特不为0时时,整个解释区间的高位只有两种,一种是和下限Low的高位相同,另一种与上限High的高位相同,因为存在一个进位,所以上限High的高位比下限Low的高位大1。
解释区间的下限呈现两种情况,当解码值的高位与下限Low的高位相同时,低k比特的取值为『m_Low,2^k-1』,其中m_Low是下限Low的低k比特值;与上限High的高位相同的解码值,其低k比特的取值范围『0,m_High』,其中m_High为上限High的低k比特值。
因为有High=Low+(2^k-1),所以在m_Low不为0时,m_High=m_Low-1。同理也可以得到如果解码值的低k比特的值在区间『m_Low,2^k-1』以内,则解码值的高位与下限Low的高位相同,如果在区间『0,m_High』以内,则解码值的高位与上限High的高位相同。
由上所述可知,解压缩器通过接收到的k比特值m来解码,最主要的是来确定高位的值,如果解释区间下限Low的低k比特为0,则高位的选取只有一种情况。如果不为0,则解压缩器必须确定解码值的高位是与下限Low的高位相同还是与上限High的高位相同,否则解码就会出错。
本发明中确定高位的方法有:
(1)以接收到的低k比特值m替换解释区间的一个端值的低k比特得到解码值,再判断该解码值是否在解码区间内,若在,则以该解码值为最终解码值,否则,以m替换解释区间的另一个端值的低k比特作为最终解码值。
例如,如果首先选定高位与下限Low相同,简单替换低位后,再比较解码值与下限Low的大小,如果解码值比下限小,不落在解释区间内,则选择上限High的高位作为解码值的高位;
(2)将接收的低k比特值m与解释区间一个端值的低k比特比较大小,根据比较结果来判断是选择该端值的高位还是选择另一端值的高位来作为解码值的高位,连同接收到的低k比特值m一起组成解码值。
例如,如果在选择高位之前先比较接收到的k比特值与下限Low的低k比特值的大小,则当低k比特值『m_Low,2^k-1』范围之内,选择其高位与下限Low的高位相同,否则选择高位与上限High的高位相同;
(3)选取一个端点值作为基准值,计算这个基准值低k比特和接收到的k比特数m的差值,然后用端点值加上或者减去这个差值(下限Low为加,上限High为减)。
这个分为两种情况:第一如果选择的基准值是下限值Low,则这个差值是k比特数m减去下限值Low的低k比特数m_Low,然后解码值是下限值Low加上这个差值。如果选择的基准值是上限High,则这个差值是上限值的低k比特数m_High减去接收到的k比特数m,然后解码值是上限值High减去这个差值。这里计算差值时相减的顺序不一样,最后端值加上或者减去的是这个差值。
例如确定基准值为下限Low,然后加上一个接收到m与下限Low的低k比特m_Low的差(作k比特的减法运算),如果m比m_Low大,会直接取下限Low的高位,如果比m_Low小,则因为是做k比特的数学计算,因此实际运算中会添加一个2^k,而上限值High的高位就是在第k+1比特相对于下限Low有一个进位,这样恰好将高位调整到等于上限值的高位而得到正确的解码值。
以上确定高位的示例中只选取了下限值Low作为参考值,实际上选择上限值High作为参考值同样也可以利用类似的方法确定高位。
所述高位是指除了低k比特之外其余的比特,而高位的选择可能有两种情况,与下限Low的高位相同或者是与上限的高位相同,因此解码的核心就是比较(与接收到的k比特数m比较)、替换(根据比较结果来决定是替换Low或者High的低位,这种替换也就是如何确定高位,因为如果选择替换Low的低k比特,那么就意味着解码值的高位选择和下限Low的高位相同,对于上限替换的情况也是同一道理),或者是反过来先替换再比较也可以。
图1中,根据解释区间的定义,解释区间上限High=Low+(2^k-1),因此解码值的低k比特由接收到的k比特数决定,解码值的高位(第k+1比特到最高有效比特MSB)的取值只有两种情况:一种是和解释区间下限Low的高位相同,另一种是和解释区间上限High的高位相同。解码值的高位与解释区间下限Low的高位相同时,解码值的低k比特取值范围为『m_Low,2^k-1』;而解码值的高位与上限High的高位相同时,解码值的低k比特取值范围为『0,m_High』,即『0,m_Low-1』(当m_Low不为0时)。因此,通过比较接收的k比特数m与解释区间下限Low的低k比特数m_Low的大小,就可以判断该解码值的高位。同理比较接收的k比特数m与解释区间上限High的低k比特数m_High的大小,也可以判断得到解码值的高位。如果解释区间的下限Low低k比特为0,则整个解释区间的高位是相同,解码出来解码值的高位和下限Low或者上限High的高位相同。
High=Low+(2^k-1),如果下限Low的低k比特不为0,则上限High的值在第k+1比特会比下限值Low进一位,即在第k+1比特上加上1,与解释区间下限Low的第k+1比特到最高有效比特MSB相同的低k比特取值范围为『m_Low,2^k-1』,而与上限High高位相同的低k比特取值范围为『0,m_High』,即为『0,m_Low-1』
第一实施例
图2是先替换解释区间下限Low的低位,然后再比较解码值与下限Low的大小,从而来决定是否平移的解码流程图:
步骤201,解压方根据RFC3095协议规则,将保留的上次成功解压的SN作为参考值Ref,利用关联信息Context中的偏移量p,以及所接收到的压缩后的k比特数m,准备初始化计算解释区间;
步骤202,解压方根据协议RFC3095确立解释区间,计算解释区间下限Low=Ref-p,上限High=Ref+(2^k-1)-p,其中“^”表示为取指数操作;
步骤203,直接用接收到的k个比特替换解释区间下限Low的低k比特。
其中,如图1所示,整个解释区间在解释区间下限Low的低k比特不为0的情况下,高位(第k+1比特到最高有效比特MSB)只有两种情况:一种是和解释区间下限Low的高位相同;另一种是和解释区间上限High的高位相同,简单的替换Low的低k比特只是默认了解码值的高位和解释区间下限Low的高位相等的情况,很明显这样的解码是不够全面的。因此必须进一步判断解码值的高位选取是否合适;
步骤204,判断步骤203中解码出来的解码值Value是否小于解释区间的下限Low,如果是,则说明解码值不在解释区间(即解码出错),执行步骤205,否则跳转至步骤206;
步骤205,因为解码出来的解码值Value<Low,说明解码值不在解释区间内,需要重新调整,因此执行Value=Value+2^k,即将解码值向前调整2^k个单位,其中“^”表示为取指数操作。
图1已经说明了解释区间内所有值的高位(第k+1比特到最高有效位MSB)只与下限Low或者上限High的高位相同,并且只有这两种情况,其中High的高位只是在第k+1比特上比Low可能存在一个进位(在Low的低k比特为0时除外,但是为0时不会出现Value<Low的情况),因此如果采用下限Low的高位作为解码值的高位不正确,则需要将这个值的第k+1比特填上一个进位,使得它的高位和上限High的高位相等,即在原来的解码值Value的基础上加上一个2^k,即Value=Value+2^k;
步骤206,将Value作为解码值,并解码出完整的头标;
步骤207,将头标做CRC校验,如果CRC校验成功,则转至步骤209;如果CRC校验失败,则进行修复处理,转至步骤208;
步骤208,如果解码失败则调用修复算法进行修复处理,如果修复成功,则转至步骤209;否则转至步骤210;
步骤209,解码值正确,解压缩器将信息递交给高层,然后更新关联信息context;
步骤210,解码失败,修复也失败,解压缩器丢弃接收到的分组,同时回送否定应答,并回退到低一级压缩状态。
第二实施例
图3是先替换解释区间上限High的低位,然后再比较解码值与上限High的大小,从而决定是否平移的解码流程图,其流程与图2类似:
步骤301,解压方根据协议RFC3095协议规则,将保留上次成功解压的SN作为参考值Ref,利用关联信息Context中的偏移量p,以及所接收到的压缩后的k比特数m,准备初始化解释区间;
步骤302,解压方根据协议RFC3095确立解释区间,计算解释区间下限Low=Ref-p,上限High=Ref+(2^k-1)-p,其中“^”表示为取指数操作;
步骤303,直接用接收到的k个比特替换解释区间上限High的低k比特。
其中,如图1所示,整个解释区间在解释区间下限Low的低k比特不为0的情况下,高位(第k+1比特到最高有效比特MSB)只有两种情况:一种是和Low的高位相同,另一种是和High的高位相同。简单的替换High的低k比特只是默认解码值的高位和解释区间的上限High的高位相等,这样解码是不够全面的。因此必须判断解码值的高位选取是否合适;
步骤304,判断步骤303中解码出来的解码值Value是否大于解释区间的上限High,如果是,则执行步骤305,否则跳转至步骤306;
步骤305,因为解码出来的解码值Value>High,说明解码值不在解释区间内,解码错误,需要重新调整,因此执行Value=Value-2^k,即将解码值向后调整2^k个单位。
图1已经说明了解释区间内所有值的高位(第k+1比特到最高有效位MSB)只与下限Low的或者上限High的高位相同,并且只有这两种情况,其中上限High的高位只是在第k+1比特上与下限Low可能存在一个进位(在Low的低k比特为0时除外,但是为0时不会出现Value>High的情况),因此,如果采用上限High的高位作为解码值的高位进行解码得到的解码值不正确,需要将这个值的第k+1比特减去一个进位,使得解码值Value的高位和Low的高位相等,即在原来的解码值Value基础上减去一个2^k,即Value=Value-2^k;
步骤306,将Value作为解码值,并解码出完整的头标;
步骤307,将头标做CRC校验,如果CRC校验成功,则转至步骤309;CRC校验失败,则进行修复处理,转至步骤308;
步骤308,如果解码失败则调用修复算法进行修复处理,如果修复成功,则转至步骤309;否则转至步骤310;
步骤309,解码值正确,解压缩器将信息递交给高层,然后更新关联信息context;
步骤310,解码失败,修复也失败,解压缩器丢弃接收到的分组,同时回送否定应答,并回退到低一级压缩状态。
第三实施例
图4是先比较接收到的k比特数m与解释区间下限Low的低k比特的大小后,再选择高位的解码流程:
步骤401,解压方根据协议RFC3095协议规则,将保留的上次成功解压的SN作为参考值Ref,利用关联信息Context中的偏移量p,以及接收到压缩后的k比特数m,准备初始化解释区间;
步骤402,解压方根据协议RFC3095确立解释区间,计算解释区间下限Low=Ref-p,上限High=Ref+(2^k-1)-p,其中“^”表示为取指数操作;
步骤403,比较m与解释区间下限Low的低k比特值的大小。
其中,由图1所示可知,整个解释区间的高位选择至多只有两种情况:一种是和解释区间下限Low的高位相同,另一种是与解释区间上限High的高位相同,与Low的高位相同时,低k位的取值区间是『m_Low,2^k-1』,其中m_Low指的是下限Low的低k比特数值,即当接收到的k比特数m大于或者等于m_Low时,其高位与Low的高位相同,否则其高位将与High的高位相同。简单的替换Low的低k比特m_Low为m,只是默认解码值的高位和解释区间的下限的高位相等,这样解码是不够全面的。因此必须判断解码值的高位选取是否合适;
步骤404,如果m的值大于等于下限的低k比特值m_Low,则用k比特值m直接替换解释区间下限Low的低k比特,否则用k比特值m直接替换解释区间上限High的低k比特得到解码值。如果解释区间下限Low的低k比特为0,则因为接收到的k比特值m一定是大于或者等于0,直接替换就可以得到解码值。所以先比较后替换的方法对所有可能的解码情况都适用;其中,根据判断结果,用接收到的k比特值m替换Low或High的低k比特,如果是替换了Low的低k比特,那么其高位就是选择和Low的高位相同,替换High的低k比特也是一样的,就是选择和High的高位相同,这样就可以得到了一个完整的解码值。
步骤405,将Value作为解码值,并解码出完整的头标;
步骤406,将头标做CRC校验,如果CRC校验成功,则转至步骤408;CRC校验失败,则进行修复处理,转至步骤407;
步骤407,如果解码失败则调用修复算法,如果修复成功,则转至步骤408;否则转至步骤409;
步骤408,解码值正确,解压缩器将信息递交给高层,然后更新关联信息context;
步骤409,解码失败,修复也失败,解压缩器丢弃接收到的分组,同时回送否定应答,并回退到一级压缩状态。
第四实施例
图5是先比较接到的k比特数m与解释区间上限High的低k比特大小之后,再选择高位的解码流程,其过程与图4所示流程类似:
步骤501,解压方根据协议RFC3095协议规则,将保留的上次成功解压的SN作为参考值Ref,利用关联信息Context中的偏移量p,以及接收到压缩后的k比特数m,准备初始化解释区间;
步骤502,解压方根据协议RFC3095确立解释区间,计算解释区间下限Low=Ref-p,上限High=Ref+(2^k-1)-p,其中“^”表示为取指数操作;
步骤503,比较m与解释区间上限High的低k比特值的大小。
由图1所示可知,整个解释区间的高位选择至多只有两种情况:一种是和解释区间下限Low的高位相同,另一种是与解释区间上限High的高位相同。与下限Low的高位相同时,低k位的取值区间是『m_Low,2^k-1』,其中m_Low指的是下限Low的低k比特数值,即当接收到的k比特数m大于或者等于m_Low时,其高位与下限Low的高位相同,否则其高位将与上限High的高位相同。简单的替换下限Low的低k比特只是默认解码值的高位和解释区间的下限Low的高位相等,这样解码是不够全面的。同样,如果简单的替换上限High的低k比特也是默认解码值的高位和上限相同,解码也是不够全面的。因此必须判断解码值的高位选取是否合适;
步骤504,如果m的值小于等于上限High的低k比特值m_High,则用k比特值m直接替换解释区间上限High的低k比特作为解码值,否则用k比特值m直接替换解释区间下限Low的低k比特作为解码值。如果解释区间下限Low的低k比特为0,则因为接收到的k比特值m一定是大于或者等于0,直接替换就可以得到解码值。所以先比较后替换的方法对所有可能的解码情况都适用;
步骤505,将Value作为解码值,并解码出完整的头标;
步骤506,将头标做CRC校验,如果CRC校验成功,则转至步骤508;CRC校验失败,则进行修复处理,转至步骤507;
步骤507,如果解码失败则调用修复算法进行修复处理,如果修复成功,则转至步骤508;否则转至步骤509;
步骤508,解码值正确,解压缩器将信息递交给高层,然后更新关联信息context;
步骤509,解码失败,修复也失败,解压缩器丢弃接收到的分组,同时回送否定应答,并回退到低一级压缩状态。
第五实施例:
图6是先选取解码区间的下限值Low作为基准值,然后加上一个接收到的k比特数m与下限Low的低k比特数m_Low的差值(k比特运算)作为解码值的流程:
步骤601,解压方根据协议RFC3095协议规则,将保留的上次成功解压的SN作为参考值Ref,利用关联信息Context中的偏移量p,以及接收到压缩后的k比特数m,准备初始化解释区间;
步骤602,解压方根据协议RFC3095确立解释区间,计算解释区间下限Low=Ref-p,上限High=Ref+(2^k-1)-p,其中“^”表示为取指数操作;
步骤603,计算接收到的k比特值m与下限Low的低k比特的差值,这个计算仅仅限于k比特值的计算,如果m比下限Low的低k比特值小,则会得到一个借位,相当于使m增加了一个2^k大小;
步骤604,解码值Value等于解释区间下限Low和这个差值的和。
如果解压缩的值的高位与解释区间下限Low的高位相同,即m的值在区间『m_Low,2^k-1』内,这样得到的m与Low低k比特的差值将是一个正值,不会产生借位信息,只是简单地替换掉Low的低k比特作为解码值。否则如果解压缩的值的高位与解释区间上限High的高位相同,即m的值在区间『0,m_High』内,又m_High=m_Low-1,因此m比Low的低k比特值要小,必须向第k+1比特借位,即相当于加上2^k得到一个解码值Value,这个值即将解码值的高位调整到与上限High相等,从而得到正确的解码值。
步骤605,将Value作为解码值,并解码出完整的头标;
步骤606,将头标做CRC校验,如果CRC校验成功,则转至步骤608;CRC校验失败,则进行修复处理,转至步骤607;
步骤607,如果解码失败则调用修复算法,如果修复成功,则转至步骤608;否则转至步骤609;
步骤608,解码值正确,解压缩器将信息递交给高层,然后更新关联信息context;
步骤609,解码失败,修复也失败,解压缩器丢弃接收到的分组,同时回送否定应答,并回退到低一级压缩状态。
第六实施例
图7是先选取解码区间的上限值High作为基准值,然后减去一个上限High的低k比特数m_High与接收到的k比特数m的差值(k比特运算)作为解码值的流程,与图6类似。
步骤701,解压方根据协议RFC3095协议规则,将保留上次成功解压的SN作为参考值Ref,利用关联信息Context中的偏移量p,以及接收到压缩后的k比特数m,准备初始化解释区间;
步骤702,解压方根据协议RFC3095确立解释区间,计算解释区间下限Low=Ref-p,上限High=Ref+(2^k-1)-p,其中“^”表示为取指数操作;
步骤703,计算解释区间上限High的低k比特值与收到的k比特值m的差值,这个计算仅仅限于k比特值的计算,如果High的低k比特值比m小,则会得到一个借位;
步骤704,解码值Value等于解释区间上限High和这个差值的差。
如果解压缩的值的高位与解释区间上限High的高位相同,即m的值在区间『0,m_High』内,这样得到的m与High低k比特的差值将是一个正值,不会产生借位信息,只是简单地替换掉High的低k比特作为解码值。否则如果解压缩的值的高位与解释区间下限Low的高位相同,即m的值在区间『m_Low,2^k-1』内,又m_High=m_Low-1,因此High的低k比特要比m小,必须向第k+1比特借位,即相当于在High的基础上减去2^k得到一个解码值Value,这个值即将解码值的高位调整到与下限Low相等,从而得到正确的解码值。
步骤705,将Value作为解码值,并解码出完整的头标;
步骤706,将头标做CRC校验,如果CRC校验成功,则转至步骤708;CRC校验失败,则进行修复处理,转至步骤707;
步骤707,如果解码失败则调用修复算法,如果修复成功,则转至步骤708;否则转至步骤709;
步骤708,解码值正确,解压缩器将信息递交给高层,然后更新关联信息context;
步骤709,解码失败,修复也失败,解压缩器丢弃接收到的分组,同时回送否定应答,并回退到低一级压缩状态。
本发明针对上述具体的解码方法,还可以提供一种用于健壮头标压缩中采用窗基最低有效位解码的装置,如图8所示,该装置包括:
解压缩模块,用于接收压缩的低k比特数m,根据获得的解码值进行解码得到完整的头标,根据本地参数确定解释区间上下限以及解释区间,解码时采用WLSB解码算法。
比较计算模块,用于进行比较计算,比较低k比特数m与上限或下限的低k比特的大小,比较解码值与上限或下限的大小,比较计算低k比特数m与上限或下限的低k比特的差值。
高位确定与替换模块,用于根据比较计算的结果判断确定高位,并通过替换低k比特数m来组成解码值。
还包括校验模块,用于对解压缩模块解码得到的头标进行校验,若校验成功,则向上层发送解码得到的信息,否则送至修复模块进行修复处理。
还包括修复模块,用于调用修复算法对校验失败的解码值进行修复,若修复成功,则向上层发送解码得到的信息,否则回送失败应答,丢弃当前的分组,回退到低一级的压缩状态。
解压缩模块将接收到的低k比特数m和确定的解释区间上下限发送给比较计算模块进行比较计算,比较计算模块将比较的结果发送给高位确定与替换模块来确定高位并组成解码值,将解码值回送到解压缩模块来解码得到完整的头标,解压缩模块将头标送至校验模块进行校验,校验失败后送至修复模块进行修复。
本发明中用于健壮头标压缩中采用窗基最低有效位解码的装置在确定高位时,可采用如下方式:
(1)高位确定与替换模块先以接收到的低k比特值m替换解释区间的一个端值的低k比特得到解码值;再将该解码值送至比较计算模块,判断该解码值是否在解码区间内,若在,高位确定与替换模块则以该解码值为最终解码值,否则,高位确定与替换模块以m替换解释区间的另一个端值的低k比特作为最终解码值。
例如,如果首先选定高位与下限Low相同,简单替换低位后,再比较解码值与下限Low的大小,如果解码值比下限小,不落在解释区间内,则选择上限High的高位作为解码值的高位;
(2)比较计算模块将接收的低k比特值m与解释区间一个端值的低k比特比较大小;高位确定与替换模块根据比较结果来判断是选择该端值的高位还是选择另一端值的高位来作为解码值的高位,连同接收到的低k比特值m一起组成解码值。
例如,如果在选择高位之前,先由比较计算模块比较接收到的k比特值m与下限Low的低k比特值的大小,则当低k比特值在『m_Low,2^k-1』范围之内,高位确定与替换模选择其高位与下限Low的高位相同,否则选择高位与上限High的高位相同;
(3)比较计算模块选取一个端点值作为基准值,计算这个基准值低k比特和接收到的k比特数m的差值,然后高位确定与替换模选用该端点值加上或者减去这个差值(下限Low为加,上限High为减)。
例如若比较计算模块选定下限Low为基准值,然后加上一个接收到的m与下限Low的低k比特m_Low的差(作k比特的减法运算),如果m比m_Low大,会直接取下限Low的高位,如果比m_Low小,则因为是做k比特的数学计算,因此实际运算中会添加一个2^k,而上限值High的高位就是在第k+1比特相对于下限Low有一个进位,这样恰好自动将高位调整到等于上限值的高位而得到正确的解码值。
以上确定高位的示例中只选取了下限值Low作为参考值,实际上选择上限值High作为参考值同样也可以利用类似的方法确定高位。
所述高位是指除了低k比特之外其余的比特,而高位的选择可能有两种情况,与下限Low的高位相同或者是与上限的高位相同,因此解码的核心就是比较(与接收到的k比特数m比较)、替换(根据比较结果来决定是替换Low或者High的低位,这种替换也就是如何确定高位,因为如果选择替换Low的低k比特,那么就意味着高位选择和Low相同),或者是反过来先替换再比较也可以。
上述实施例第一至六的解码方法同样也适用于在本发明所述的解码装置上使用。
在现有协议中,对于整个解码算法实际上并没有作出说明,也没有说解码的过程是相对于解释区间而言的,现有的一些解码方法是直接替换参考值Ref的,这种方法后来验证至少是不全面的、或者是错误的。本发明中将解码值定义在解释区间两个端点(上限和下限)进行相应的比较或者替换是一种创新的解码方法。这种方法在具体实现的时候确实很简单,尤其是在代码实现过程中,而且避免了协议说明的遍历方法(协议只是说明在解释区间内找到一个低k比特的值与接收到的k比特数相同的值就作为解码值),并且解码算法是整个压缩和解压缩中的核心算法之一,但目前能够简单实现解码的方法不多。
本发明以上各个实施例中,WLSB解码算法都是以SN为例来解码,其余如IP-ID和TS域的解码流程和算法与此方法类似,可参照实施例一至六的实施方式对IP-ID和TS域进行解码。这种变换对本领域技术人员是显而易见的,由此得到的各个技术方案也是本发明的保护范围。
工业实用性
本发明适用于移动通信技术领域,本发明公开的一种通信网中采用ROHC方案压缩SN等域的解码装置及方法,ROHC采用WLSB算法来压缩一些有规律变化的域,通过传送这些域的低位有效比特,并且利用解压缩方的关联信息来解码。避免了采用低效的遍历方法和不正确的低位直接替换方法,本发明根据解释区间定义的数学特点,采用低位由接收到的k位有效比特决定,高位由本地存储信息和这k位有效比特共同决定的方法来解码。其解码方法可以应用于ROHC压缩中的SN、TS和IP-ID的解压缩。
Claims (20)
1.一种健壮头标压缩中采用窗基最低有效位解码的方法,用于解压缩方对压缩方发送过来的参数域进行解码,其特征在于,包括如下步骤:
(1)解压缩方根据保留的上次成功解压的参数域值作为参考值、利用关联信息中的偏移量得到解释区间的上限和下限,确定解释区间;
(2)解压缩方通过比较从压缩方所接收到的低k比特数m与所述解释区间的上限或下限的低k比特的大小,或者比较以低k比特数m替换上限或下限的低k比特得到的解码值与上限或下限的大小,或者比较计算低k比特数m与上限或下限的低k比特的差值,来确定解码值的高位,并以接收到的k比特数m作为低位与确定的高位一起组成解码值。
2.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
(3)利用步骤(2)确定的解码值解码出完整的头标,并对头标进行校验,校验成功后向上层递交解码信息并更新关联信息。
3.如权利要求2所述的方法,其特征在于,所述方法进一步包括:
步骤(3)中,若校验失败,则调用修复算法进行修复处理,若修复成功则向上层递交解码信息并更新关联信息,若修复失败,则丢弃接收到的分组同时回送否定应答并回退到低一级压缩状态。
4.如权利要求3所述的方法,其特征在于,所述参数域是在健壮头标压缩ROHC协议中RTP/UDP/IP头标的序列号SN、或时戳TS、或IP分片标识符IP-ID。
5.如权利要求4所述的方法,其特征在于,所述步骤(2)中确定解码值的高位的方式为:
以接收到的低k比特值m替换解释区间的一个端值的低k比特得到解码值,再判断该解码值是否在解码区间内,若在,则以该解码值为最终解码值,否则,以m替换解释区间的另一个端值的低k比特作为最终解码值,其中,所述端值为上限或下限。
6.如权利要求5所述的方法,其特征在于,所述步骤(2)中确定解码值的高位步骤包括:
首先,选定解码值与解释区间的上限具有相同的高位;
然后,以接收的k比特数m替换所选定的上限的低k比特值得到解码值;
再比较解码值与上限的大小,根据比较结果判断解码值是否落在解释区间内,若落在解释区间内则以该解码值为最终解码值,若该解码值比上限大则选择下限的高位作为解码值的高位来组成最终解码值。
7.如权利要求5所述的方法,其特征在于,所述步骤(2)中确定解码值的高位步骤包括:
首先,选定解码值与解释区间的下限具有相同的高位;
然后,以接收的k比特数m替换所选定的下限的低k比特值得到解码值;
再比较解码值与下限的大小,根据比较结果判断解码值是否落在解释区间内,若落在解释区间内则以该解码值为最终解码值,若该解码值比下限小则选择上限的高位作为解码值的高位来组成最终解码值。
8.如权利要求4所述的方法,其特征在于,所述步骤(2)中确定解码值的高位的方式为:
将接收的低k比特值m与解释区间一个端值的低k比特比较大小,根据比较结果来判断是选择该端值的高位还是选择另一端值的高位来作为解码值的高位,连同接收到的低k比特值m一起组成解码值,所述端值为上限或下限。
9.如权利要求8所述的方法,其特征在于,所述步骤(2)中确定解码值的高位步骤包括:
首先,比较接收到的k比特数m与下限的低k比特值的大小;
根据比较结果进行判断,若m大于或等于下限的低k比特值,则选择下限的高位作为解码值的高位,用接收到的k比特数m直接替换解释区间下限的低k比特值得到解码值;
根据比较结果进行判断,若m小于下限的低k比特值,则选择上限的高位作为解码值的高位,用接收到的k比特数m直接替换解释区间上限的低k比特值得到解码值。
10.如权利要求8所述的方法,其特征在于,所述步骤(2)中确定解码值的高位步骤包括:
首先,比较接收到的k比特数m与上限的低k比特值的大小;
根据比较结果进行判断,若m小于或等于上限的低k比特值,则选择上限的高位作为解码值的高位,用接收到的k比特数m直接替换解释区间上限的低k比特值得到解码值;
根据比较结果进行判断,若m大于上限的低k比特值,则选择下限的高位作为解码值的高位,用接收到的k比特数m直接替换解释区间下限的低k比特值得到解码值。
11.如权利要求4所述的方法,其特征在于,所述步骤(2)中确定解码值的高位的方式为:
选取一个端值作为基准值,计算这个基准值的低k比特和接收到的k比特数m的差值,然后用端值加上或者减去这个差值,所述端值为上限或下限。
12.如权利要求11所述的方法,其特征在于,所述步骤(2)中确定解码值的高位步骤包括:
首先,计算接收到的k比特数m与下限的低k比特值的差值;
然后,确定解码值等于解释区间下限和该差值的和。
13.如权利要求11所述的方法,其特征在于,所述步骤(2)中确定解码值的高位步骤包括:
首先,计算上限的低k比特值减去接收到的k比特数m所得的差值;
然后,确定解码值等于解释区间上限减去该差值。
14.如权利要求1-13中任一项所述的方法,其特征在于,所述步骤(1)中上次成功解压的参数域值作为参考值Ref、利用关联信息Context中的偏移量p得到解释区间的上限和下限分别为:
解释区间的下限Low=Ref-p;
解释区间的上限High=Ref+(2^k-1)-p,其中“^”表示为取指数操作。
15.如权利要求2-13中任一项所述的方法,其特征在于,所述步骤(3)中对头标进行校验的方法为循环校验CRC方法。
16.基于权利要求1-4中任一项所述解码方法的一种用于健壮头标压缩中采用窗基最低有效位解码的装置,包括:
解压缩模块,用于接收压缩的低k比特数m,根据获得的解码值进行解码得到完整的头标,根据本地参数确定解释区间上下限以及解释区间,解码时采用WLSB解码算法;
比较计算模块,用于进行比较计算,比较低k比特数m与上限或下限的低k比特的大小,比较解码值与上限或下限的大小,比较计算低k比特数m与上限或下限的低k比特的差值;
高位确定与替换模块,用于根据比较计算的结果判断确定高位,并通过替换低k比特数m来组成解码值;
其中,解压缩模块将接收到的低k比特数m和确定的解释区间上下限发送给比较计算模块进行比较计算,比较计算模块将比较的结果发送给高位确定与替换模块来确定高位并组成解码值,将解码值回送到解压缩模块来解码得到完整的头标。
17.如权利要求16所述的装置,其特征在于,还包括:
校验模块,用于对解压缩模块解码得到的头标进行校验,若校验成功,则向上层发送解码得到的信息,否则送至修复模块进行修复处理;
修复模块,用于调用修复算法对校验失败的解码值进行修复,若修复成功,则向上层发送解码得到的信息,否则回送失败应答,丢弃当前的分组,回退到低一级的压缩状态;
其中,解压缩模块将头标送至校验模块进行校验,校验失败后送至修复模块进行修复。
18.如权利要求16所述的装置,其特征在于,所述解码装置在确定高位时,采用如下方式:
高位确定与替换模块先以接收到的低k比特值m替换解释区间的一个端值的低k比特得到解码值;再将该解码值送至比较计算模块,判断该解码值是否在解码区间内,若在,高位确定与替换模块则以该解码值为最终解码值,否则,高位确定与替换模块以m替换解释区间的另一个端值的低k比特作为最终解码值,所述端值为上限或下限。
19.如权利要求16所述的装置,其特征在于,所述解码装置在确定高位时,采用如下方式:
比较计算模块将接收的低k比特值m与解释区间一个端值的低k比特比较大小;高位确定与替换模块根据比较结果来判断是选择该端值的高位还是选择另一端值的高位来作为解码值的高位,连同接收到的低k比特值m一起组成解码值,所述端值为上限或下限。
20.如权利要求16所述的装置,其特征在于,所述解码装置在确定高位时,采用如下方式:
比较计算模块选取一个端值作为基准值,计算这个基准值低k比特和接收到的k比特数m的差值,然后高位确定与替换模块选用该端值加上或者减去这个差值,所述端值为上限或下限,为下限时相加,为上限相减。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2007/002629 WO2009030061A1 (fr) | 2007-09-03 | 2007-09-03 | Procédé et dispositif de décodage utilisant des bits de poids faible windows (wlsb) dans une compression d'en-tête robuste |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101690070A CN101690070A (zh) | 2010-03-31 |
CN101690070B true CN101690070B (zh) | 2012-11-28 |
Family
ID=40428417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800535141A Expired - Fee Related CN101690070B (zh) | 2007-09-03 | 2007-09-03 | 健壮头标压缩中采用窗基最低有效位解码的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8418037B2 (zh) |
EP (1) | EP2190162B1 (zh) |
CN (1) | CN101690070B (zh) |
WO (1) | WO2009030061A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010141677A1 (en) | 2009-06-03 | 2010-12-09 | Aware, Inc. | Reed-solomon erasure decoding with error detection for retransmission |
CN101707616B (zh) * | 2009-11-27 | 2013-11-06 | 中兴通讯股份有限公司 | 一种用户数据报协议数据包压缩、解压缩的方法及装置 |
US9357435B2 (en) * | 2013-11-06 | 2016-05-31 | Samsung Electronics Co., Ltd. | Method and system for handling audio packets during a volte call |
CN105591711B (zh) * | 2014-10-22 | 2019-12-03 | 中兴通讯股份有限公司 | 鲁棒性头压缩状态回迁的方法及压缩器 |
US10009401B2 (en) * | 2015-09-23 | 2018-06-26 | Qualcomm Incorporated | Call continuity in high uplink interference state |
US10037240B2 (en) * | 2015-09-24 | 2018-07-31 | Qualcomm Incorporated | Timestamp repair mechanism in case of decompression failure |
CN108781213B (zh) * | 2016-03-14 | 2020-08-14 | 华为技术有限公司 | 一种用于传输数据的方法、装置和系统 |
US10194348B2 (en) | 2016-05-27 | 2019-01-29 | Qualcomm Incorporated | Techniques and apparatuses for improved robust header compression (ROHC) decompression |
EP3529905B1 (en) * | 2016-11-17 | 2020-10-14 | Huawei Technologies Co., Ltd. | Radio frequency signal receiving device and signal processing device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002032084A2 (en) * | 2000-10-09 | 2002-04-18 | Nokia Corporation | Address de-registration from ip multimedia networks |
CN1507286A (zh) * | 2002-12-09 | 2004-06-23 | 中国科学技术大学 | 用于MIPv6的鲁棒性头标压缩/解压方法 |
CN1809052A (zh) * | 2005-01-19 | 2006-07-26 | 华为技术有限公司 | 一种分组数据协议上下文的激活方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE409793B (sv) * | 1977-12-30 | 1979-09-03 | Ericsson Telefon Ab L M | Sett for att vid overforing av pcm-information minska behovet av antalet overforda bitar samt anordning for utforande av settet |
FR2515901A1 (fr) * | 1981-11-04 | 1983-05-06 | Trt Telecom Radio Electr | Systeme de transmission mic-differentiel avec prediction adaptative |
JPS6385910A (ja) * | 1986-09-30 | 1988-04-16 | Toshiba Corp | デジタルサ−ボ装置 |
US5459465A (en) * | 1993-10-21 | 1995-10-17 | Comlinear Corporation | Sub-ranging analog-to-digital converter |
US7331013B2 (en) * | 2004-02-18 | 2008-02-12 | Nvidia Corporation | Viterbi decoder with survivor bits stored to support look-ahead addressing |
EP1773004A1 (en) * | 2005-10-10 | 2007-04-11 | Nec Technologies (UK) Limited | Header compression optimisation method during and after handovers in a cellular communication network |
-
2007
- 2007-09-03 EP EP07800846.3A patent/EP2190162B1/en active Active
- 2007-09-03 CN CN2007800535141A patent/CN101690070B/zh not_active Expired - Fee Related
- 2007-09-03 WO PCT/CN2007/002629 patent/WO2009030061A1/zh active Application Filing
- 2007-09-03 US US12/676,142 patent/US8418037B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002032084A2 (en) * | 2000-10-09 | 2002-04-18 | Nokia Corporation | Address de-registration from ip multimedia networks |
CN1507286A (zh) * | 2002-12-09 | 2004-06-23 | 中国科学技术大学 | 用于MIPv6的鲁棒性头标压缩/解压方法 |
CN1809052A (zh) * | 2005-01-19 | 2006-07-26 | 华为技术有限公司 | 一种分组数据协议上下文的激活方法 |
Non-Patent Citations (3)
Title |
---|
RFC.RObust Header Compression (ROHC): Corrections and Clarifications to RFC 3095.《RFC 4815》.2007, * |
RFC.RObust Header Compression (ROHC): Framework and four profiles: RTP, UDP, ESP, and uncompressed.《RFC 3095》.2001, * |
RFC.RObust Header Compression (ROHC): Terminology and Channel Mapping Examples.《RFC 3759》.2004, * |
Also Published As
Publication number | Publication date |
---|---|
EP2190162B1 (en) | 2020-02-12 |
EP2190162A1 (en) | 2010-05-26 |
WO2009030061A1 (fr) | 2009-03-12 |
CN101690070A (zh) | 2010-03-31 |
US20100205497A1 (en) | 2010-08-12 |
US8418037B2 (en) | 2013-04-09 |
EP2190162A4 (en) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101690070B (zh) | 健壮头标压缩中采用窗基最低有效位解码的方法及装置 | |
US8065437B2 (en) | Packet header compression system and method based upon a dynamic template creation | |
CA2644702C (en) | Methods and systems for enhancing local repair in robust header compression | |
US9154588B2 (en) | Backward looking robust header compression receiver | |
JP3967338B2 (ja) | 無線パケット転送装置 | |
US7647421B2 (en) | Extension header compression | |
US7907609B2 (en) | Method and apparatus for enhancing RoHC performance when encountering silence suppression | |
EP2472813B1 (en) | Method and device for user datagram protocol packet compression and decompression | |
CN101690072B (zh) | 一种健壮头标压缩中窗基最低有效位解码的修复方法 | |
US9866350B2 (en) | Streaming media packet processing method, WiFi chip, and mobile terminal | |
CN108737349B (zh) | 一种语音数据包的处理方法及装置 | |
CN108574684B (zh) | 一种解压缩的方法和装置 | |
CN102045311B (zh) | 一种鲁棒性头压缩状态迁移的方法及解压器 | |
CN101197823A (zh) | 在压缩/解压缩过程中传输解压缩信息的方法、系统及装置 | |
US20070217429A1 (en) | Method and apparatus for automatic power saving mode insertion when an unknown or an offensive receiver detected in a wireless access system | |
US7420971B2 (en) | Compression method for a byte stream in network protocols | |
CN103780342A (zh) | 基于增益控制的卫星链路质量自适应报头压缩方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121128 Termination date: 20200903 |