首部复原装置和首部复原方法
技术领域
本发明涉及分组传输时进行首部压缩、复原的方法,尤其涉及分组传输中发生差错时要求更新参考信息的首部压缩复原方法。
背景技术
当前,作为在互联网上进行数据传输的典型传输协议,可举出TCP(Transmission Control Protocol:传输控制协议)/IP(Internet Protocol:互联网协议)和UDP(User Datagram Protocol:用户数据报协议)/IP等。在低位速率或中位速率传输线路上利用这些传输协议传输数据时,由于TCP、UDP、IP等规定的首部规模大,往往产生通信额外开销的问题。例如,用UDP/IP发送10字节的数据时,包含10字节数据部分的UDP/IP总规模为38字节,是实际要发送的数据4倍左右。经常发生这种情况,则其结果会使传输线路有效速率显著下降。
作为减少这种首部规模所造成额外开销的方法,有RFC1144和RFC2508规定的U.Jacobsom的首部压缩方式。此首部压缩方式仅发送连续数据分组的首部中,对前一数据分组有变化的段。内容变化的部分实际上不多,因而能压缩首部发送数据。但是,此方法属于面向图5所示那种有线区段规定的首部压缩方法,在频繁发生差错的传输线路中无效。
图6示出一种通信网,其对象为近年来用户大量增加的便携电话网(W-CDMA等)的无线终端。这种便携电话网包含上述频繁发生差错的无线传输区段。作为面向具有这种常发生传输差错特征的无线区段首部引起的额外开销减少方法可举出基于IETF(Internet Engineering Task Force:互联网工程任务组)正在审议的ROHC(Robust Header Compression:牢靠首部压缩)的首部压缩方式。关于ROSC的首部压缩方式,在“draft-ietf-rohc-rtp-00.txt(2000年6月29日)”中有详细说明。
此ROHC的首部压缩方式设置发送端(压缩端)和接收端(复原端)分别进行数据压缩、数据复原时双方共用的参考信息。即,发送端进行数据压缩时用的参考信息,接收端进行数据复原时也用。借助这样使参考信息共用,能正确进行数据复原。图7示出进行这种ROHC首部压缩方式的数据传送例。
图7中,开始发送数据时,发送端和接收端相互保持正确的参考信息α。首先,考虑发送端对接收端传输首部H1和数据D1的情况。发送端利用参考信息α对首部H1所对应的数据进行压缩。这里,首部H1与经过数据压缩后发送到接收端的压缩首部H′1的关系可表示为式(1)如下:
H′1=H1*α (1)
式(1)中,运算号*表示的运算方法,在成为压缩对象的首部中的每一信息区(下文称为信息区)各不相同。例如,信息区为UDP端口号时不变,信息区为RTP序列号时递增1,信息区为RTP时间标记时递增50,因而成为与这些情况对应的运算方法。
这样,参考信息α包含上述那样的各信息区压缩所需要的全部信息。因此,只要接收端照原样正确保持与发送端相同的该参考信息α,接收端就能正确地将收到的压缩首部H′1复原为原来的首部H1。于是,接收端能正确接收首部H1和数据D1。从首部H2和数据D2到首部H4和数据D4,也利用参考信息α压缩首部后,同样传送。
下面,考虑参考信息变化的情况。图8示出中途参考信息变化时的数据传送例。图8中,在传送首部H2和数据D2后,参考信息从α变为β,并利用变化后的参考信息β压缩首部H3。
例如,假设所传送首部的RTP时间标记递增50处要传送数据D3时,变化为递增100。这时,发送端将至今保持着的参考信息α(“使RTP时间标记递增50”的内容)变化为β(“使RTP时间标记递增100”的内容)。如图8所示,这样的参考信息的更新对传送的压缩首部(这里为首部H′3)还采用附加的参考更新信息。接收端根据该参考更新信息,对参考信息进行更新。
有时没有明显发送参考更新信息而更新参考信息。下面,对此作简单说明。序列号备有4位。4位可表示到15为止的整数,不能表示16以上的整数。因此,16以上的整数N用N模16表示。于是,接收端中,所接收的序列号每次从最大值(这里为15)变化到最小值(这里为0),使L递增1,并计算L*16+(所接收序列号),从而算出序列号。可认为此方法是,没有明显发送更新信息,但在序列号超过最大值时,在发送端和接收端双方更新参考信息。
以上那样的首部复原方法,可用以下那样的首部复原装置实现。图9为实现已有例所示首部复原方法的首部复原装置的结构说明框图。
图9中,首部复原装置1007具有数据分组输出部分1001、检错部1002、首部复原部1003、数据分组接收部1004、参考信息管理部1005和更新要求部1006。
分组数据接收部1004将发送端发送的首部压缩的数据分组输出到首部复原部1003。首部复原部1003参照参考信息管理部1005中管理的参考信息,将压缩首部复原后,输出到检错部1002。压缩首部添加有参考更新信息时,首部复原部1003对参考信息管理部中管理的参考信息进行更新。检错部1002检测首部复原后的分组数据的差错,并将能正确复原的数据分组输出到数据分组输出部1001。不能正确复原的数据分组则丢弃。更新要求部1006接收由检错部1002检出的出差错通知,并对发送端发送更新要求。根据上述“draft-ieft-rohc-rtp-00.tst(2000年6月29日)”,更新要求部1006具体发送NACK(否定确认)数据分组。参考信息管理部1005管理首部复原用的参考信息。数据分组输出部输出首部复原后的数据分组。
这样,首部复原装置1007检测压缩后的首部的差错。这里,通常在压缩后的首部添加判定首部复原后的数据分组是否存在差错的CRC(Cyclic RedundancyCode:循环冗余码)。因此,压缩后的首部和有效负载由于无线传输中的噪声等而产生差错时,能检测出该差错,并丢弃出错的数据分组。
图10示出因无线传输中的噪声而产生差错的数据传输例。图10中,首部H2经压缩后首部H′2和数据D2在无线区段等中传输时,压缩首部H′2受噪声等的影响而产生差错。图中用虚线的×表示。因此,如图中实线的×号所示,接收端未正确复原首部,丢弃全部数据分组。
当然,添加参考更新信息的压缩首部也会发生传输过程中的差错。图11示出的例子为添加参考更新信息的首部产生差错,从而错误地更新参考信息。图11中,在无线区段等传输首部H3压缩后的H′3和数据D3的过程中,压缩首部H′3添加的参考更新信息受噪声等的影响,其内容发生变化。图中用虚线的×号表示。因此,接收端根据变化的参考更新的信息β′错误地更新参考信息,从而参考错误的参考信息复原的首部H3与发送端中进行首部压缩前的首部H3不同。而且,其后传输来的首部H4以下,也是这样。因此,如图中实线×号所示那样,接收端由于首部未正确复原而出错,通常丢弃全部数据分组。
然而,有时也例外,即虽然首部未正确复原,但却未成为出错而不丢弃数据分组。图12示出有时错误更新了参考信息时,也不作为出错数据分组的现象。图12中,将接收端的参考信息错误更新为与发送端的参考信息α不同的α′,因而在接收端错误复原首部H1和H2。于是,首部未正确复原,所以CRC出错,理应丢弃全部数据分组。然而,CRC原理上不可能无遗漏地检测出全部差错,有此偶然将错误复原的首部判断为正确。图12中,首部H3和数据D3就是偶然判断为正确而未丢弃的数据分组。
如上所述,即使假设没有检测出差错,也不能判别为完全没有基于噪声的复原差错和基于参考信息错误的复原差错。此外,即使假设检测出一个差错,也不能判别该1个差错是基于噪声的复原差错,还是基于参考信息错误的复原差错。因此,根据上述已有例,每次发生差错要发送更新要求(代表性的是NACK)。然而,在参考信息正确,仅仅因噪声而产生差错的情况下,也发送不必要的更新要求,所以根据已有例,存在噪声造成的差错越多,首部压缩效率越低的问题。
发明内容
因此,本发明的目的在于提供一种首部复原方法,根据首部已复原的数据分组的差错状态要求参考信息更新,而不进行不必要的更新要求。
为了达到上述目的,本发明具有以下所述的特征。
本发明的第一方面提供一种首部复原装置,在进行首部压缩后,传送数据分组时,采用与发送端进行首部压缩时所用参考信息相同的参考信息,进行首部复原,该首部复原装置具有:从所述发送端接收数据分组的数据分组接收部;存放并管理所述参考信息的参考信息管理部;首部复原部,该部输入接收的数据分组,并参照所述参考信息管理部存放的参考信息,进行所述首部复原;检测包含复原后的首部的数据分组中的差错的检错部;对所述检错部检测到的有无差错进行计数并将有差错的分组数和无差错的分组数之间的关系加以存储的计数存储部;更新要求部,根据所述计数存储部存储的有差错的分组数和无差错的分组数之间的关系,判定需要更新所述参考信息管理部存放的参考信息时,对所述发送端发送要求更新所述参考信息的更新要求。
本发明的第二方面提供如本发明的第一方面所述的首部复原装置,其中,所述计数存储部中存储一预定值W,所述计数存储部从所述分组接收部过去接收的W个分组中对具有由所述检错部检测出的差错的数据分组数R进行计数并加以存储;所述更新要求部根据所述计数存储部存储的W和R,在R超过规定值时,判定为需要更新所述参考信息管理部存储的参考信息。
本发明的第三方面提供如本发明的第二方面所述的首部复原装置,其中,在R超过取决于W的规定值时,所述更新要求部判定需要更新所述参考信息管理部存储的参考信息。
本发明的第四方面提供一种首部复原方法,在进行首部压缩后,传送数据分组时,采用与发送端进行首部压缩时所用参考信息相同的参考信息,进行首部复原,该首部复原方法包含:从所述发送端接收数据分组的数据分组接收步骤;首部复原步骤,该步骤输入接收的数据分组,并参照存放的参考信息,进行所述首部复原;检测包含复原后的首部的数据分组中的差错的检错步骤;对所述检错步骤检测到的有无差错进行计数并将有差错的分组数和无差错的分组数之间的关系加以存储的计数存储步骤;更新要求步骤,根据所述计数存储步骤存储的有差错的分组数和无差错的分组数之间的关系,判定为需要更新存放的参考信息时,对所述发送端发送要求更新所述参考信息的更新要求。
本发明的第五方面提供如本发明的第四方面所述的首部复原方法,其中,所述计数存储步骤使用一预定值W,并从所述分组接收步骤过去接收的W个分组中对具有由所述检错步骤检测出的差错的数据分组数R进行计数并加以存储;所述更新要求步骤根据所述计数存储步骤存储的W和R,在R超过规定值时,判定为需要更新存放的参考信息。
本发明的第六方面提供如本发明的第五方面所述的首部复原方法,其特征在于,在R超过取决于W的规定值时,所述更新要求步骤判定需要更新存放的参考信息。
通过结合附图阅读以下详细说明,会明白本发明的其他目的、特征和优点。
附图说明
图1为示出第1实施形态所涉及首部压缩装置607的结构的框图。
图2为示出第1实施形态所涉及首部复原装置709的结构的框图。
图3为接收到数据分组P1至P11时的复原状况以及X和Y值的示例图。
图4示出第2实施形态所涉及首部复原装置908的结构的框图。
图5为说明有线的首部压缩区段用的图。
图6为说明无线的首部压缩区段用的图。
图7为进行已有ROHC首部压缩方式的数据传送示例图。
图8为已有首部压缩在中途发生参考信息变化时的数据传送示例图。
图9为示出实现已有例所示首部复原方法的首部复原装置结构的框图。
图10为已有首部压缩因无线传送中的噪声而产生差错的数据传送示例图。
图11为已有首部压缩因添加参考更新信息的首部产生差错而错误更新参考信息的示例图。
图12为已有首部压缩在参考信息被错误更新时也存在非差错数据分组的示意图。
具体实施方式
第1实施形态
本发明第1实施形态的首部压缩、复原方法由图1和图2所示那样的首部压缩装置和首部复原装置实现。下面,参照这些图说明各装置的结构。
图1为示出首部压缩装置607的结构的框图。
图1中,首部压缩装置607具有数据分组输入部601、CRC添加部602、首部压缩部603、数据分组发送部604、参考信息管理部605和更新要求受理部606。
数据分组输入部601将输入的数据分组输出到CRC添加部602。CRC添加部602给输入的数据分组添加CRC后,将其输出到首部压缩部603。首部压缩部603参照参考信息管理部605中管理的参考信息,对输入的数据分组的首部进行压缩后,将其输出到数据分组发送部604。后文将说明如何压缩首部。数据分组发送部604将所输入首部已压缩的数据分组发送到接收端。参考信息管理部605管理由首部压缩部603使用的参考信息。更新要求受理部606接收来自发送端的更新要求,并通知参考信息管理部605。接到通知的参考信息管理部605对首部压缩部603输出所管理的参考信息,并指示将其添加到压缩首部。
图2为示出首部复原装置709的结构的框图。图2中,首部复原装置709具有数据分组输出部701、检错部702、首部复原部703、数据分组接收部704、连续复原差错计数部705、连续复原成功计数部706、参考信息管理部707和更新要求部708。
数据分组接收部704接收发送端送来的首部已压缩数据分组,并将其输出到首部复原部703。首部复原部703参照参考信息管理部707中管理的参考信息,将压缩的首部复原后,输出到检错部702。检错部702检测部首已复原的数据分组的CRC差错,仅将能正确复原的数据分组输出到数据分组输出部701。连续复原差错计数部705对检错部702检测出的连续差错进行计数。连续复原成功计数部706对检错部702检测出的连续复原成功进行计数。更新要求部708参照连续复原差错计数部705和连续复原成功计数部706的计数,如后文所述那样判断更新要求的必要性,根据需要,对发送端发送更新要求。参考信息管理部707管理首部复原用的参考信息。
本发明中,上述那样的差错或复原成功连续的状态取为包含有差错的状态连续2次以上,或无差错状态连续2次以上的情况,此外,还包含有差错的状态仅存在1次,或无差错误状态仅存在1次的情况。
下面,具体说明如上所述那样构成的本实施形态所涉及首部压缩装置和首部复原装置的运作。输入的数据分组取为视频数据和音频数据中添加RTP/UDP/IP的首部的数据分组。
首先,说明图1中首部压缩装置607的具体运作。数据分组输入部601将从外部输入的RTP/UDP/IP的数据分组输出到CRC添加部602。CRC添加部602对全部数据分组计算CRC,并添加到数据分组中。
首部压缩部603用参考信息管理部605管理的参考信息进行首部压缩。这里进行的首部压缩,在根据序列号能进行首部复原时,不更新参考信息,仅将序列号作为首部。在不能根据序列号进行首部复原时,与该首部信息的更新信息一起,将序列号作为首部。分组数据发送部604将以上那样的首部压缩的数据分组发送到接收端。
参考信息管理部605存放并管理首部压缩部603使用的参考信息。首部压缩部603若更新参考信息,则参考信息管理部605更新存放的参考信息。从更新要求受理部606得到受到更新要求的通知信息,参考信息管理部605就指示首部压缩部603将更新信息添加到首部。
更新要求受理部606受理接收端提出的更新要求。受理更新要求时,更新要求受理部将受理更新要求的信息通知参考信息管理部605。
其次,说明图2中首部复原装置709的具体运作。数据分组接收部704接收图1中数据分组发送部604发送的首部压缩数据分组,并输出到首部复原部703。
首部复原部703参照参考信息管理部707中的参考信息,将首部压缩的数据分组的首部复原。首部复原的数据分组输出到检错部702。首部添加有参考信息的更新信息时,首部复原部703将该更新信息通知参考信息管理部707。
检错部702用CRC检测首部复原的数据分组有无差错。检错部702进而将有无差错分别通知连续复原差错计数部705和连续复原成功计数部706。检错部702在检测到差错时,丢弃数据分组,而在未检测到差错时,从数据分组去除CRC后,将该分组输出到数据分组输出部701。数据分组输出部701将未检测到差错的RTP/UDP/IP数据分组输出到外部。
参考信息管理部707存放并管理首部复原所需的参考信息。参考信息管理部707在压缩的首部包含参考信息时,用首部复原部703通知的新参考信息,更新存放的参考信息。
连续复原差错计数部705根据检错部702通知的有无差错,对连续差错数X进行计数。例如,在某个数据分组检测到差错时,X为1,接着的数据分组也检测到差错时,X为2。又接着检测到差错时,X从3开始递增1。一旦数据分组中未检测到差错,则在该处终断连续,停止计数。
连续复原成功计数部706根据检错部702通知的有无差错,对连续复原成功数Y进行计数。例如,在某个数据分组未检测到差错时,Y为1,接着的数据分组也未检测到差错时,Y为2。又接着未检测到差错时,Y从3开始递增1,一旦数据分组中检测到差错,则在该处终断连续,停止计数。
更新要求部708将连续复原计数部705的输出X和连续复原成功计数部706的输出Y编成一组,判断是否提出更新要求。参照图3进一步详细说明此判断操作。
图3为接收数据分组P1到数据分组11时的复原状况以及X和Y值的示例图。图3中未示出数据分组P12设为产生复原差错的数据分组。
图3中,在数据分组P1检测到差错时,X=1,但在数据分组P2未检测到差错,因而X仍然保持1,并且Y=1。其后,到数据分组P4为止,未检测到差错,因而X=1,Y=3。接着,数据分组P5检测到差错时,相对于数据分组P1~P4所对应的一组差错有无,开始重新组合其后的差错有无。因此,将数据分组P1到P4的X、Y值作为一组,确定为X=1,Y=3。同样,从数据分组P5到P8检测到差错,因而X=4;从数据分组P9到P11未检测到差错,因而Y=3。其后,数据分组P12检测到差错,则成为新的组合,因而确定为X=4,Y=3。
这样,更新要求部708将连续复原差错及其后面紧接的连续复原成功作为一组,将其X和Y值与规定值比较。例如,X大于10,而且Y小于2时,设参考信息有错误,要求发送端更新。当然,这些规定值只不过是例子,不受这些值限制。但是,至少在存在X≥Y的关系时,由于连续复原差错多,可以说参考信息有错误的可能性高。
如上所述,本实施形态的首部复原装置709根据接收端中连续发生的复原差错数和复原成功数,对发送端提出更新要求,利用这种方法,能减少参考信息错误引起的数据分组丢弃数,有效传送数据分组。以上那样的首部复原装置709,其功能可在普通计算机系统实现。这种情况下,该功能由该计算机系统中执行的程序实现。该程序通常存放在CD-ROM等记录媒体中,或通过通信媒体传送。
第2实施形态
本发明第2实施形态的首部压缩、复原方法由图1和图4所示那样的首部压缩装置和首部复原装置实现。因此,第2实施形态所涉及压缩装置的结构与图1中首部压缩装置607的结构相同,省略其说明。下面,参照图4说明本实施形态所涉及首部复原装置的结构。
图4为示出首部复原装置908的结构的框图。图4中首部复原装置908具有数据分组输出部901、检错部902、首部复原部903、数据分组接收部904、有无复原差错存储部905、参考信息管理部906和更新要求部907。
数据分组接收部904将发送端送来的首部压缩数据分组输出到首部复原部903。首部复原部903参照参考信息管理部906中的参考信息,将压缩的首部复原后,输出到检错部902。检错部902检测首部复原的数据分组中的差错,并将能正确复原的数据分组输出到数据分组输出部901。有无复原差错存储部905对检错部902检测出的数据分组中有无差错进行计数并加以存储。更新要求部907输入有无复原差错存储部905中的计数,如后文所述判断更新要求的必要性,并根据需要,对发送端发送更新要求。参考信息管理部906管理首部复原用的参考信息。
下面具体说明以上那样构成的本实施形态所涉及的首部复原装置的运作。作为发送端的首部压缩装置607的运作与第1实施形态时相同,输入的数据分组也相同,取为在视频数据和音频数据添加RTP/UDP/IP的首部的数据分组。
图4的首部复原装置908中,数据分组接收部904接收图1中数据分组发送部604发送的首部压缩数据分组,并将其输出到首部复原部903。
首部复原部903参照参考信息管理部906中的参考信息,将首部压缩的数据分组的首部复原。首部复原的数据分组输出到检错部902。首部添加有参考信息的更新信息时,首部复原部903将该更新信息输出到参考信息管理部906。
检错部902用CRC检测首部复原的数据分组中有无差错。检错部902还将有无差错通知有无复原差错存储部905。检测部902在检测到差错时,丢弃数据分组;在未检测到差错时,从数据分去除CRC后,将该分组输出到数据分组数据部901。数据组输出部901将未检测到差错的RTP/UDP/IP数据分组输出到外部。
参考信息管理部906存放并管理首部复原所需的参考信息。参考信息管理部906在压缩的首部包含参考信息时,用首部复原903通知的新参考信息更新存放的参考信息。
有无复原差错存储部905根据检错部902通知的有无差错,对过去W个数据分组存储其中的差错数R。也可存储无差错数,以代替W或R。
更新要求部907将有无复原差错存储部905输出的W和R的值与规定值比较,判断是否提出更新要求。例如,设过去50个数据分组中45个有差错时,存在规定值以上的错误,要求发送端更新。即,W=50且R≥45时,作为参考信息有错误,要求发送端更新。当然,上述规定值只不过是例子,不受这些值限制。
如上所述,本实施形态的首部复原装置908在接收端过去接收的数据分组中,复原差错数比较多或相当多时,对发送端提出更新要求。利用这种方法,能减少参考信息错误引起的数据分组丢弃数,有效传送数据分组。以上那样的首部复原装置908的功能可在普通计算机系统实现。这时,该功能由该计算机系统中执行的程序实现。该程序通常存放在CD-ROM等记录媒体中,或通过通信媒体传送。
以上详细说明了本发明,但上述说明所有的方面只不过是本发明的示例,并不打算限定其范围。不言而喻,可进行种种改良和变形,而不脱离本发明的范围。