CN101193062B - 一种rohc压缩中ts值还原方法 - Google Patents
一种rohc压缩中ts值还原方法 Download PDFInfo
- Publication number
- CN101193062B CN101193062B CN2007101297528A CN200710129752A CN101193062B CN 101193062 B CN101193062 B CN 101193062B CN 2007101297528 A CN2007101297528 A CN 2007101297528A CN 200710129752 A CN200710129752 A CN 200710129752A CN 101193062 B CN101193062 B CN 101193062B
- Authority
- CN
- China
- Prior art keywords
- value
- upset
- time
- territory
- delta
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种ROHC压缩中TS值还原方法,包括:接收方根据本次与前次接收的TS消减值大幅变化检测TS域翻转;强制TS域翻转计算新的偏移量并在下一回再次检测到TS域翻转前持续保持;根据所述新的偏移量和对应时间区域接收的TS消减值还原TS值。这种方法可使***通过已存储信息恢复丢失在链路上、翻转时的关键原始TS信息,避免因此而导致的***向低级别压缩状态跃迁而降低压缩效率,保证压缩的可靠性和业务通信的质量,较现有技术提高了***的容错性和鲁棒性。
Description
技术领域
本发明涉及,具体涉及一种ROHC压缩中TS值还原方法。
背景技术
第三代移动通信3rd Generation,(简称3G)技术已经成为当今全球最受关注的通信技术之一,3G通信在支持线路交换的同时还支持分组交换,相对于传统的通信技术,而对于3G以后的一些技术,如:超3G***Beyond 3G(B3G)和微波存取全球互通***Worldwide Interoperability for MicrowaveAccess(简称WiMax)等,都已经转向以分组交换为主,即主要支持国际互联网协议InternetProtocol(简称IP)技术。
IP技术不仅可以提供丰富的多媒体服务,而且还能够带来成本的降低。但是在无线链路上按照IP格式来传送语音和视频信息时,因为语音和视频数据承载在实时协议Real Time Protocol(简称RTP)和用户数据报协议UserDatagram Protocol(简称UDP)协议上,相对于语音净荷而言,RTP/UDP/IP报文有很大的头标开销,这对于无线空口资源来说会带来很大的浪费。因此,Internet任务工作组Internet Engineering Task Force(简称IETF)引入了健壮的头标压缩Robust Header Compression(简称ROHC)技术,对RTP/UDP/IP头标进行压缩,来提高网络数据的传输效率。ROHC最高可以将40字节的头标压缩至1个字节,使得实际的带宽利用率从20%~30%提高到90%以上。
相对于其它业务而言,语音和视频属于周期性的业务流,有着固定的采样频率,IP电话Voice Over IP(简称VoIP)和其它视频流中相邻分组的时戳Timestamp(简称TS)有着固定的增长数值(步长TS-STRIDE),即相邻分组的TS值将相差一个TS-STRIDE大小。因此,ROHC采用发送削减后的TS值TS SCALED代替发送原始的TS,解压方根据协商好的步长值和已保存的相对于TS-STRIDE的偏移量就可以回复出原始的TS信息,这样就减少了需要传送比特的数目,从而达到压缩的目的,该过程具体是:
ROHC协议主要是基于Internet标准(草案)RFC3095(Request ForComment,简称“RFC”),该RFC3095建议的一种削减TS的方法为:
TS=TS_SCALED*TS_STRIDE+TS_OFFSET 等式I
TS_SCALED=TS/TS_STRIDE 等式II (“/”表示整除)
TS_OFFSET=TS mod TS_STRIDE 等式III(“mode”表示取模)
其中:TS是原始的TS值,TS削减值TS_SCALED是削减后的TS值,TS_STRIDE是业务流两个相邻分组间的步长值,TS_OFFSET是削减后的偏移量。如果TS_STRIDE不是2的指数,那么当32比特的TS在经过0xFFFFFFFF而跳变到0时翻转,TS_OFFSET的值将会改变,压缩方必须检测到这种翻转并及时计算更新TS_OFFSET值。同时如果分组不是按照顺序到达,即乱序到达,尤其是在TS翻转时如果不能区分TS是乱序还是翻转,解码也会失败。所以ROHC要求压缩方和解压缩方必须保持同步性,即双方的关联信息必须保持一致,否则就会解压失败,甚至将这种错误延续到后续分组。
目前,Internet标准(草案)RFC3095增补文档中建议,如果压缩方监测到TS翻转,则应该发送原始的TS,解压方根据原始TS来计算更新TS_OFFSET,如果这类报文丢失,将会导致错误扩散。
发明内容
本发明需要解决的技术问题是提供一种ROHC压缩中TS值还原方法,能避免TS域翻转引起的压缩和解压缩双方的关联信息不一致,同时可以避免TS域翻转后发送原始TS报文丢失导致的错误扩散。
本发明的上述技术问题这样解决,提供一种ROHC压缩中TS值还原方法,包括以下步骤:
1.1)接收方根据本次与前次接收的TS削减值TS_SCALED大幅变化检测TS域翻转,具体为:如果本次接收的TS削减值小于前次接收的TS削减值,并且差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果大于翻转门限M,则检测到顺序翻转;如果本次接收的TS削减值大于前次接收的TS削减值,并且差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果大于翻转门限M,则检测到乱序翻转;其中,所述差值Delta_TS为本次与前次接收的TS削减值差值的绝对值,Delta_T=(T_cur-T_old)/T_TS_STRIDE,T_cur为接收到当前分组的到达时间,T_old为接收到上次分组的到达时间,T_TS_STRIDE为一个分组正常单位延时时间;
1.2)如果检测出TS域翻转,则强制TS域翻转,并计算新的偏移量TS_OFFSET且在下一回再次检测到TS域翻转前持续保持;所述强制TS域翻转的计算具体为:对应顺序翻转的所述强制TS域翻转是用前次接收的TS削减值对应的TS值加上整数倍的固定步长TS_STRIDE,对应乱序翻转的所述强制TS域翻转是将前次接收的TS削减值对应TS值减去整数倍固定步长,其中,所述整数倍固定步长满足大于零且小于TS域最大值;所述计算新的偏移量具体为:TS_OFFSET=TS mod TS_STRIDE,其中,TS为强制TS域翻转后的TS值,mod表示取模运算;
1.3)根据所述新的偏移量TS_OFFSET和对应时间区域接收的TS削减值TS_SCALED还原TS值。
按照本发明提供的还原方法,所述翻转是顺序翻转,所述大幅变化是指:本次接收的TS削减值小于前次接收的TS削减值,并且差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果大于翻转门限M,即:TS_SCALED从极大值变为零或极小值。
按照本发明提供的还原方法,所述翻转是乱序翻转,所述大幅变化是指:如果本次接收的TS削减值大于前次接收的TS削减值,并且差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果大于翻转门限M,即:TS_SCALED从零或极小值变为极大值。
按照本发明提供的还原方法,所述翻转门限的取值范围可以是600~10000。
按照本发明提供的还原方法,所述还原方法还包括:如果差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果位于异常门限N与翻转门限M之间,则接收方检测到异常,丢弃对应数据包,直接结束,其中,N<M。
按照本发明提供的还原方法,所述异常门限的取值范围可以是6~10。
按照本发明提供的还原方法,所述还原方法还包括以下步骤:
7.1)如果本次接收的TS削减值小于前次接收的TS削减值,并且差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果小于异常门限N,则接收方检测到乱序;
7.2)根据对应时间区域保持的偏移量和本次TS削减值还原TS值;
7.3)对TS值进行重排列。
按照本发明提供的还原方法,所述还原方法还包括以下步骤:
8.1)如果本次接收的TS削减值大于前次接收的TS削减值,并且差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果小于异常门限N,则接收方检测正常;
8.2)根据对应时间区域保持的偏移量和本次TS削减值还原TS值并顺序排列。
按照本发明提供的还原方法,所述估计丢包数具体包括:
9.1)记录当前接收分组的到达时间T_cur,保留上次分组到达的时间T_old;
9.2)计算丢包数Delta_T=(T_cur-T_old)/T_TS_STRIDE,其中T_TS_STRIDE是一个分组正常单位延时时间。
按照本发明提供的还原方法,所述丢包数可以是零。
按照本发明提供的还原方法,步骤1.1)中,如果发送方检测TS域翻转并直接发送原始TS值,并且接收方也接收到该原始TS值,则所述接收方跳过步骤1.2),根据接收到的该原始TS值计算新的偏移量并进行翻转记录。
这样可以与RFC3095兼容,可以满足不同厂家设备连接的需要。
本发明提供的一种ROHC压缩中TS值还原方法,利用翻转时偏移量TS_OFFSET突变特点检测翻转,进一步对已有TS值强制翻转进行偏移量TS_OFFSET更新计算,使得即便一些关键的分组丢失在链路上,***通过已存储的信息仍可以恢复原始信息,从而避免引起***向低级别压缩状态跃迁而降低压缩效率,保证压缩的可靠性和业务通信的质量,较现有技术提高了***的容错性和鲁棒性。
附图说明
下面结合附图和具体实施例进一步对本发明进行详细说明。
图1是本发明方法一种具体实施方案的流图示意图。
具体实施方式
首先,说明本发明原理:
(一)检测
检测TS的翻转主要是基于TS是32比特数,不可能无限制的增长,当TS从0xFFFF FFFF在加1时它会跳变到0,对应的,翻转时TS削减值TS_SCALED也会跳变,由于TS削减值TS_SCALED可能乱序或丢失,则包括以下五种情况:
①正常情况下,即没有丢包时,每两个相邻的TS是固定增长TS_STRIDE的,也就是说对于TS_SCALED而言,它在相邻包之间是增加1的;
②TS是乱序到达的,简单的乱序使得造成TS只是不是简单的递增,有可能是后续包的TS比前一包要小;
③简单的丢包造成TS是递增的,但是使得TS_SCALED不是简单加1,值可能大于1,但不会很大;
④如果乱序恰好发生在TS翻转的时候,其结果是恰好相反,TS_SCALED可能从0或者一个很小的数跳到一个很大的数,如0x1999999等;
⑤顺序到达,仅发生TS翻转,从一个很大的数跳到0或者一个很小的数。
(二)强制翻转
在VoIP等业务中,TS总是增长一个固定值TS_STRIDE的,因此为了压缩数据,可以将整个TS以TS_STRIDE来量化,即用TS除以TS_STRIDE得到TS_SCALED,这样如果TS_SCALED增加1就意味着TS增加了TS_STRIDE,这样就可以达到压缩的目的。但是因为TS的起始值不一定是TS_STRIDE的整数倍,也就是说TS不一定能够整除TS_STRIDE,一般情况下它都会有一个偏移量即TS_OFFSET,因为TS是固定增加TS_STRIDE的,所以在TS域最大值范围内有TS mod TS_STRIDE和(TS+n×TS_STRIDE)mode TS_STRIDE的值是一样的,其中mod表示的是取模运算。正常情况这个规律一直存在,但是因为TS是32比特数,不可能无限制的增长,当TS从0xFFFF FFFF再加1时,它必须跳转到0,这样再次计算TS_OFFSET时会发现跳转后的TS mod TS_STRIDE以及下一个TS域最大值范围内(TS+n×TS_STRIDE)mode TS_STRIDE的值与原TS_OFFSET不再相等,因此解压缩方必须能够检测到这种翻转,并及时更新相应的偏移量TS_OFFSET,解压方根据已经更新保存的TS_OFFSET和接收到的TS_SCALED按照等式I就可以完全恢复出原始的TS了。
更新偏移量TS_OFFSET的具体方法是:
①对应顺序翻转的所述强制TS域翻转是用前次接收的TS削减值对应的TS值加上整数倍的固定步长值,其值满足大于零且小于TS域最大值。
②对应乱序翻转的所述强制TS域翻转是将前次接收的TS削减值对应TS值减去整数倍固定步长,其值满足大于零且小于TS域最大值。
其次,结合优选算法详细说明本发明方法,如图1所示,包括以下步骤:
101)解压方为了检测TS是否翻转或者乱序,记录当前接分组的到达时间T_cur,保留上次分组到达的时间T_old,记录当前接收到的削减后的TS,TS_SCALED_cur和上次接收到的TS_SCALED_old;
102)根据当前分组的到达时间和接收到前一分组到达时间的差值计算丢包数,其中T_TS_STRIDE为一个分组正常单位延时时间:
Delta_T=(T_cur-T_old)/T_TS_STRIDE,
计算当前削减后的TS和接收到前一分组削减后的TS差值的绝对值:
Delta_TS=|TS_SCALED_cur-TS_SCALED_old|,
作为判断TS是否翻转或者乱序的依据,其中“||”表示取绝对值。
103)判断当前接收到的削减后的TS和前一分组削减的TS的大小;
104)判断Delta_TS-Delta_T是否小于N,如果是则只是TS正常到达或者是简单的乱序发生,不改变TS_OFFSET的值;
105)判断Delta_TS-Delta_T的大小是否大于M;
106)如果接收到相邻两包之间的Delta_TS-Delta_T差值不符合步骤104)和步骤105),则认为接收到异常分组,分组将被丢弃;
107)利用等式I计算出上一次接收到的原始TS;
108)如果TS_SCALED_cur<TS_SCALED_old,并且Delta_TS-Delta_T>M,则解压方判断TS翻转,在前一个分组的TS基础上加上n×TS_STRIDE,强迫TS向前翻转,在下一个TS中,所有削减后的TS有相同的TS_OFFSET,同理,如果TS_SCALED_cur>TS_SCALED_old,并且Delta_TS-Delta_T>M,则解压方判断TS乱序过程中翻转了,这时解压缩方需要在前一个分组的TS基础上减去n×TS_STRIDE,强迫TS向后翻转;
109)解压方重新计算TS_OFFSET=TS mod TS_STRIDE,其中“mod”表示取模运算,并将此值保存,作为下一次解压缩的关联信息;
110)根据等式I恢复出原始的TS值,随后计算将会采用最新的TS_OFFSET。
最后,结合一个具体TS还原过程再进一步说明本发明:
如果步长TS_STRIDE=0xA0(160),上一个TS_old=0xFFFF FFFE,当前TS削减值TS_SCALED_cur=0,当前TS_cur=0xFFFF FFFE+0xA0(160)=0x9E,其偏移量TS_OFFSET1=TS_cur mod TS_STRIDE=0x9E(求模运算);然后从0x9E开始到0xFFFFFFFF,所有TS的TS_OFFSET都将是TS_OFFSET2=0x9E。例如下一个TS将是0x9E+0xA0=0x13E,其TS_OFFSET=0x13Emod 0xA0=0x9E,再下一个是0x13E+0x9E=0x1DE,同理TS_OFFSET=0x1DEmod 0xA0=0x9E。
Claims (6)
1.一种ROHC压缩中TS值还原方法,其特征在于,包括以下步骤:
1.1)接收方根据本次与前次接收的TS削减值大幅变化检测TS域翻转,具体为:如果本次接收的TS削减值小于前次接收的TS削减值,并且差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果大于翻转门限M,则检测到顺序翻转;如果本次接收的TS削减值大于前次接收的TS削减值,并且差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果大于翻转门限M,则检测到乱序翻转;其中,所述差值Delta_TS为本次与前次接收的TS削减值差值的绝对值,Delta_T=(T_cur-T_old)/T_TS_STRIDE,T_cur为接收到当前分组的到达时间,T_old为接收到上次分组的到达时间,T_TS_STRIDE为一个分组正常单位延时时间;
1.2)如果检测出TS域翻转,则强制TS域翻转,并计算新的偏移量TS_OFFSET且在下一回再次检测到TS域翻转前持续保持;所述强制TS域翻转具体为:对应顺序翻转的所述强制TS域翻转是用前次接收的TS削减值对应的TS值加上整数倍的固定步长TS_STRIDE,对应乱序翻转的所述强制TS域翻转是将前次接收的TS削减值对应的TS值减去整数倍固定步长,其中,所述整数倍固定步长满足大于零且小于TS域最大值;所述计算新的偏移量具体为:TS_OFFSET=TS mod TS_STRIDE,其中,TS为强制TS域翻转后的TS值,mod表示取模运算;
1.3)根据所述新的偏移量和对应时间区域接收的TS削减值还原TS值。
2.根据权利要求1所述还原方法,其特征在于,所述翻转门限的取值范围是600~10000。
3.根据权利要求1所述还原方法,其特征在于,所述还原方法还包括:如果差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果位于异常门限N与翻转门限M之间,则接收方检测到异常,丢弃对应数据包,直接结束,其中,N<M。
4.根据权利要求3所述还原方法,其特征在于,所述异常门限的取值范围是6~10。
5.根据权利要求3所述还原方法,其特征在于,所述还原方法还包括以下步骤:
5.1)如果本次接收的TS削减值小于前次接收的TS削减值,并且差值Delta_TS减去根据接收时间差估计的丢包数Delta_T的结果小于异常门限N,则接收方检测到简单乱序;
5.2)根据对应时间区域保持的偏移量和本次TS削减值还原TS值;
5.3)对TS值进行重排列。
6.根据权利要求1所述还原方法,其特征在于,步骤1.1)中,如果发送方检测到TS域翻转并直接发送原始TS值,并且接收方也接收到该原始TS值,则所述接收方跳过步骤1.2),根据接收到的该原始TS值计算新的偏移量并进行翻转记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101297528A CN101193062B (zh) | 2007-07-25 | 2007-07-25 | 一种rohc压缩中ts值还原方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101297528A CN101193062B (zh) | 2007-07-25 | 2007-07-25 | 一种rohc压缩中ts值还原方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101193062A CN101193062A (zh) | 2008-06-04 |
CN101193062B true CN101193062B (zh) | 2011-07-13 |
Family
ID=39487823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101297528A Expired - Fee Related CN101193062B (zh) | 2007-07-25 | 2007-07-25 | 一种rohc压缩中ts值还原方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101193062B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602745A (zh) * | 2018-06-12 | 2019-12-20 | 大唐移动通信设备有限公司 | 一种数据包解压方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1286875A (zh) * | 1998-12-21 | 2001-03-07 | 松下电器产业株式会社 | 利用模数时基和时间增量分辨率的时间戳印的装置和方法 |
CN1355984A (zh) * | 1999-06-18 | 2002-06-26 | 艾利森电话股份有限公司 | 实时分组通信中时间戳的估计 |
CN1419771A (zh) * | 2000-03-09 | 2003-05-21 | 诺基亚有限公司 | 压缩数据分组中头域的技术 |
WO2007050922A2 (en) * | 2005-10-27 | 2007-05-03 | Qualcomm Incorporated | System and method for improving rohc efficiency |
-
2007
- 2007-07-25 CN CN2007101297528A patent/CN101193062B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1286875A (zh) * | 1998-12-21 | 2001-03-07 | 松下电器产业株式会社 | 利用模数时基和时间增量分辨率的时间戳印的装置和方法 |
CN1355984A (zh) * | 1999-06-18 | 2002-06-26 | 艾利森电话股份有限公司 | 实时分组通信中时间戳的估计 |
CN1419771A (zh) * | 2000-03-09 | 2003-05-21 | 诺基亚有限公司 | 压缩数据分组中头域的技术 |
WO2007050922A2 (en) * | 2005-10-27 | 2007-05-03 | Qualcomm Incorporated | System and method for improving rohc efficiency |
Also Published As
Publication number | Publication date |
---|---|
CN101193062A (zh) | 2008-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1243118B1 (en) | System and method for achieving robust ip/udp/rtp header compression in the presence of unreliable networks | |
CN105743924B (zh) | 无线ip网络中进行有效多媒体传递的方法和基站 | |
US9246832B2 (en) | Header compression optimization method during and after handovers in cellular communication network | |
CN100591053C (zh) | 一种报文传输方法及网络节点装置 | |
JP2002026963A (ja) | パケット伝送方法、中継装置およびデータ端末 | |
JP2001244993A (ja) | パケットサーバで用いられる通信方法 | |
EP2098035A2 (en) | Improved header compression in a wireless communication network | |
US9392082B2 (en) | Communication interface and method for robust header compression of data flows | |
JP4859323B2 (ja) | チェックサムに基づくヘッダ圧縮におけるトランスポート層チェックサムの代替 | |
CN101568144A (zh) | 一种适用于无线自组织网络的报头压缩方法 | |
JP2002141968A (ja) | データパケット転送方法および装置 | |
JP2006287284A (ja) | 無線通信システム及びそのヘッダ圧縮制御方法 | |
CN101534291A (zh) | Ip报文的发送、接收的方法及装置 | |
CN108696491B (zh) | 音频数据的发送处理方法与装置、接收处理方法与装置 | |
EP2127298A1 (en) | Header supression in a wireless communication network | |
CN101193062B (zh) | 一种rohc压缩中ts值还原方法 | |
EP2190163B1 (en) | A method for repairing the window-based least significant bits decoding in the robust header compression | |
CN100353727C (zh) | 一种鲁棒的IPv6头部压缩方法 | |
CN101594198A (zh) | 一种基于无线信道状态估计的可靠报头压缩方法 | |
CN101453465A (zh) | 一种移动多媒体广播***的ip包压缩、解压缩方法 | |
WO2011154304A1 (en) | Data transport container, source device, destination device and method for transferring different types of data | |
KR20070081604A (ko) | 멀티미디어 패킷 데이터의 디패킷화 방법 | |
US20150016463A1 (en) | Media over ip performance enhancement | |
CN100428733C (zh) | 移动通信网络中ip报头压缩的错误恢复方法及装置 | |
JP2002094553A (ja) | パケット伝送装置およびパケット伝送方法 |
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 |
Granted publication date: 20110713 Termination date: 20190725 |
|
CF01 | Termination of patent right due to non-payment of annual fee |