CN102571540A - 一种解压的方法及装置 - Google Patents

一种解压的方法及装置 Download PDF

Info

Publication number
CN102571540A
CN102571540A CN2010106027758A CN201010602775A CN102571540A CN 102571540 A CN102571540 A CN 102571540A CN 2010106027758 A CN2010106027758 A CN 2010106027758A CN 201010602775 A CN201010602775 A CN 201010602775A CN 102571540 A CN102571540 A CN 102571540A
Authority
CN
China
Prior art keywords
packet
sequence number
time
buffer memory
reference sequences
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.)
Granted
Application number
CN2010106027758A
Other languages
English (en)
Other versions
CN102571540B (zh
Inventor
张忞奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201010602775.8A priority Critical patent/CN102571540B/zh
Priority to PCT/CN2011/084293 priority patent/WO2012083842A1/zh
Priority to EP11852175.6A priority patent/EP2637379B1/en
Priority to KR1020137015990A priority patent/KR101471482B1/ko
Publication of CN102571540A publication Critical patent/CN102571540A/zh
Priority to US13/922,496 priority patent/US9350592B2/en
Application granted granted Critical
Publication of CN102571540B publication Critical patent/CN102571540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种解压的方法及装置,属于通信领域。所述方法包括:接收压缩后的数据包,对所述压缩后的数据包序列号压缩码进行解压,当因连续丢失包而未成功解压出所述数据包的序列号时,根据所述压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号;根据所述新的参考序列号对所述数据包的序列号压缩码进行重新解压,得到所述数据包的序列号;其中,所述参考序列号为最近一次解压成功的数据包的序列号,所述缓存的参考时间为压缩后的数据包的接收时间,且所述数据包为最近一次解压成功的数据包。所述装置包括:解压模块、获取模块和重新解压模块。本发明提高解压数据包的序列号的正确性。

Description

一种解压的方法及装置
技术领域
本发明涉及通信领域,特别涉及一种解压的方法及装置。
背景技术
头压缩(RObust Header Compression,Rohc)是一种对各种协议头进行压缩从而达到节省传输资源的机制。其中,发送端在连续发送数据包时,每个数据包的协议头中的序列号(Series number,Sn)是递增变化的,因而,使得相邻的数据包的Sn中只有少数字段不相同。发送端Rohc的压缩器在对某个数据包的Sn进行压缩时,对与其相邻数据包的Sn中部分不同的字段进行压缩编码,得到该数据包的Sn压缩码,并将该数据包的Sn压缩码发送给接收端。
接收端Rohc的解压器接收该数据包的Sn压缩码,并对该数据包的Sn压缩码进行解压,从而得到该数据包的Sn。当连续丢失的数据包过多时,使得解压出的数据包的Sn与其原Sn不一致,从而降低解压数据包的Sn的准确性。
发明内容
本发明提供了一种解压的方法及装置,能够提高解压缩数据包的序列号的正确性。
一方面,提供了一种解压的方法,所述方法包括:
接收压缩后的数据包,对所述压缩后的数据包序列号压缩码进行解压;
当因连续丢失包而未成功解压出所述数据包的序列号时,根据所述压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号;
根据所述新的参考序列号对所述数据包的序列号压缩码进行重新解压,得到所述数据包的序列号;
其中,所述缓存的参考序列号为最近一次解压成功数据包的序列号,所述参考时间为压缩后的数据包的接收时间且所述数据包为最近一次解压成功的数据包。
另一方面,提供了一种解压的装置,所述装置包括:
解压模块,用于接收压缩后的数据包,对所述压缩后的数据包序列号压缩码进行解压;
获取模块,用于当因连续丢失包而使所述解压模块未成功解压出所述数据包的序列号时,根据所述压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号;
重新解压模块,用于根据所述获取模块获取的新的参考序列号对所述数据包的序列号压缩码进行重新解压,得到所述数据包的序列号;
其中,所述缓存的参考序列号为最近一次解压成功数据包的序列号,所述参考时间为压缩后的数据包的接收时间,且所述数据包为最近一次解压成功的数据包。
通过接收压缩后的数据包,对压缩后的数据包序列号压缩码进行解压,如果因连续丢失包而未解压成功,则根据压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号,根据新的参考序列号对数据包的序列号压缩码进行重新解压。其中,即使解压器连续丢失的过多的数据包时,获取的新的参考序列号与该数据包的原序列号还位于相同的编码区间,使得解压出的该数据包的序列号与其原序列号一致,从而提高解压数据包的序列号的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种解压的方法流程图;
图2是本发明实施例2提供的压缩器对数据包的Sn进行压缩的流程图;
图3是本发明实施例2提供的另一种解压的方法流程图;
图4是本发明实施例3提供的一种解压的装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
当发送端Rohc的压缩器接收到数据包时,先对该数据包进行压缩,且在压缩的过程中也对该数据包的Sn进行压缩编码得到Sn压缩码,其中,压缩后的该数据包中包括该数据包的Sn压缩码,然后再将压缩后的数据包发送给接收端。
接收端Rohc的解压器接收压缩器发送的压缩后的数据包,针对压缩后的数据包中的该数据包的Sn压缩码,利用本发明提供的解压方法对该数据包的Sn压缩码进行解压,具体为:将最近一次解压成功数据包的Sn作为参考Sn,再根据参考Sn对该数据包的Sn压缩码进行解压,解压出该数据包的Sn。其中,为了便于说明,将压缩前的数据包的Sn称为数据包的原Sn,如果该数据包的原Sn与参考Sn位于同一个编码区间,则解压出的该数据包的Sn与其原Sn一致,即解压成功;如果该数据包的原Sn与参考Sn位于不同的编码区间,则解压出的该数据包的Sn与其原Sn不一致,即解压失败。
其中,当解压器在接收最近一次解压成功的数据包之后以及在接收该数据包之前的一段时间内,未接收到压缩器连续发送的压缩后的数据包,即解压器发生连续丢失数据包的现象。当解压器发生了连续丢失数据包时,就可能使该数据包的原Sn与参考Sn位于不同的编码区间,从而解压失败,此时解压器需要对该数据包的Sn进行修复,得到该数据包的Sn。
如图1所示,本发明实施例提供了一种解压的方法,包括:
步骤101:接收压缩后的数据包,对压缩后的数据包序列号压缩码进行解压。
步骤102:当因连续丢失包而未成功解压出该数据包的序列号时,根据压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号。
步骤103:根据新的参考序列号对该数据包的序列号压缩码进行重新解压,得到该数据包的序列号。
其中,缓存的参考序列号为最近一次解压成功的数据包的序列号,参考时间为压缩后的数据包的接收时间,且该数据包为最近一次解压成功的数据包。
在本发明实施例中,通过接收压缩后的数据包,对压缩后的数据包序列号压缩码进行解压,如果因连续丢失包而未解压成功,则根据压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号,根据新的参考序列号对数据包的序列号压缩码进行解压。其中,即使解压器连续丢失的过多的数据包时,获取的新的参考序列号与该数据包的原序列号还位于相同的编码区间,使得解压出的该数据包的序列号与其原序列号一致,从而提高解压数据包的序列号的准确性。
本发明实施例提供了另一种解压的方法。在本实施例中,当压缩器接收到数据包时,对该数据包进行压缩,且在压缩的过程中对该数据包的Sn进行压缩编码得到该数据包的Sn压缩码,且压缩后得到的数据包中包括该数据包的Sn压缩码,然后将压缩后的数据包发送给解压器,解压器接收压缩后的数据包,利用本实施例提供的解压方法对压缩后的数据包中包括该数据包的Sn压缩码进行解压,当解压器因发生连续丢失数据包的原因而未能成功地解压出该数据包的Sn时,还可以修复该数据包的Sn。
首先,在本实施例中,压缩器当接收到数据包,在对该数据包进行压缩的过程中,对该数据包的Sn进行压缩编码,得到的该数据包的Sn压缩码。参见图2,压缩器在压缩数据包的过程中对该数据包的Sn进行压缩编码的流程分为如下的201-205的步骤,包括:
步骤201:接收数据包,根据该数据包的Sn,获取该数据包的循环冗余校验(Cyclic Redundancy Check,CRC)码。
例如,假设压缩器接收的数据包的Sn为101,该数据包的Sn的二进制编码为“1100101”,根据该数据包的Sn“1100101”,获取该数据包的CRC码为“CRC1”。
步骤202:计算该数据包的Sn与最近一次接收的数据包的Sn的第一Sn差值,根据第一Sn差值获取压缩比特数。
其中,根据第一Sn差值获取压缩比特数的操作可以包括统计第一Sn差值包括比特位的个数,将统计的个数作为压缩比特数。
其中,最近一次接收的数据包的Sn是压缩器事先缓存的。
例如,假设压缩器缓存最近一次接收数据包的Sn为“99”,则计算接收的该数据包的Sn“101”与最近一次接收数据包的Sn“99”之间的第一Sn差值为“2”,其中,第一Sn差值“2”的二进制编码为“10”,统计第一Sn差值“2”包括的比特位的个数为2,将统计的个数作为压缩比特数。
步骤203:将缓存的最近一次接收的数据包的Sn更新为该数据包的Sn。
例如,将缓存的最近一次接收的数据包的Sn“99”更新为该数据包的Sn“101”。
步骤204:从该数据包的Sn包括的比特位中,选择低压缩比特数位个比特位,将选择的比特位作为该数据包的Sn压缩码。
例如,从该数据包的Sn“101”包括的比特位“1100101”中,选择低压缩比特数位个比特位,即选择低2位个比特位“01”,将选择的比特位“01”作为该数据包的Sn压缩码。
其中,步骤203和204的执行顺序不分先后,也可以同时进行。
其中,2的压缩比特数次方即为编码区间的长度,如果两个数据包的Sn的差值小于编码区间的长度,则认为该两个数据包的Sn位于同一个编码区间。例如,对于压缩比特数为2,则对应的编码区间的长度为4,其中,该数据包的Sn“101”与最近一次接收的数据包的Sn“99”之间的差值为2,所以该数据包的Sn与最近一次接收的数据包的Sn位于同一个编码区间内。
其中,压缩器压缩完该数据包,得到压缩后的数据包包括该数据包的Sn压缩码和CRC码。
步骤205:发送压缩后的数据包给解压器,且压缩后的数据包中包括该数据包的Sn压缩码和该数据包的CRC码。
然后,解压器接收压缩器发送的压缩后的数据包,针对压缩后的数据包中的该数据包的Sn压缩码和该数据包的CRC码,利用本实施例提供的解压方法对该数据包的Sn压缩码进行解压。参见图3,解压器对接收的数据包的Sn压缩码进行解压的流程分为如下301-310的步骤,包括:
步骤301:接收压缩器发送的压缩后的数据包,且该压缩后的数据包中包括该数据包的Sn压缩码和该数据包的CRC码,并获取压缩后的数据包的接收时间。
例如,接收压缩器发送的数据包的Sn压缩码为“01”以及CRC码为“CRC1”,以及获取压缩后的数据包的接收时间为“400秒”,即在时间为第400秒时接收该数据包的Sn压缩码。
步骤302:根据缓存的参考Sn,对该数据包的Sn压缩码进行解码得到该数据包的Sn,根据该数据包的Sn获取该数据包的CRC码。
具体地,根据该数据包的Sn压缩码包括的比特位的数目,确定出压缩比特数,根据压缩比特数计算出编码区间的长度,确定出以缓存的参考Sn为起点且与缓存的参考Sn的差值小于编码区间的长度的Sn,将该数据包的Sn压缩码分别与缓存的参考Sn的低压缩比特数位个比特位以及确定的每个Sn的低压缩比特数位个比特位进行匹配,匹配出相同的Sn,其中,匹配出的Sn为解压出的该数据包的Sn,根据解压出的该数据包的Sn获取CRC码。
其中,确定出的Sn与缓存的参考Sn的差值都小于编码区间的长度,所以确定出的每个Sn与缓存的参考Sn位于同一个编码区间,缓存的参考Sn为解压器最近一次解压成功的数据包的Sn。另外,解压器还缓存参考时间以及单位Sn的相隔时间,参考时间为接收最近一次解压成功的数据包的时间。假设,在本实施例中,缓存的参考时间为“354秒”,单位Sn的相隔时间为“2秒”。其中,单位Sn为相邻两个Sn的差值,例如,Snm和Snm+1为相邻的两个Sn,单位Sn为Snm+1与Snm的差值。
例如,假设解压器缓存的最近一次解压成功的数据包的Sn为“87”,即缓存的参考Sn为“87”,其二进制编码为“1010111”,根据该数据包的Sn压缩码“01”,确定出压缩比特数为2,其中,2的压缩比特数次方为编码区间的长度,所以根据压缩比特数2计算出编码区间的长度为4,从而以缓存的参考Sn“87”为起点,确定Sn“88”、“89”和“90”都与缓存的参考Sn“87”的差值小于编码区间的长度4,其中,缓存的参考Sn“87”以及确定出的Sn“88”、“89”和“90”位于同一个编码区间内,且“88”、“89”和“90”的二进制编码分别为“1011000”、“1011001”和“1011010”;缓存的参考Sn“87”以及确定出的Sn“88”、“89”和“90”包括的低2位个比特位分别为“11”、“00”、“01”和“10”,将该数据包的Sn压缩码“01”分别与缓存的参考Sn“87”以及确定出的Sn“88”、“89”、“90”包括的低2位个比特位进行匹配,即将该数据包的Sn压缩码“01”分别与“11”、“00”、“01”和“10”进行匹配,匹配出相同的Sn“89”,将匹配出的Sn“89”作为该数据包的Sn,根据该数据包的Sn“89”,获取CRC码为“CRC2”。
步骤303:对接收的该数据包的CRC码和获取的该数据包的CRC码进行比较,如果两者相同,则解压成功,执行步骤304;如果两者不相同,则解压失败,执行步骤305。
其中,CRC码是根据Sn获取的,如果两个Sn的CRC码不相同,则该两个Sn不相同。
例如,接收的该数据包的“CRC1”与获取的“CRC2”进行比较,比较出两者不相同,则解压出的该数据包的Sn与其原Sn不相同,即解压失败,执行步骤305。
步骤304:计算单位Sn的相隔时间,将缓存的参考Sn、参考时间和单位Sn的相隔时间更新为该数据包的Sn、压缩后的数据包的接收时间以及计算的单位Sn的相隔时间,操作结束。
其中,计算单位Sn的相隔时间的操作,具体为:计算压缩后的数据包的接收时间与参考时间的第一时间差,计算解压出的该数据包的Sn与缓存的参考Sn的第二Sn差值,根据计算的第一时间差和第二Sn差值计算出单位Sn的相隔时间。
步骤305:计算压缩后的数据包的接收时间与参考时间的第二时间差。
例如,压缩后的数据包的接收时间为400秒,以及参考时间为354秒,计算压缩后的数据包的接收时间与参考时间的第二时间差为46。
步骤306:根据第二时间差、缓存的参考Sn和单位Sn的相隔时间,判断解压未成功的原因是否为解压器连续丢失大量包,如果是,执行步骤307。
具体地,计算解压出的该数据包的Sn与缓存的参考Sn的第三Sn差值,根据第三Sn差值和单位Sn的相隔时间计算出第三时间差,如果第二时间差与第三时间差的差值超过预设的阈值,则判断出解压失败的原因为解压器连续丢失大量包。
假设,预设的阈值为20。例如,根据解压的该数据包的Sn“89”与缓存的参考Sn“87”,计算出第三Sn差值为2,根据第三Sn差值2和单位Sn的相隔时间2,计算出第三时间差为4,其中,第二时间差46与第三时间差4之间的差值超过预设的阈值20,则判断出解压器在第354秒到第400秒的时间段内未接收到压缩器连续发送的大量数据包,即解压器发生了连续丢失数据包的现象。
其中,预设的阈值是根据实验得到的经验值。
步骤307:根据计算的第二时间差与单位Sn的相隔时间,计算出Sn增量值。
具体地,对计算的第二时间差与单位Sn的相隔时间做除法运算,得到Sn增量值。
例如,对计算的第二时间差46与单位Sn的相隔时间2做除法运算,得到Sn增量值为23。
步骤308:根据缓存的参考Sn和计算出的Sn增量值,计算出新的参考Sn。
具体地,对缓存的参考Sn和计算出的Sn增量值做加法运算,得到新的参考Sn。
例如,对缓存的参考Sn“87”和计算出的Sn增量值“23”做加法运算,得到新的参考Sn为“100”,其中,新的参考Sn“100”的二进制编码为“1100100”。
其中,在本步骤中得到的新的参考Sn与该数据包的原Sn位于同一个编码区间内。
步骤309:根据新的参考Sn,对该数据包的Sn压缩码重新进行解压,得到该数据包的Sn。
具体地,确定出以新的参考Sn为起点且与新的参考Sn的差值小于编码区间长度的Sn,将该数据包的Sn压缩码分别与新的参考Sn所在的编码区间内的每个Sn的低压缩比特数位个比特位进行匹配,匹配出相同的Sn,其中,匹配出的Sn为重新解压出的该数据包的Sn。
例如,在步骤202中得到编码区间的长度为4,根据编码区间的长度4,确定出以新的参考Sn“100”为起点且与新的参考Sn“100”的差值小于编码区间的长度4的Sn分别为“101”、“102”和“103”,其中,新的参考Sn“100”以及确定出的“101”、“102”和“103”位于同一个编码区间内,且“101”、“102”和“103”的二进制编码分别为“1100101”、“1100110”和“1100111”;新的参考Sn“100”以及确定出的Sn“101”、“102”和“103”包括的低2位个比特位分别为“00”、“01”、“10”和“11”,将该数据包的Sn压缩码“01”分别与新的参考Sn“100”所在的编码区间内的四个Sn包括的低2位个比特位进行匹配,匹配出相同的Sn“101”,将匹配出的Sn“101”作为该数据包的Sn。
步骤310:计算单位Sn的相隔时间,将缓存的参考Sn、参考时间和单位Sn的相隔时间更新为重新解压出的该数据包的Sn、压缩后的数据包的接收时间以及计算的单位Sn的相隔时间,操作结束。
其中,计算单位Sn的相隔时间的操作,具体为:计算重新解压出该数据包的Sn与缓存的参考Sn之间的第四Sn差值,根据第二时间差和第四Sn差值,计算出单位Sn的相隔时间。
例如,计算重新解压出的该数据的Sn“101”与参考Sn“87”之间的第四Sn差值为“24”,根据第二时间差“46”与计算出的第四Sn差值“24”,计算出单位Sn的相隔时间为“1.9167秒”;将缓存的参考Sn“87”、参考时间“354秒”和单位Sn的相隔时间“2秒”分别更新为重新解压的该数据包的Sn“101”、压缩后的数据包的接收时间“400秒”和计算的单位Sn的相隔时间“1.9167秒”。
进一步地,还可以根据重新解压出的该数据包的Sn,获取CRC码,比较获取的CRC码和接收的该数据包的CRC码,如果两者相同,则重新解压成功,如果两者不相同,则重新解压不成功,操作结束。
在本发明实施例中,解压器接收压缩后的数据包,对压缩后的数据包序列号压缩码进行解压,如果因连续丢失包而未解压成功,则根据压缩后的数据包的接收时间、事先缓存的参考Sn、参考时间和单位Sn的相隔时间,获取新的参考Sn,根据新的参考Sn对数据包的Sn压缩码进行解压。其中,即使解压器发生连续丢失的过多的数据包时,获取的新的参考Sn与该数据包的原Sn还位于相同的编码区间,使得解压出的该数据包的Sn与其原Sn一致,从而提高解压数据包的Sn的准确性。
如图4所示,本发明实施例提供了一种解压的装置,包括:
解压模块401,用于接收压缩后的数据包,对压缩后的数据包序列号压缩码进行解压。
获取模块402,用于当因连续丢失包而使解压模块401未成功解压出该数据包的序列号时,根据压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号。
重新解压模块403,用于根据获取模块402获取的新的参考序列号对该数据包的序列号压缩码进行重新解压,得到该数据包的序列号。
其中,缓存的参考序列号为最近一次解压成功数据包的序列号,参考时间为压缩后的数据包的接收时间,且该数据包为最近一次解压成功的数据包。
其中,获取模块402,用于计算压缩后的数据包的接收时间与参考时间的时间差;根据计算的时间差和单位序列号的相隔时间,计算出序列号增量值;根据参考序列号和序列号增量值,计算出新的参考序列号。
进一步地,该装置还包括:
第一更新模块,用于根据计算的时间差、该数据包的序列号和参考序列号,获得单位序列号的相隔时间;将缓存的单位序列号的相隔时间更新为获取单位序列号的相隔时间。
其中,第一更新模块具体用于根据该数据包的序列号和参考序列号,计算出序列号差值;根据计算的时间差和计算的序列号差值,计算出单位序列号的相隔时间;将缓存的单位序列号的相隔时间更新为获取的单位序列号的相隔时间。
进一步地,装置还包括:
第二更新模块,用于将缓存的参考序列号更新为该数据包的序列号,将参考时间更新为压缩后的数据包的接收时间。
在本发明实施例中,通过接收压缩后的数据包,对压缩后的数据包序列号压缩码进行解压,如果因连续丢失包而未解压成功,则根据压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号,根据新的参考序列号对数据包的序列号压缩码进行解压。其中,即使解压器连续丢失的过多的数据包时,获取的新的参考序列号与该数据包的原序列号还位于相同的编码区间,使得解压出的该数据包的序列号与其原序列号一致,从而提高解压数据包的序列号的准确性。
需要说明的是:上述实施例提供的一种解压的装置在解压数据包的序列号压缩码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供解压的装置与解压的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种解压的方法,其特征在于,所述方法包括:
接收压缩后的数据包,对所述压缩后的数据包序列号压缩码进行解压;
当因连续丢失包而未成功解压出所述数据包序列号时,根据所述压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号;
根据所述新的参考序列号对所述数据包序列号的压缩码进行重新解压,获取所述数据包的序列号;
其中,所述缓存的参考序列号为最近一次解压成功数据包的序列号,所述参考时间为压缩后的数据包的接收时间且所述数据包为最近一次解压成功的数据包。
2.如权利要求1所述的方法,其特征在于,所述根据压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号,包括:
计算所述压缩后的数据包的接收时间与所述参考时间的时间差;
根据所述时间差和所述单位序列号的相隔时间,计算出序列号增量值;
根据所述缓存的参考序列号和所述序列号增量值,计算出所述新的参考序列号。
3.如权利要求2所述的方法,其特征在于,所述根据新的参考序列号对所述数据包的序列号压缩码进行重新解压,获取所述数据包的序列号之后,还包括:
根据所述时间差、所述数据包的序列号和所述缓存的参考序列号,获得单位序列号的相隔时间;
将所述缓存的单位序列号的相隔时间更新为所述获取单位序列号的相隔时间。
4.如权利要求3所述的方法,其特征在于,所述根据所述时间差、所述数据包的序列号和所述缓存的参考序列号获得单位序列号的相隔时间,包括:
根据所述数据包的序列号和所述缓存的参考序列号,计算出序列号差值;
根据所述时间差和所述序列号差值,计算出单位序列号的相隔时间。
5.如权利要求1-4任一项权利要求所述的方法,其特征在于,所述根据所述新的参考序列号对所述数据包的序列号压缩码进行重新解压,获取所述数据包的序列号之后,还包括:
将所述缓存的参考序列号更新为所述数据包的序列号,将所述参考时间更新为所述压缩后的数据包的接收时间。
6.一种解压的装置,其特征在于,所述装置包括:
解压模块,用于接收压缩后的数据包,对所述压缩后的数据包的序列号压缩码进行解压;
获取模块,用于当因连续丢失包而使所述解压模块未成功解压出所述数据包的序列号时,根据所述压缩后的数据包的接收时间、缓存的参考序列号、参考时间和单位序列号的相隔时间,获取新的参考序列号;
重新解压模块,用于根据所述获取模块获取的新的参考序列号对所述数据包的序列号压缩码进行重新解压,得到所述数据包的序列号;
其中,所述缓存的参考序列号为最近一次解压成功数据包的序列号,所述参考时间为压缩后的数据包的接收时间,且所述数据包为最近一次解压成功的数据包。
7.如权利要求6所述的装置,其特征在于,
所述获取模块具体用于计算所述压缩后的数据包的接收时间与所述缓存的参考时间的时间差,根据所述时间差和所述单位序列号的相隔时间,计算出序列号增量值,根据所述缓存的参考序列号和所述序列号增量值,计算出所述新的参考序列号。
8.如权利要求7所述的装置,其特征在于,所述所述装置还包括:
第一更新模块,用于根据所述时间差、所述数据包的序列号和所述缓存的参考序列号,获得单位序列号的相隔时间,将所述缓存的单位序列号的相隔时间更新为所述获取单位序列号的相隔时间。
9.如权利要求8所述的装置,其特征在于,
所述第一更新模块具体用于根据所述数据包的序列号和所述缓存的参考序列号,计算出序列号差值,根据所述时间差和所述序列号差值,计算出单位序列号的相隔时间,将所述缓存的单位序列号的相隔时间更新为所述获取的单位序列号的相隔时间。
10.如权利要求6-9任一项权利要求所述的装置,其特征在于,所述装置还包括:
第二更新模块,用于将所述缓存的参考序列号更新为所述数据包的序列号,将所述参考时间更新为所述压缩后的数据包的接收时间。
CN201010602775.8A 2010-12-20 2010-12-20 一种解压的方法及装置 Active CN102571540B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201010602775.8A CN102571540B (zh) 2010-12-20 2010-12-20 一种解压的方法及装置
PCT/CN2011/084293 WO2012083842A1 (zh) 2010-12-20 2011-12-20 一种解压的方法及装置
EP11852175.6A EP2637379B1 (en) 2010-12-20 2011-12-20 Method and apparatus for decompression
KR1020137015990A KR101471482B1 (ko) 2010-12-20 2011-12-20 압축해제 방법 및 장치
US13/922,496 US9350592B2 (en) 2010-12-20 2013-06-20 Decompressing method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010602775.8A CN102571540B (zh) 2010-12-20 2010-12-20 一种解压的方法及装置

Publications (2)

Publication Number Publication Date
CN102571540A true CN102571540A (zh) 2012-07-11
CN102571540B CN102571540B (zh) 2015-12-16

Family

ID=46313170

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010602775.8A Active CN102571540B (zh) 2010-12-20 2010-12-20 一种解压的方法及装置

Country Status (5)

Country Link
US (1) US9350592B2 (zh)
EP (1) EP2637379B1 (zh)
KR (1) KR101471482B1 (zh)
CN (1) CN102571540B (zh)
WO (1) WO2012083842A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574684A (zh) * 2017-03-14 2018-09-25 大唐移动通信设备有限公司 一种解压缩的方法和装置
CN109962896A (zh) * 2017-12-26 2019-07-02 大唐移动通信设备有限公司 数据包的处理方法、基站、电子设备和存储介质
CN110602745A (zh) * 2018-06-12 2019-12-20 大唐移动通信设备有限公司 一种数据包解压方法及装置
WO2020119718A1 (zh) * 2018-12-14 2020-06-18 华为技术有限公司 数据包的解压缩方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10194348B2 (en) 2016-05-27 2019-01-29 Qualcomm Incorporated Techniques and apparatuses for improved robust header compression (ROHC) decompression

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002094553A (ja) * 2000-09-12 2002-03-29 Matsushita Electric Ind Co Ltd パケット伝送装置およびパケット伝送方法
CN1489845A (zh) * 2001-09-28 2004-04-14 ���µ�����ҵ��ʽ���� 报头压缩分组接收装置和方法
CN101107829A (zh) * 2004-12-08 2008-01-16 高通股份有限公司 用于在稳健报头压缩中增强本地修复的方法和系统
US20080151901A1 (en) * 2006-12-26 2008-06-26 Yang Tomas S Header compression in a wireless communication network
CN101411157A (zh) * 2006-05-04 2009-04-15 高通股份有限公司 用于在稳健标头压缩中加强局部修复的方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845105B1 (en) * 2000-09-28 2005-01-18 Telefonaktiebolaget Lm Ericsson Method and apparatus for maintaining sequence numbering in header compressed packets
TWI250724B (en) * 2002-10-11 2006-03-01 Ericsson Telefon Ab L M Method and communication system for packeting messaging, and header compressor unit

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002094553A (ja) * 2000-09-12 2002-03-29 Matsushita Electric Ind Co Ltd パケット伝送装置およびパケット伝送方法
CN1489845A (zh) * 2001-09-28 2004-04-14 ���µ�����ҵ��ʽ���� 报头压缩分组接收装置和方法
CN101107829A (zh) * 2004-12-08 2008-01-16 高通股份有限公司 用于在稳健报头压缩中增强本地修复的方法和系统
CN101411157A (zh) * 2006-05-04 2009-04-15 高通股份有限公司 用于在稳健标头压缩中加强局部修复的方法和系统
US20080151901A1 (en) * 2006-12-26 2008-06-26 Yang Tomas S Header compression in a wireless communication network

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574684A (zh) * 2017-03-14 2018-09-25 大唐移动通信设备有限公司 一种解压缩的方法和装置
CN108574684B (zh) * 2017-03-14 2020-08-28 大唐移动通信设备有限公司 一种解压缩的方法和装置
CN109962896A (zh) * 2017-12-26 2019-07-02 大唐移动通信设备有限公司 数据包的处理方法、基站、电子设备和存储介质
CN110602745A (zh) * 2018-06-12 2019-12-20 大唐移动通信设备有限公司 一种数据包解压方法及装置
WO2020119718A1 (zh) * 2018-12-14 2020-06-18 华为技术有限公司 数据包的解压缩方法和装置

Also Published As

Publication number Publication date
KR101471482B1 (ko) 2014-12-10
US20130279522A1 (en) 2013-10-24
EP2637379B1 (en) 2016-04-06
EP2637379A4 (en) 2013-10-23
CN102571540B (zh) 2015-12-16
EP2637379A1 (en) 2013-09-11
WO2012083842A1 (zh) 2012-06-28
US9350592B2 (en) 2016-05-24
KR20130098409A (ko) 2013-09-04

Similar Documents

Publication Publication Date Title
US8718098B2 (en) Method for compressing and decompressing time stamp and equipment thereof
CN110113132B (zh) 一种编译码方法和终端
CN101707616B (zh) 一种用户数据报协议数据包压缩、解压缩的方法及装置
CN111262876B (zh) 基于区块链的数据处理方法、装置、设备以及存储介质
CN102571540B (zh) 一种解压的方法及装置
CN102970043B (zh) 一种基于gzip的压缩硬件系统及其加速方法
US20200351015A1 (en) Method and device for polar code rate matching
CN101069355A (zh) 使用压缩差分删截码型的删截/去删截
WO2021103978A1 (zh) 一种极化码编码方法及装置
CN109525370B (zh) 基于zigbee的数据包发送方法
CN111328104B (zh) 数据包的解压缩方法和装置
CN106537959B (zh) 电信网络中编码和解码帧的方法
CN101667843A (zh) 嵌入式系统的数据压缩、及解压缩方法与装置
CN117240409B (zh) 一种用于智能手机与智能穿戴设备的数据处理方法
CN1357189A (zh) 利用历史信息的稳健的德尔塔编码技术
CN1516936A (zh) 分组发送装置、分组接收装置和分组传输方法
CN116723250A (zh) 一种dl/t645帧的压缩方法和数据传输系统
CN110636035B (zh) 一种通信方法、装置及可读存储介质
CN103944690B (zh) 一种rlc数据重传系统中的位图压缩方法
CN115811351A (zh) 一种基于北斗卫星通讯的语音传输方法、设备及系统
CN114827287A (zh) 一种数据的压缩方法及系统
CN102136888B (zh) 一种子块解交织输入数据处理方法及装置
CN107294878A (zh) 数据传输方法、系统及相关设备
CN104113345B (zh) 解压缩电路与相关的解压缩方法
CN111865475B (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