CN101753279A - 通信设备和通信方法 - Google Patents

通信设备和通信方法 Download PDF

Info

Publication number
CN101753279A
CN101753279A CN200910252092A CN200910252092A CN101753279A CN 101753279 A CN101753279 A CN 101753279A CN 200910252092 A CN200910252092 A CN 200910252092A CN 200910252092 A CN200910252092 A CN 200910252092A CN 101753279 A CN101753279 A CN 101753279A
Authority
CN
China
Prior art keywords
bag
resend
packet
recover
data packets
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
CN200910252092A
Other languages
English (en)
Other versions
CN101753279B (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of CN101753279A publication Critical patent/CN101753279A/zh
Application granted granted Critical
Publication of CN101753279B publication Critical patent/CN101753279B/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及一种通信设备和通信方法。该通信设备能够传送数据包、用来恢复传送失败的数据包的恢复包以及传送失败的所述数据包的重新发送包,所述通信设备包括:判定单元,被配置为当正常传送了传送失败的多个包中的第一包时,基于所述第一包和正常传送的所述恢复包,来判定传送失败的所述多个包中能够恢复的包;以及重新发送确定单元,被配置为当重新发送了确定为在被正常传送的情况下用来恢复多个数据包的所述第一包时,确定不重新发送能够恢复的所述多个包中的至少一部分。

Description

通信设备和通信方法
技术领域
本发明涉及一种包通信方法。
背景技术
通常,将在网络上保证通信带宽和通信速度并且补偿通信错误的技术统称为服务质量(QoS,Quality of Service)。更具体地,在以实时传输协议(RTP,Real-time Transport Protocol)格式传送声音和运动图像数据时,已知并使用自动重复请求(ARQ,Automatic Repeat Request)和前向错误校正(FEC,Forward Error Correction)。ARQ是用于重新发送由于通信错误而接收装置没有接收到的包的技术。FEC是用于使用附加到数据的冗余数据来恢复由于通信错误而没有正常接收到的包的技术。
还已知ARQ和FEC的组合,即混合ARQ(Hybrid ARQ)。例如,日本特开2004-159042号讨论了通过ARQ仅重新发送使用FEC无法恢复的包。
然而,重新发送的包使通信量增大。
例如,当存在多个使用FEC无法恢复的丢失包时,重新发送所有丢失包可能使通信量急剧增大。网络的拥挤可能导致这种丢失包。在这种情况下,希望尽可能减小通信量。
发明内容
本发明旨在抑制由于重新发送的包而引起的通信量的增大。
根据本发明的一个方面,提供了一种通信设备,其能够传送数据包、用来恢复传送失败的数据包的恢复包以及传送失败的所述数据包的重新发送包,所述通信设备包括:判定单元,被配置为当正常传送了传送失败的多个包中的第一包时,基于所述第一包和正常传送的所述恢复包,来判定传送失败的所述多个包中能够恢复的包;以及重新发送确定单元,被配置为当重新发送了确定为在被正常传送的情况下用来恢复多个数据包的所述第一包时,确定不重新发送能够恢复的所述多个包中的至少一部分。
从以下参照附图对示例性实施例的描述,本发明的其它特征将变得明显。
附图说明
包含在说明书中并构成说明书的一部分的附图示出了本发明的示例性实施例、特征和方面,并且与说明书一起,用来解释本发明的原理。
图1是示出第一示例性实施例的数据发送装置和数据接收装置的基本配置的框图。
图2示出了通过错误校正编码根据数据包生成FEC包的模式的示例。
图3示出了进行错误校正编码之后的数据包和FEC包的示例,其中一些包丢失。
图4示出了第一示例性实施例中的从在发送路径中出现包遗失到通过重新发送来恢复遗失的包的一系列处理。
图5是示出第二示例性实施例的数据发送装置和数据接收装置的基本配置的框图。
图6示出了第二示例性实施例中的从在发送路径中出现包遗失到通过重新发送来恢复遗失的包的一系列处理。
图7示出了进行错误校正编码之后的数据包和FEC包的另一示例,其中一些包丢失。
图8是示出连锁恢复数量和重新发送的数据包的数量之间的对应关系的表。
图9示出了根据以三行和三列的矩阵排列的数据包的FEC包生成的示例。
图10示出了根据以四行和四列的矩阵排列的数据包的FEC包生成的示例。
图11是示出第三示例性实施例中的判定要发送的数据包的处理的流程图。
具体实施方式
下面,参照附图详细描述本发明的各种示例性实施例、特征和方面。
图1是示出包括第一示例性实施例的数据发送装置101和数据接收装置102的发送/接收系统的基本配置的框图。在本示例性实施例中,数据发送装置101将包括视频和声音的数据包以及恢复包(FEC包)发送给数据接收装置102。FEC包用于恢复传送失败的数据包(丢失数据包)。失败的数据包(丢失数据包)是例如在发送路径中遗失了的数据包。数据接收装置102将用于请求重新发送使用恢复包无法恢复的丢失数据包的包发送给数据发送装置101。数据发送装置101和数据接收装置102两者是进行包通信的通信设备。
如图1所示,数据发送装置101包括RTP包生成单元103、FEC包生成单元104、包发送缓冲器105、发送/接收单元106和重新发送包确定单元107。数据接收装置102包括发送/接收单元108、包接收缓冲器109、包恢复单元110和包重新发送请求单元111。
数据发送装置101经由发送路径112以可通信的方式连接到数据接收装置102。
RTP包生成单元103将从外部装置输入的视频数据和/或声音数据分类为各自具有适合通信的大小的数据片断,并且对通信所需的各个片断附加头(header),以生成RTP数据包。RTP包生成单元103将生成的数据包输出到FEC包生成单元104和包发送缓冲器105。
在RTP包生成单元103生成的数据包遗失时,FEC包生成单元104生成用于恢复所生成的数据包的恢复包(FEC包)。换句话说,FEC包生成单元104生成恢复包(FEC包),传送该恢复包(FEC包),使得数据接收装置102恢复传送失败的包(丢失数据包)。例如,如图2所示,FEC包生成单元104通过错误校正编码,根据A至I九个数据包201生成六个FEC包R1至R6。
一般的错误校正编码使用奇偶校验(parity)(XOR)码、BCH码和Reed-Solomon码。在本示例性实施例中,使用奇偶校验码来生成FEC包,但是使用的错误校正码不限于奇偶校验码,而可以是包括上面列出的代码的其它代码。
在图2中,通过异或(XOR)运算基于数据包201的各行中的三个数据包分别生成FEC包R1至R3。通过XOR运算基于数据包201的各列中的三个数据包分别生成FEC包R4至R6。
如图2所示,本示例性实施例的FEC包生成单元104按矩阵排列RTP包生成单元103生成的数据包。然后,FEC包生成单元104针对排列在一行中的多个数据包生成一个FEC包,还针对排列在一列中的多个数据包生成一个FEC包。因此,本示例性实施例的FEC包生成单元104生成FEC包,使得每一个数据包属于两个恢复组。
当一个恢复组中的一个数据包丢失时,使用另两个数据包和相应的FEC包,通过XOR运算来恢复丢失数据包。例如,当数据包A丢失时,使用数据包B和C以及FEC包R1来恢复数据包A。每一个数据包可以属于单个恢复组或者三个或更多个恢复组。一个恢复组可以包括三个之外的任何数量的数据包。
下面,参照图3来描述恢复多个丢失包的方法。在图3中,假定数据包B、F、G和I以及FEC包R2、R4和R5丢失。在这种情况下,通过异或运算,使用三个包,更具体来说是正常接收到的数据包A和C以及FEC包R1,首先恢复丢失数据包B。
相比来说,数据包F、G和I各自处于丢失两个包的行和丢失两个包的列中,因此无法以上述方式进行恢复。然而,例如,如果重新发送并正常接收了丢失数据包F、G和I中的数据包F,则可以使用列中的包的组合来恢复数据包I。另外,基于恢复的数据包I,可以使用行中的包的组合来恢复数据包G。
当恢复了数据包B时,剩余三个数据包丢失。然而,这三个数据包可以通过重新发送例如数据包F来恢复,而不用重新发送所有的三个数据包。
当正常传送了重新发送的数据包时,在数据接收装置102中可以恢复的丢失数据包的数量根据情况而变化。
如图3所示,丢失数据包F、G和I中的任何一个的重新发送导致另外两个丢失数据包的恢复。例如,当重新发送了数据包F时,可以使用数据包C和F以及FEC包R6恢复数据包I。然后,可以使用数据包H和I以及FEC包R3恢复数据包G。类似地,数据包G或者I的重新发送还导致所有丢失数据包的连锁恢复。这里,将连锁恢复的数据包的数量称为“连锁恢复数量”。在本示例性实施例中,“连锁恢复数量”包括重新发送的数据包以及基于重新发送的数据包能够恢复的数据包。因此,在图3的示例中,数据包F、G和I中的各个的连锁恢复数量为3。
例如,数据包B的重新发送对于其它丢失数据包的恢复没有帮助,数据包B的连锁恢复数量为1。
下面,参照图7描述与图3的模式不同的另一模式。在图7中,九个数据包701中的数据包A、B、E、F、G和I丢失。在这种情况下,例如,当正常重新发送了数据包A时,可以在行和列方向上通过错误校正解码来恢复数据包B和G。可以在行方向上通过错误校正解码来恢复数据包I。然后,可以在列方向上通过错误校正解码来恢复数据包F。最后,可以在行方向上通过错误校正解码恢复数据包E。
当正常传送了数据包A之外的丢失数据包时,可以类似地以上述模式进行连锁恢复。换句话说,丢失数据包中的任何一个的重新发送导致其它丢失数据包的连锁恢复。因此,图7所示的六个丢失数据包中的各个的连锁恢复数量为6。
如上所述,当多个数据包丢失并且存在可以连锁恢复的包时,重新发送包确定单元107确定丢失数据包中要重新发送的包。换句话说,当确定可以通过正常重新发送丢失数据包中的一个来连锁恢复多个丢失数据包时,重新发送包确定单元107不重新发送多个可恢复的数据包中的至少一部分。重新发送包确定单元107基于包含在从数据接收装置102发送的重新发送请求包中的关于丢失数据包和丢失FEC包的识别信息,来确定可恢复的丢失数据包。
更具体地,当正常传送了传送失败的多个包中的第一包时,重新发送包确定单元107确定可以恢复的包。当重新发送了确定其正常传送时恢复多个包的第一包时,重新发送包确定单元107确定重新发送包,使得不重新发送多个可恢复的包中的至少一部分。
本示例性实施例的重新发送包确定单元107还对具有更大的连锁恢复数量的数据包赋予更高的重要性。如果重新发送并正常传送了具有更大的连锁恢复数量的数据包,则可以恢复更大数量的丢失数据包。但是如果重新发送的数据包丢失,则无法恢复更大数量的丢失数据包。因此,重新发送包确定单元107对具有更大的连锁恢复数量的数据包赋予更高的重要性,并重新发送更大数量的数据包。图8示出了连锁恢复数量和重新发送的包的数量之间的对应关系。连锁恢复数量和重新发送的数据包的数量之间的对应关系不限于图8中的对应关系。
在本示例性实施例中,将可以用来相互进行连锁恢复的丢失数据包的组称为“连锁恢复组”。相同连锁恢复组中的丢失数据包具有相同的连锁恢复数量。
当存在具有特定连锁恢复数量的丢失数据包时,意味着存在至少等于连锁恢复数量的数量的具有特定连锁恢复数量的丢失数据包。换句话说,例如,如果存在连锁恢复数量为3的丢失数据包,则存在连锁恢复数量各自为3的至少两个其它丢失数据包。此外,当正常重新发送了这三个丢失数据包中的任何一个数据包时,可以恢复另外两个丢失数据包,确定这三个丢失数据包属于同一个连锁恢复组。
例如,在丢失数据包A的正常接收导致丢失数据包B的恢复,并且丢失数据包B的正常接收导致丢失数据包A的恢复的情况下,确定丢失数据包A和B处于同一连锁恢复组中。处于同一连锁恢复组的丢失数据包满足以下条件。当正常传送了任意连锁恢复组中的丢失数据包中的任何一个时,可以恢复该连锁恢复组中的其它丢失数据包。
在上述图3和7所示的示例中,仅存在一个连锁恢复组。在图3和7中的示例中,连锁恢复组中的丢失数据包中的一个的正常传送导致该连锁恢复组中的其它丢失数据包全部恢复。如图3和7所示,在本示例性实施例中,当所有丢失包都属于同一个连锁恢复组时,根据连锁恢复组的连锁恢复数量来确定要重新发送的包的数量和重新发送的包。相比来说,下面,在第三示例性实施例中描述当丢失包属于多个连锁恢复组时进行的处理。连锁恢复组与上述恢复组不同。
如图8所示,重新发送包确定单元107在连锁恢复数量是1或者2时选择一个要重新发送的数据包。当存在连锁恢复数量为1的丢失数据包时,确定要重新发送该丢失数据包本身。当存在连锁恢复数量为2的丢失数据包时,重新发送包确定单元107确定重新发送连锁恢复组中的两个丢失数据包中的一个。类似地,对于其它丢失模式,重新发送包确定单元107确定要重新发送的数据包的数量。
例如,对于图7所示的丢失模式,丢失数据包(数据包A、B、E、F、G和I)各自的连锁恢复数量为6,并且属于同一个连锁恢复组。根据图8,针对六个连锁恢复的要重新发送的包的数量是3。在这种情况下,虽然丢失数据包A、B、E、F、G和I中的一个的正常重新发送导致其它丢失数据包的恢复,但是重新发送包确定单元107重新发送三个丢失数据包。
根据通过第一包的正常传送可以恢复的包的数量(连锁恢复数量),重新发送包确定单元107从能够恢复的包中确定与第一包一起重新发送的包的数量。因此,如果一部分重新发送的包遗失,也能够恢复丢失数据包。可以将丢失数据包中的相同数据包发送多次,这方便重新发送处理。可选地,可以重新发送连锁恢复组中的多个不同的包。当正常接收多个重新发送的包时,这方便恢复处理。
此外,当连锁恢复数量等于或者大于预定数量时,重新发送的包的数量可以小于丢失数据包的数量。更具体地,如图8所示,当连锁恢复数量为2时,对于两个丢失数据包来说重新发送的包的数量是1。可选地,当连锁恢复数量是4或者更大时,可以将图8中的重新发送的包的数量设置为小于丢失数据包的数量。在这种情况下,当连锁恢复数量等于预定数量或者更小时,重新发送所有丢失数据包。
接下来,参照图11的流程图和图4描述本示例性实施例中的重新发送的包的确定。图11是示出本示例性实施例的重新发送包确定单元107进行的重新发送包的确定的流程图。
图4示出了用于恢复数据发送装置101发送的在发送路径中丢失的包的处理的具体示例。
在图11中的步骤S1501中,数据发送装置101的重新发送包确定单元107检测发送的包的缺失。基于从数据接收装置102发送的重新发送请求包中的关于丢失包的信息,进行该检测。
如图4所示,数据发送装置101将例如数据包A至I以及FEC包R1至R6发送给数据接收装置102。这里假定在发送路径112中,数据包C、E、F和H以及FEC包R3和R6丢失。
数据接收装置102的包恢复单元110参照各个包的头中的序列号来检查丢失包。当检测到丢失数据包时,包恢复单元110确定使用其它正常接收的数据包和FEC包是否能够恢复丢失数据包,并且通过错误校正编码来恢复丢失数据包。在图4中的步骤S401中,使用正常接收的数据包A和B以及FEC包R1来恢复丢失数据包C。
当存在通过FEC包无法恢复的丢失数据包时,数据接收装置102向数据发送装置101发送包括关于丢失数据包和丢失FEC包的信息(序列号)的重新发送请求包。在图4中的步骤S402中,发送包括关于丢失数据包E、F和H以及丢失FEC包R3和R6的信息的重新发送请求包。
数据发送装置101不进行这里没有描述的步骤S1502和步骤S1503中的处理。
在步骤S1504(确定过程)中,重新发送包确定单元107将丢失数据包(E、F和H)分类为连锁恢复组。为了将包分类为连锁恢复组,重新发送包确定单元107确定正常传送各个丢失数据包时能够恢复的其它丢失数据包。例如,重新发送包确定单元107确定在正常传送了丢失数据包E的情况下能够恢复的丢失数据包。更具体地,在步骤S1504中,重新发送包确定单元107确定正常传送了作为传送失败的多个包(丢失数据包)中的一个的第一包(丢失数据包E)时能够恢复的丢失数据包。重新发送包确定单元107确定基于假定正常传送的丢失数据包(第一包)、正常传送的数据包和FEC包能够恢复的丢失数据包。
在图4中,存在一个连锁恢复组。因此,丢失数据包E、F和H中的任何一个的正常发送能够导致所有丢失数据包的恢复。各个丢失数据包的连锁恢复数量为3。在重新发送包确定单元107将丢失数据包分类为连锁恢复组之后,处理进行到步骤S1505。
在步骤S1505(确定过程)中,重新发送包确定单元107从具有最大连锁恢复数量的连锁恢复组中的丢失数据包中确定要重新发送的丢失数据包。在图4所示的示例中,重新发送包确定单元107从丢失数据包E、F和H中确定要重新发送的数据包。基于诸如图8的表的表来确定要重新发送的数据包的数量。当使用重新发送的包和FEC包能够恢复多个包时,重新发送包确定单元107从去除了至少一部分包的多个可恢复包中确定要重新发送的包。在图4中的步骤S403中,确定要重新发送数据包E和F,从而不重新发送丢失数据包H。
在步骤S1505中,当重新发送了确定通过其正常传送能够恢复多个包的第一包时,重新发送包确定单元107确定重新发送包,使得不重新发送多个可恢复包中的至少一部分。换句话说,在步骤S1505中,当重新发送了确定通过其正常传送能够恢复多个包的第一包时,重新发送包确定单元107确定不重新发送多个可恢复包中的至少一部分。在确定重新发送包之后,处理进行到步骤S1506。
在步骤S1506中,重新发送包确定单元107假定恢复了确定重新发送包的连锁恢复组中的所有丢失包,并且处理进行到步骤S1507。
在步骤S1507中,重新发送包确定单元107确定是否假定恢复了所有丢失包。如果重新发送包确定单元107确定假定恢复了所有丢失包(步骤S1507中的“是”),则处理进行到步骤S1508。而如果重新发送包确定单元107确定存在还未恢复的丢失包(步骤S1507中的“否”),则处理返回到步骤S1504。在图4所示的示例中,假定数据包E和F的重新发送导致所有丢失数据包的恢复,并且处理进行到步骤S1508。当不需要恢复所有丢失数据包时,重新发送包确定单元107确定是否假定恢复了需要恢复的丢失数据包。当如在图4中仅存在一个连锁恢复组时,可以省略步骤S1507中的处理。
在步骤S1508中,重新发送包确定单元107将在步骤S1505中确定的重新发送包的识别信息(例如序列号)通知给发送/接收单元106。发送/接收单元106基于关于重新发送包的识别信息从包发送缓冲器105中读取重新发送包的数据,并将重新发送包发送给数据接收装置102。在图4中,重新发送丢失数据包E、F和H中的数据包E和F。
数据接收装置102使用数据包B和E以及FEC包R5恢复丢失数据包H。在图4中,正常接收了重新发送的数据包E和F两者,但是这些数据包中的一个的正常接收也能够导致所有丢失数据包的恢复。如上所述,除了将两个不同的数据包(例如数据包E和F)确定为重新发送包之外,还可以确定仅将三个丢失数据包E、F和H中的一个数据包(例如数据包E)重新发送两次。
针对图8所示的表中的各个连锁恢复数量的重新发送包的数量可以全部是1。在这种情况下,如果在发送路径中重新发送包丢失,则无法实现其它数据包的恢复,但是可以减少要重新发送的包的数量。相应地,可以有效地减少由于丢失包的重新发送而引起的通信量的增大。
可以根据发送路径112的状况来确定重新发送包的数量。
在诸如本示例性实施例中的RTP包通信的RTP包通信中,使用RTP控制协议(RTCP,RTP Control Protocol)来监视包的接收状态。
在RTCP中,在包发送侧和包接收侧之间相互发送包括发送信息或者接收信息的包。将从接收侧到发送侧的包称为接收报告。接收报告包括关于遗失(丢失)的包和接收的包的累积数量的信息。此外,接收报告还包括关于包从数据发送装置101移动到数据接收装置102所需的时间(延迟时间)的延迟时间信息。
重新发送包确定单元107通过分析上述信息来确定发送路径112的状况。更具体地,发送路径112的拥挤使得丢失包与发送的包的比率(误码率)增高并且使得包发送所需的时间增多。因此,当误码率增大并且包从数据发送装置101移动到数据接收装置102所需的时间(延迟时间)增大时,本示例性实施例的重新发送包确定单元107确定出现拥挤。当确定在发送路径112中出现拥挤时,与没有拥挤时相比,重新发送包确定单元107减少重新发送包的数量。
换句话说,重新发送包确定单元107根据发送失败的包的数量(丢失包的数量)获得误码率。然后,当获得的第二误码率高于第一误码率并且确定为可恢复的包的数量(连锁恢复数量)是第一包数量时,重新发送包确定单元107如下确定重新发送包的数量。
重新发送包确定单元107确定重新发送包的数量,使得重新发送包的数量小于具有第一误码率并且连锁恢复数量是第一包数量的情况下的重新发送包的数量。此外,重新发送包确定单元107获得关于发送和接收包所需的延迟时间的延迟时间信息。然后,重新发送包确定单元107基于延迟时间信息和确定为可恢复的包的数量(连锁恢复数量),如下确定重新发送包的数量。
当获得了关于第一延迟时间的延迟时间信息,然后获得了关于比第一延迟时间长的第二延迟时间的延迟时间信息时,并且当连锁恢复数量是第一包数量时,重新发送包确定单元107将第二包数量确定为重新发送包的数量。
另外,在获得了关于第一延迟时间的延迟时间信息之后,如果获得了关于比第二延迟时间长的第三延迟时间的延迟时间信息,并且连锁恢复数量是第一包数量,则重新发送包确定单元107将第三包数量确定为重新发送包的数量。更具体地,重新发送包确定单元107确定重新发送包,使得重新发送能够连锁恢复的包中小于第二数量的第三数量的包。
关于包从数据发送装置101移动到数据接收装置102所需的时间(延迟时间)的延迟时间信息可以基于例如往返时间(Round Trip Time(RTT))或者抖动(jitter)信息,但是不限于此。可选地,可以基于误码率或者延迟时间信息来确定拥挤的出现。
如上所述,重新发送包确定单元107在确定在发送路径112上没有拥挤时,增加要重新发送的包的数量,而在确定在发送路径112上发生了拥挤时,减少要重新发送的包的数量。相应地,这种配置可以在路径上没有拥挤时增大恢复所有丢失包的可能性,并且降低由于重新发送包而使拥挤增大的可能性。
关注恢复所有丢失数据包而描述了上述示例,但是可能不需要恢复所有丢失数据包。可以确定重新发送包,使得恢复丢失数据包中具有更高优先级的数据包。
具有更高优先级的数据包包括例如帧内(intra-frame)压缩数据。帧内压缩数据是在不参照其它帧数据的情况下编码的运动图像数据。相比来说,帧间(inter-frame)压缩数据包括通过参照其它帧数据而编码的运动图像数据。稍后发送的数据很可能参照帧内数据。如果不恢复帧内数据,则丢失数据可能在长时间内对稍后的通信产生不利影响。因此,重新发送包确定单元107可以确定重新发送包,使得能够恢复包括帧内数据的数据包。更具体地,重新发送包确定单元107通过检查包是否包括通过参照其它帧数据而编码的运动图像数据,来确定是否重新发送发送失败的包。相应地,这种配置可以减小由于丢失数据包而产生的影响以及由于重新发送丢失包而引起的通信量的增大。
重新发送包确定单元107可以根据发送路径112是否处于拥挤状态来确定是恢复所有丢失数据包,还是仅恢复具有更高优先级的数据包。例如,当确定在发送路径112上出现拥挤时,重新发送包确定单元107重新发送丢失数据包中用于恢复帧内压缩运动图像数据的数据包。相比来说,当确定在发送路径112上没有出现拥挤时,重新发送包确定单元107确定重新发送的数据包,使得能够恢复所有丢失数据包。拥挤的出现的确定可以基于例如误码率、延迟时间信息或其组合。
更具体地,重新发送包确定单元107根据发送失败的包的数量(丢失包的数量)来获得误码率。当获得高于第一误码率的第二误码率时,重新发送包确定单元107从传送失败的包中确定重新发送包,使得重新发送包括没有通过参照其它帧数据而编码的运动图像数据的包。
此外,重新发送包确定单元107基于发送和接收包所需的时间获得延迟时间(增加的延迟时间量)。当获得关于第一延迟时间的延迟时间信息,然后获得关于比第一延迟时间长的第二延迟时间的延迟时间信息时,重新发送包确定单元107与帧内压缩或者帧间压缩无关地确定重新发送包。更具体地,重新发送包确定单元107确定重新发送包,使得重新发送包括帧内压缩运动图像数据的包和包括帧间压缩运动图像数据的包。
另一方面,重新发送包确定单元107确定重新发送包,使得在获得关于第一延迟时间的延迟时间信息之后,获得关于比第二延迟时间长的第三延迟时间的延迟时间信息时,重新发送包括帧内压缩运动图像数据的包。
除了帧内压缩运动图像数据之外,还根据例如显示画面上的数据位置或者在画面中的移动量,确定要优先的数据。重新发送包确定单元107可以设置多个级别的优先级并且根据拥挤状态和优先级的顺序来确定要重新发送的数据包。相应地,这种配置可以减小在路径上出现拥挤时由于丢失数据包而产生的影响,并且防止由于重新发送包而使拥挤劣化。
如上所述,本示例性实施例的数据发送装置101确定在正常传送了传送失败的数据包(丢失数据包)时能够恢复的数据包。当数据发送装置101重新发送确定在正常传送时用于恢复多个丢失数据包的丢失数据包时,数据发送装置101确定重新发送包,使得不重新发送通过重新发送的数据包能够恢复的丢失数据包的至少一部分。
这种配置可以抑制由于重新发送丢失包而导致的通信量的增大。此外,由于数据发送装置101确定要重新发送的包,可以与在数据接收装置102中设置的功能无关地获得本发明的示例性实施例的效果。
接下来,关注与第一示例性实施例的不同之处,来描述本发明的第二示例性实施例。
在第一示例性实施例中,数据发送装置101确定重新发送包。在本示例性实施例中,数据接收装置502确定需要重新发送的包。
图5是示出本示例性实施例的包括数据发送装置501和数据接收装置502的发送/接收系统的基本配置的框图。
在本示例性实施例中,数据发送装置501将诸如视频和声音的数据包以及恢复包(FEC包)发送给数据接收装置502。数据接收装置502使用FEC包来恢复传送失败的数据包。数据接收装置502还基于通过恢复包无法恢复的丢失数据包来确定需要重新发送的数据包,并向数据发送装置501发送重新发送请求包。数据发送装置501和数据接收装置502两者都是进行包通信的通信设备。
如图5所示,本示例性实施例的数据接收装置502包括重新发送包确定单元513。
在第一示例性实施例中,数据接收装置102将关于在发送路径112中丢失的包的信息通知给数据发送装置101,使得数据发送装置101确定要重新发送的数据包。相比来说,在本示例性实施例中,数据接收装置502确定要重新发送的数据包,并将包括关于确定要重新发送的数据包的信息(例如序列号)的重新发送请求包通知给数据发送装置501。
接下来,参照图11的流程图和图6来描述本示例性实施例的重新发送包确定处理。
图11是示出本示例性实施例的重新发送包确定单元513进行的确定重新发送包的处理的流程图。
图6示出了用于恢复数据发送装置501发送的在发送路径中丢失的包的处理的具体示例。
在图11中的步骤S1501中,数据接收装置502的包恢复单元110检测丢失数据包。本示例性实施例的包恢复单元110参照各个接收到的包的头处的序列号,以检查任何丢失数据包。更具体地,当存在丢失序列号时,包恢复单元110检测到丢失数据包。在图6中,数据发送装置501将数据包A至I以及FEC包R1至R6发送给数据接收装置502。假定在发送路径112中,数据包C、E、F和H以及FEC包R3和R6丢失。在包恢复单元110检测到丢失包之后,处理进行到步骤S1502。
在步骤S1502中,数据接收装置502的包恢复单元110确定是否存在使用正常接收的数据包和FEC包能够恢复的丢失数据包。如果确定存在能够恢复的丢失数据包(步骤S1502中的“是”),则处理进行到步骤S1503,如果确定不存在能够恢复的丢失数据包(步骤S1502中的“否”),则处理进行到步骤S1504。在图6中,使用正常接收的数据包A和B以及FEC包R1能够恢复丢失数据包C,因此处理进行到步骤S1503。
在步骤S1503中,包恢复单元110通过错误校正解码来恢复能够恢复的丢失数据包。在图6中的步骤S601中,包恢复单元110恢复丢失数据包C。本示例性实施例的FEC包的头包括关于与其相对应的数据包的信息。例如,图6中的FEC包R1在其头处包括表示FEC包R1对应于数据包A、B和C的信息。包恢复单元110基于该信息恢复丢失数据包C。
如果存在通过FEC包无法恢复的任何丢失数据包,数据接收装置502将关于丢失数据包和丢失FEC包的信息(序列号)通知给重新发送包确定单元513。在图6中,数据接收装置502通知关于丢失数据包E、F和H以及丢失FEC包R3和R6的信息。在包恢复单元110通知关于无法恢复的丢失数据包和丢失FEC包的信息之后,处理进行到步骤S1504。
在步骤S1504(确定过程)中,重新发送包确定单元513将丢失数据包分类为连锁恢复组。为了将包分类为连锁恢复组,重新发送包确定单元513确定正常传送各个丢失数据包时能够恢复的其它丢失数据包。例如,重新发送包确定单元513确定在正常传送了丢失数据包F的情况下能够恢复的丢失数据包。更具体地,在步骤S1504中,重新发送包确定单元513确定正常传送了作为传送失败的多个包(丢失数据包)中的一个的第一包(丢失数据包F)时能够恢复的丢失数据包。重新发送包确定单元513基于关于与FEC包相对应的数据包的信息来确定可恢复的丢失数据包,该信息包含在FEC包的头中。
在图6中,存在一个连锁恢复组。因此,丢失数据包E、F和H中的一个的正常传送导致所有丢失数据包的恢复。各个丢失数据包的连锁恢复数量为3。在重新发送包确定单元513将丢失数据包分类为连锁恢复组之后,处理进行到步骤S1505。
在步骤S1505(确定过程)中,重新发送包确定单元513从具有最大连锁恢复数量的连锁恢复组中的丢失数据包中确定要重新发送的丢失数据包。在图6中,重新发送包确定单元513从丢失数据包E、F和H中确定要重新发送的数据包。基于诸如图8的表的表来确定要重新发送的数据包的数量。在图6中的步骤S602中,确定要重新发送数据包E和F,从而不重新发送丢失数据包H。
在步骤S1505中,当重新发送了确定在正常传送时恢复多个包的第一包时,重新发送包确定单元513确定重新发送包,使得不重新发送多个可恢复包中的至少一部分。在确定重新发送包之后,处理进行到步骤S1506。
在步骤S1506中,重新发送包确定单元513假定恢复了确定了重新发送包的连锁恢复组中的所有丢失包,并且处理进行到步骤S1507。在图6中,假定恢复了所有丢失包E、F和H。
在步骤S1507中,重新发送包确定单元513确定是否假定恢复了所有丢失数据包。如果重新发送包确定单元513确定假定恢复了所有丢失包(步骤S1507中的“是”),则处理进行到步骤S1508。而如果重新发送包确定单元513确定存在还未恢复的丢失包(步骤S1507中的“否”),则处理返回到步骤S1504。在图6所示的示例中,假定数据包E和F的重新发送导致所有丢失数据包的恢复,并且处理进行到步骤S1508。当不需要恢复所有丢失数据包时,重新发送包确定单元513确定是否假定恢复了需要恢复的丢失数据包。当如在图6中仅存在一个连锁恢复组时,可以省略步骤S1507中的处理。
在步骤S1508中,重新发送包确定单元513将在步骤S1505中确定的重新发送的数据包的识别信息(例如序列号)通知给包重新发送请求单元111。包重新发送请求单元111基于关于重新发送的数据包的识别信息生成重新发送请求包。然后,发送/接收单元106将包重新发送请求单元111生成的重新发送请求包发送给数据发送装置501。在图6中的步骤S603中,发送针对丢失数据包E、F和H中的数据包E和F的重新发送请求包。当接收到重新发送请求包时,数据发送装置501重新发送数据包E和F。然后,数据接收装置502使用数据包B和E以及FEC包R5恢复丢失数据包H。
在图6中,正常接收了重新发送的数据包E和F两者,但是这些数据包中的一个的正常接收也可以导致所有丢失数据包的恢复。如上所述,除了将两个不同的数据包(例如数据包E和F)确定为重新发送包之外,还可以确定仅将三个丢失数据包E、F和H中的一个数据包(例如数据包E)重新发送两次。
以这种方式,数据接收装置502可以针对重新发送请求确定数据包。此外,通过在数据接收装置502中确定需要重新发送的包,可以减轻数据发送装置501的负荷。
接下来,关注与第一和第二示例性实施例的不同之处,来描述根据本发明的第三示例性实施例。在第一和第二示例性实施例中,描述了包括一个连锁恢复组并且多个丢失数据包中的一个重新发送的数据包的正常接收能够导致其它丢失数据包的恢复的示例。相比来说,下面,在本示例性实施例中,详细描述包括多个连锁恢复组的示例。当存在多个连锁恢复组时,所有丢失数据包的恢复需要多个重新发送的数据包的正常接收。在本示例性实施例中,由数据接收装置502确定重新发送的数据包。本示例性实施例的发送/接收系统具有与图5所示的配置类似的基本配置。然而,如在第一示例性实施例中描述的,数据发送装置101可以确定重新发送的数据包。
图9示出了数据包A、B、C、E、F、G和I以及FEC包R5丢失。在第一和第二示例性实施例中的丢失模式中,例如如图3和7所示,所有丢失数据包具有与丢失数据包的数量相等的连锁恢复数量。相比来说,在图9所示的丢失模式中,所有丢失数据包具有小于丢失数据包的数量的连锁恢复数量。因此,为了恢复所有丢失数据包,需要正常传送多个重新发送的数据包。
在图9中,数据包A、G和I属于同一连锁恢复组。如上所述,连锁恢复组由能够相互连锁恢复的丢失数据包构成。一个连锁恢复组中的丢失数据包具有相同的连锁恢复数量。数据包A、G和I各自具有相同的连锁恢复数量为3。数据包A、G和I中的一个数据包的正常传送能够导致该连锁恢复组中的所有数据包的恢复。
类似地,丢失数据包E和F属于同一连锁恢复组。丢失数据包B和C各自属于不同的连锁恢复组。在图9中的丢失模式中,重新发送的丢失数据包B的正常传送不能导致其它丢失数据包的恢复。
当存在多个连锁恢复组时,重新发送包确定单元513将丢失数据包分类为连锁恢复组,并且从具有最大连锁恢复数量的连锁恢复组中的丢失数据包中确定要重新发送的数据包。然后,重新发送包确定单元513假定恢复了具有最大连锁恢复数量的连锁恢复组中的所有丢失数据包,并且将还未恢复的丢失数据包分类为连锁恢复组。之后,重复类似的处理,以从具有最大连锁恢复数量的连锁恢复组中的丢失数据包中确定要重新发送的数据包。
本示例性实施例的重新发送包确定单元513根据上述过程重复重新发送的数据包的确定,直到假定恢复了需要恢复的所有丢失数据包为止。
接下来,描述重新发送包确定单元513进行的将数据包分类为连锁恢复组的处理。重新发送包确定单元513计算当正常传送了各个丢失数据包时,能够恢复的丢失数据包。
例如,在图9中,当正常传送了丢失数据包A时,能够恢复数据包G和I,而当正常传送了丢失数据包G时,能够恢复数据包A和I。类似地,当正常传送了丢失数据包I时,能够恢复数据包A和G。因此,重新发送包确定单元513确定数据包A、G和I属于同一连锁恢复组。
类似地,当正常传送了丢失数据包E时,能够恢复数据包F,而当正常传送了丢失数据包F时,能够恢复数据包E。因此,重新发送包确定单元513确定数据包E和F属于同一连锁恢复组。
数据包B的正常传送不导致任何丢失数据包的恢复,这意味着没有其它丢失数据包与数据包B属于同一连锁恢复组。对数据包C进行相同的考虑。
上述分类提供了图9中的四个连锁恢复组,即由连锁恢复数量为3的数据包{A,G,I}构成的组1301,由连锁恢复数量为2的数据包{E,F}构成的组1302,由连锁恢复数量为1的数据包{B}构成的组1303,以及由连锁恢复数量为1的数据包{C}构成的组1304。重新发送包确定单元513从上述连锁恢复组中具有最大连锁恢复数量的连锁恢复组{A,G,I}中,确定重新发送的数据包。重新发送包确定单元513可以根据连锁恢复数量确定多个重新发送的数据包。
重新发送包确定单元513假定恢复了具有最大连锁恢复数量的连锁恢复组中的所有丢失数据包,并且将其它包分类为连锁恢复组。然后,重新发送包确定单元513从具有最大连锁恢复数量的连锁恢复组中确定重新发送的数据包。之后,重复类似的处理,使得恢复所有丢失数据包。在不需要恢复所有丢失数据包的情况下,可以终止处理。
当丢失数据包具有优先级时,重新发送包确定单元513可以按照优先级的顺序确定用来确定重新发送的数据包的连锁恢复组。
在上述丢失模式中,当特定丢失数据包(例如数据包A)的正常传送能够导致其它丢失数据包(例如数据包G)的恢复时,丢失数据包G的正常传送能够导致丢失数据包A的恢复。因此,通过丢失数据包中的一个的正常传送能够相互恢复的所有丢失数据包属于同一连锁恢复组。
然而,存在下列情况:虽然一个丢失数据包A的正常传送导致丢失数据包B的恢复,但是丢失数据包B的正常传送不导致丢失数据包A的恢复。这例如在如图2所示的配置中数据包B、C、E、F、G和H以及FEC包R4丢失时发生。在这种错误模式中,例如,丢失数据包H的正常传送导致丢失数据包G的恢复,但是不导致其它丢失数据包B、C、E和F的恢复。
相比来说,丢失数据包E的正常传送导致所有丢失数据包B、C、E、F、G和H的恢复。在这种情况下,重新发送包确定单元513将丢失数据包分类为由丢失数据包B、C、E和F构成的连锁恢复组以及由丢失数据包G和H构成的另一连锁恢复组。丢失数据包B、C、E和F中的各个的连锁恢复数量为6,丢失数据包G和H中的各个的连锁恢复数量为2。本示例性实施例的重新发送包确定单元513从假定重新发送导致丢失数据包G和H的恢复的丢失数据包B、C、E和F中确定要重新发送的数据包。因此,重新发送包确定单元513不从由丢失数据包G和H构成的连锁恢复组中确定要重新发送的数据包。然而,为了减小处理负荷,可以从各个连锁恢复组中确定要重新发送的数据包。
下面,参照图11和图9来描述本示例性实施例的重新发送的数据包的确定。
图11是示出本示例性实施例的数据接收装置502进行的确定重新发送包的处理的流程图。
在步骤S1501中,包恢复单元110通过监视接收到的包的序列号来检测遗失的包(丢失数据包)。在图9中,包恢复单元110检测到发送的数据包A至I以及FEC包R1至R6中,数据包A、B、C、E、F、G和I以及FEC包R5丢失。当包恢复单元110检测到丢失包(步骤S1501中的“是”)时,处理进行到步骤S1502,如果没有检测到丢失包(步骤S1501中的“否”),则重复丢失数据包的检测。
在步骤S1502中,包恢复单元110确定通过错误校正解码能够恢复的丢失数据包。换句话说,在步骤S1502中,包恢复单元110确定使用FEC包(恢复包)是否能够恢复丢失数据包。当包恢复单元110确定存在通过错误校正解码能够恢复的数据包(步骤S1502中的“是”)时,处理进行到步骤S1503,恢复丢失数据包。更具体地,包恢复单元110使用正常接收到的数据包和FEC包恢复丢失数据包。
而当包恢复单元110确定不存在通过错误校正解码能够恢复的丢失数据包(步骤S1502中的“否”)时,处理进行到步骤S1504。在图9中的错误模式中,不存在使用FEC包能够恢复的丢失数据包,因此处理进行到步骤S1504。此外,包恢复单元110将通过错误校正解码无法恢复的丢失数据包的信息(例如序列号)通知给重新发送包确定单元513。
在步骤S1504(确定过程)中,重新发送包确定单元513将包恢复单元110无法恢复的丢失数据包分类为连锁恢复组。如上所述进行分类。为了将包分类为连锁恢复组,重新发送包确定单元513确定当正常传送各个丢失数据包时能够恢复的其它丢失数据包。例如,重新发送包确定单元513确定在正常传送了丢失数据包A的情况下能够恢复的丢失数据包。更具体地,在步骤S1504中,重新发送包确定单元513确定通过正常传送传送失败的多个包中的第一包(丢失数据包A)能够恢复的丢失数据包。在图9中,将多个包分类为四个连锁恢复组1301、1302、1303和1304。
在步骤S1505(确定过程)中,重新发送包确定单元513从具有最大连锁恢复数量的连锁恢复组中的丢失数据包中确定要重新发送的数据包。在图9中,重新发送包确定单元513从由丢失数据包A、G和I构成的连锁恢复组(组1301)中确定要重新发送的数据包。例如,假定丢失数据包A和G被确定为重新发送的数据包。在步骤S1505中,当重新发送了确定在正常传送时用于恢复多个包的第一包时,重新发送包确定单元513确定重新发送包,使得不重新发送多个可恢复包中的至少一部分。
在步骤S1506中,重新发送包确定单元513假定恢复了具有最大连锁恢复数量的连锁恢复组中的所有丢失包。换句话说,重新发送包确定单元513假定使用在步骤S1505中确定的重新发送的数据包恢复了与重新发送的数据包相对应的连锁恢复组中的所有丢失包。在图9中,假定重新发送的数据包A和G恢复了连锁恢复组(组1301)中的所有丢失数据包A、G和I。
在步骤S1507中,重新发送包确定单元513确定是否恢复了所有丢失数据包。换句话说,重新发送包确定单元513假设恢复了连锁恢复组中的所有丢失数据包时,确定是否恢复了所有丢失数据包。
在步骤S1507中,当不需要恢复所有丢失数据包时,重新发送包确定单元513确定是否能够恢复需要恢复的所有数据包。如果确定不能恢复所有数据包(步骤S1507中的“否”),则处理返回到步骤S1504,对假定未恢复的丢失数据包进行类似的处理。
在步骤S1504中,重新发送包确定单元513将假定未恢复的丢失数据包分类为连锁恢复组。在步骤S1505中,重新发送包确定单元513从具有最大连锁恢复数量的连锁恢复组中的丢失数据包中确定要重新发送的数据包。在步骤S1506中,重新发送包确定单元513假定恢复了具有最大连锁恢复数量的连锁恢复组中的所有丢失包。然后,在步骤S1507中,重新发送包确定单元513确定是否假定恢复了所有丢失数据包。更具体地,重新发送包确定单元513从除在步骤S1506中假定可恢复的丢失数据包之外的传送失败的多个丢失数据包中,确定要与在步骤S1505中确定的重新发送包一起重新发送的包。
在图9中,假定丢失数据包B、C、E和F未恢复,因此处理返回到步骤S1504。在步骤S1504中,将丢失数据包B、C、E和F分类为连锁恢复组。重新发送包确定单元513从在正常传送了第一包(丢失数据包A和G)时无法恢复的多个包B、C、E和F中,确定基于第二包的正常传送能够恢复的包。在该示例中,确定这些丢失数据包全部在同一连锁恢复组中。
类似地,在步骤S1505中,重新发送包确定单元513从丢失数据包B、C、E和F中确定要重新发送的包。在该示例中,丢失数据包B和E被确定为重新发送的数据包。当重新发送了确定通过其正常传送能够恢复多个包的第一和第二包(丢失数据包A、G、B和E)时,重新发送包确定单元513如下确定重新发送包。重新发送包确定单元513确定重新发送包,使得不重新发送确定通过第二包(丢失数据包B和E)的正常传送而恢复的多个包(丢失数据包B、C、E和F)中的至少一部分。
在步骤S1506中,假定重新发送的数据包B和E恢复了相应的连锁恢复组中的所有丢失数据包B、C、E和F。然后,在步骤S1507中,确定能够恢复所有丢失数据包。在步骤S1507中,当重新发送包确定单元513确定能够恢复所有丢失数据包时,处理进行到步骤S1508。
在步骤S1508中,重新发送包确定单元513将重新发送的数据包的识别信息(例如序列号)通知给包重新发送请求单元111。在图9中,通知关于丢失数据包A、G、B和E的识别信息。然后,包重新发送请求单元111生成重新发送请求包,使得重新发送被确定为重新发送的数据包的数据包。发送/接收单元108将重新发送请求包发送给数据发送装置501。
在上述示例中,数据包以三行和三列的矩阵排列,以生成FEC包,但是数据包可以以其它配置来排列。
例如,下面参照图11的流程图来描述如图10所示的以四行和四列的矩阵排列数据包以生成FEC包的示例。
在图11中的步骤S1501中,包恢复单元110检测丢失数据包。在图10中,包恢复单元110检测到数据包C、D、F、G、I、L、M和N以及FEC包R1、R4和R6丢失。
在步骤S1502中,包恢复单元110确定使用FEC包无法恢复丢失数据包中的任何一个,因此处理进行到步骤S1504。本示例性实施例的FEC包在其头处包括关于相应的数据包的信息。例如,图10中的FEC包R1在其头中具有表示FEC包R1对应于数据包A、B、C和D的信息。包恢复单元110基于FEC包的头中的信息来确定能够恢复的丢失数据包。
在步骤S1504中,重新发送包确定单元513将丢失数据包分类为连锁恢复组。在图10中,将丢失数据包分类为三个连锁恢复组,即由连锁恢复数量为4的数据包{D,I,L,M}构成的连锁恢复组1401,由连锁恢复数量为3的数据包{C,F,G}构成的连锁恢复组1402,以及由连锁恢复数量为1的数据包{N}构成的连锁恢复组1403。
在步骤S1505中,重新发送包确定单元513从连锁恢复组1401中的丢失数据包中确定要重新发送的包。在图10中,例如,假定丢失数据包I和L被确定为重新发送的数据包。在步骤S1506中,在确定重新发送的数据包之后,假定恢复了连锁恢复组1401中的所有丢失数据包(D、L、I和M)。
在步骤S1507中,重新发送包确定单元513确定是否能够恢复所有丢失数据包。如上所述,在图10中,假定在丢失数据包C、D、F、G、I、L、M和N中能够恢复丢失数据包D、L、I和M。然而,剩余其它连锁恢复组中的丢失数据包(C、F、G和N)未恢复,因此处理返回到步骤S1504,将丢失数据包C、F、G和N分类为连锁恢复组。在图10中,将丢失数据包C、F、G和N分类为由数据包C、F和G构成的连锁恢复组1402以及由数据包N构成的另一连锁恢复组1403。在该示例中,其它连锁恢复组的构成,在假定恢复连锁恢复组1401的前后不改变。
类似地,从具有最大连锁恢复数量的连锁恢复组1402中的丢失数据包C、F和G中确定要重新发送的数据包。在图10中,丢失数据包C和F被确定为重新发送的数据包。然后,从连锁恢复组1403中的丢失数据包中确定要重新发送的数据包。在图10中,丢失数据包N被确定为重新发送的数据包。
在步骤S1508中,重新发送包确定单元513将关于被确定为重新发送的数据包的数据包的识别信息(序列号)通知给包重新发送请求单元111。在图10中,通知关于丢失数据包I、L、C、F和N的识别信息。包重新发送请求单元111基于通知的识别信息生成重新发送请求包。发送/接收单元108将重新发送请求包发送给数据发送装置501。
当接收到重新发送请求包时,数据发送装置501基于关于重新发送包的识别信息,从包发送缓冲器105中读取要重新发送的数据包(I、L、C、F和N),并且重新发送请求的包。
在图10中,存在八个丢失数据包,而实际重新发送的数据包的数量可以是五个。在上述示例中,从连锁恢复组1401中的丢失数据包D、I、L和M中重新发送两个数据包,但是这些丢失数据包中的一个的正常传送导致其它丢失数据包的恢复。因此,在图10中,可以将实际重新发送的数据包的数量最小化为3个。
如上所述,本示例性实施例的数据接收装置502使发送/接收单元108接收用来恢复丢失数据包(失败的包)的恢复包(FEC包)和数据包。包恢复单元110从丢失数据包(失败的包)中确定使用恢复包无法恢复的数据包。重新发送包确定单元513从无法恢复的多个数据包中,确定基于第一数据包的接收能够恢复的数据包。
当请求了确定恢复多个丢失数据包的第一数据包的重新发送时,确定需要重新发送的数据包,使得不重新发送被确定为可恢复的丢失数据包中的至少一部分。
如上所述,本发明适用于使用恢复包(FEC包)无法恢复的数据包的数量超过预定包数量的情况。
因此,能够抑制由于丢失数据包的重新发送而引起的通信量的增大。
在本示例性实施例中,在确定具有最大连锁恢复数量的连锁恢复组中的重新发送的数据包之后,假定全部恢复了该连锁恢复组中的丢失数据包。然后,再次将其它丢失数据包分类为连锁恢复组。根据这种配置,例如,当假设恢复了一个连锁恢复组中的所有丢失数据包、其它连锁恢复组的构成改变时,可以进一步减少重新发送的数据包的数量。另选地,可以从最初分类的各个连锁恢复组中确定重新发送的数据包。因此,可以减小确定重新发送的数据包的处理负荷。
当不需要恢复连锁恢复组中的所有丢失数据包时,不对该组进行重新发送的数据包的确定。因此,能够进一步减小由于重新发送的数据包而引起的通信量的增大。
在本示例性实施例中,数据接收装置502确定重新发送的数据包,但是如在第一示例性实施例中所描述的,数据发送装置可以确定重新发送的数据包。
在数据发送装置确定重新发送的数据包的情况下,像图1的数据发送装置101一样,数据发送装置包括重新发送包确定单元107。数据发送装置101的发送/接收单元106将数据接收装置102用来恢复失败(遗失)的数据包的恢复包和数据包发送给数据接收装置102。发送/接收单元106还接收数据包的重新发送请求。重新发送包确定单元107从请求重新发送的多个数据包中,确定基于第一数据包的接收、数据接收装置102能够恢复的数据包(丢失数据包)。
此外,当重新发送了确定恢复多个数据包的第一数据包时,重新发送包确定单元107确定重新发送的数据包,使得不重新发送可恢复数据包中的至少一部分。
如上所述,本发明适用于重新发送请求数据包的数量超过预定包数量的情况。因此,能够抑制由于丢失数据包的重新发送而引起的通信量的增大。此外,通过在数据包发送侧进行要重新发送的包的确定处理,能够与在数据包接收装置中设置的功能无关地获得本发明的示例性实施例的效果。
本发明的各方面还能够通过读出并执行记录在存储装置上的用于执行上述实施例的功能的程序的系统或设备的计算机(或诸如CPU或MPU的装置)、以及由系统或设备的计算机例如读出并执行记录在存储装置上的用于执行上述实施例的功能的程序来执行步骤的方法来实现。鉴于此,例如经由网络或者从用作存储装置的各种类型的记录介质(例如计算机可读介质)向计算机提供程序。在这种情况下,系统或者设备以及存储有程序的记录介质包含在本发明的范围内。
虽然参照示例性实施例对本发明进行了说明,但是应当理解,本发明不限于所公开的示例性实施例。所附权利要求的范围符合最宽的解释,以使其涵盖所有这种变型、等同结构及功能。

Claims (15)

1.一种通信设备,其能够传送数据包、用来恢复传送失败的数据包的恢复包以及传送失败的所述数据包的重新发送包,所述通信设备包括:
判定单元,被配置为当正常传送了传送失败的多个包中的第一包时,基于所述第一包和正常传送的所述恢复包,来判定传送失败的所述多个包中能够恢复的包;以及
重新发送确定单元,被配置为当重新发送了确定为在被正常传送的情况下用来恢复多个数据包的所述第一包时,确定不重新发送能够恢复的所述多个包中的至少一部分。
2.一种通信设备,其能够传送数据包和用来恢复传送失败的数据包的恢复包,所述通信设备包括:
判定单元,被配置为当正常传送了传送失败的多个包中的第一包时,基于所述第一包和正常传送的所述恢复包来判定传送失败的所述多个包中能够恢复的包;以及
重新发送确定单元,被配置为从除了能够恢复的所述包之外的传送失败的所述多个包中,确定要与所述第一包一起重新发送的包。
3.一种通信设备,其用于进行包传送,所述通信设备包括:
判定单元,被配置为判定当正常传送了传送失败的多个包中的第一包时能够恢复的包;以及
重新发送确定单元,被配置为确定重新发送包,使得当重新发送了确定为在被正常传送的情况下用来恢复多个包的所述第一包时,不重新发送能够恢复的所述多个包中的至少一部分。
4.根据权利要求3所述的通信设备,其中,所述重新发送确定单元根据正常传送了所述第一包时能够恢复的包的数量,从能够恢复的所述包中确定要与所述第一包一起重新发送的包的数量。
5.根据权利要求3所述的通信设备,其中,所述判定单元判定,基于所述第一包以及为了恢复失败的包而传送的并且正常传送的所述恢复包,能够恢复的包。
6.根据权利要求3所述的通信设备,所述通信设备还包括:
获得单元,被配置为获得与传送失败的所述包的数量相对应的误码率,
其中,当确定为能够恢复的具有高于第一误码率的第二误码率的包的数量是第一包数量时,所述重新发送确定单元确定重新发送包的数量小于所述误码率是所述第一误码率并且确定为能够恢复的包的数量是所述第一包数量的情况下的重新发送包的数量。
7.根据权利要求3所述的通信设备,所述通信设备还包括:
获得单元,被配置为获得与传送失败的所述包的数量相对应的误码率,
其中,当所述误码率是高于第一误码率的第二误码率时,所述重新发送确定单元确定所述重新发送包,使得重新发送传送失败的所述包中的包括不参照其它帧数据而编码的运动图像数据的包。
8.根据权利要求3所述的通信设备,所述通信设备还包括:
获得单元,被配置为获得关于从发送到接收包所需的延迟时间的延迟时间信息,
其中,当所述获得单元获得关于第一延迟时间的延迟时间信息,然后获得关于比所述第一延迟时间长的第二延迟时间的延迟时间信息时,并且当确定为能够恢复的包的数量是第一包数量时,所述重新发送确定单元确定所述重新发送包,使得重新发送确定为能够恢复的所述第一包数量的包中的第二包数量的包,并且
当所述获得单元获得关于所述第一延迟时间的延迟时间信息,然后获得关于比所述第二延迟时间长的第三延迟时间的延迟时间信息时,并且当确定为能够恢复的包的数量是所述第一包数量时,所述重新发送确定单元确定所述重新发送包,使得重新发送,确定为能够恢复的所述第一包数量的包中的小于所述第二包数量的第三包数量的包。
9.根据权利要求3所述的通信设备,其中,所述重新发送确定单元根据传送失败的所述包是否包括通过参照其它帧数据编码的运动图像数据,来确定是否重新发送传送失败的所述包。
10.根据权利要求3所述的通信设备,所述通信设备还包括:
获得单元,被配置为获得关于从发送到接收包所需的延迟时间的延迟时间信息,
其中,当所述获得单元获得关于第一延迟时间的延迟时间信息,然后获得关于比所述第一延迟时间长的第二延迟时间的延迟时间信息时,所述重新发送确定单元确定所述重新发送包,使得重新发送,确定为能够恢复的包中的包括通过参照其它帧数据编码的运动图像数据的包和包括未参照其它帧数据编码的运动图像数据的包,并且
当所述获得单元获得关于所述第一延迟时间的延迟时间信息,然后获得关于比所述第二延迟时间长的第三延迟时间的延迟时间信息时,所述重新发送确定单元确定所述重新发送包,使得重新发送,确定为能够恢复的包中的包括未参照其它帧数据编码的运动图像数据的包。
11.根据权利要求3所述的通信设备,
其中,所述判定单元从当正常传送了所述第一包时无法恢复的多个包中,判定当正常传送第二包时能够恢复的包,并且
所述重新发送确定单元确定所述重新发送包,使得当重新发送了确定为在被正常传送的情况下用来恢复所述多个包的所述第一包和第二包时,不重新发送,确定为当正常传送了所述第二包时能够恢复的所述多个包中的至少一部分。
12.一种发送设备,所述发送设备包括:
发送单元,被配置为向接收装置发送所述接收装置用来恢复传送失败的数据包的恢复包以及数据包;
接收单元,被配置为接收重新发送数据包的请求;
判定单元,被配置为从请求重新发送的多个数据包中,判定所述接收装置基于第一数据包的接收而能够恢复的数据包;以及
重新发送确定单元,被配置为确定要重新发送的数据包,使得当请求重新发送的所述数据包的数量超过预定数量时,并且当重新发送了所述判定单元判定为用来恢复多个数据包的所述第一数据包时,不重新发送确定能够恢复的所述多个包中的至少一部分。
13.一种接收装置,所述接收装置包括:
接收单元,被配置为接收用来恢复传送失败的数据包的恢复包以及数据包;
识别单元,用于从传送失败的所述数据包中识别使用所述恢复包无法恢复的数据包;
判定单元,被配置为从无法恢复的多个数据包中,判定基于第一数据包的接收而能够恢复的数据包;以及
重新发送确定单元,被配置为确定需要重新发送的数据包,使得当使用所述恢复包无法恢复的所述数据包的数量超过预定数量时,并且当请求了所述判定单元判定为用来恢复多个数据包的所述第一数据包的重新发送时,不重新发送确定为能够恢复的所述多个数据包中的至少一部分。
14.一种由通信设备执行的通信方法,所述通信设备能够传送数据包、用来恢复传送失败的数据包的恢复包以及传送失败的所述数据包的重新发送包,所述通信方法包括:
当正常传送了传送失败的多个包中的第一包时,基于所述第一包和正常传送的所述恢复包,来确定传送失败的所述多个包中能够恢复的包;以及
当重新发送了确定为在被正常传送的情况下用来恢复多个数据包的所述第一包时,确定不重新发送能够恢复的所述多个包中的至少一部分。
15.一种由通信设备执行的通信方法,所述通信设备用于进行包传送,所述通信方法包括:
确定当正常传送了传送失败的多个包中的第一包时,能够恢复的包;以及
确定重新发送包,使得当重新发送了确定为在正常传送的情况下用来恢复多个包的所述第一包时,不重新发送能够恢复的所述多个包中的至少一部分。
CN2009102520921A 2008-12-09 2009-12-08 通信设备和通信方法 Active CN101753279B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-313400 2008-12-09
JP2008313400A JP5408981B2 (ja) 2008-12-09 2008-12-09 通信装置、及び通信方法、プログラム

Publications (2)

Publication Number Publication Date
CN101753279A true CN101753279A (zh) 2010-06-23
CN101753279B CN101753279B (zh) 2013-12-04

Family

ID=41694649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102520921A Active CN101753279B (zh) 2008-12-09 2009-12-08 通信设备和通信方法

Country Status (4)

Country Link
US (1) US8312352B2 (zh)
EP (1) EP2197140A3 (zh)
JP (1) JP5408981B2 (zh)
CN (1) CN101753279B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314199A (zh) * 2014-12-24 2020-06-19 柏思科技有限公司 用于管理误差校正模式的方法和系统
CN112311497A (zh) * 2019-07-29 2021-02-02 华为技术有限公司 一种通信方法和通信设备
CN112968754A (zh) * 2021-02-01 2021-06-15 航天国盛科技有限公司 一种基于n+1路e1信道实现数据可靠性传输方法
US11201699B2 (en) 2009-12-23 2021-12-14 Pismo Labs Technology Limited Methods and systems for transmitting error correction packets

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007069406A1 (ja) * 2005-12-15 2009-05-21 三菱電機株式会社 通信システム、送信側通信装置および受信側通信装置
US20120201248A1 (en) * 2009-10-14 2012-08-09 Nec Corporation Transmission control method for packet communication and packet communication system
US8633963B2 (en) * 2010-04-27 2014-01-21 Lifesize Communications, Inc. Determining buffer size based on retransmission latency
JP5677070B2 (ja) * 2010-12-14 2015-02-25 キヤノン株式会社 受信装置及び、受信装置による処理方法
EP2710853B1 (en) * 2011-05-20 2017-11-08 BlackBerry Limited Hybrid automatic repeat request using multiple receiver- coordinated transmitters
JP5916512B2 (ja) * 2012-05-22 2016-05-11 古河電気工業株式会社 車載装置および車載装置の判断方法
GB201210779D0 (en) * 2012-06-18 2012-08-01 Microsoft Corp Correction data
US9438483B2 (en) 2012-10-15 2016-09-06 At&T Intellectual Property I, L.P. System and method of implementing quality of service over a packet-based Network
JP6529299B2 (ja) 2015-03-20 2019-06-12 キヤノン株式会社 送信装置、受信装置、方法及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272658B1 (en) * 1997-10-27 2001-08-07 Kencast, Inc. Method and system for reliable broadcasting of data files and streams
US7224702B2 (en) * 2000-08-30 2007-05-29 The Chinese University Of Hong Kong System and method for error-control for multicast video distribution
CN101068138B (zh) * 2001-02-21 2015-07-01 松下电器(美国)知识产权公司 使用信号星座重排的混合自动请求重发的方法
US6851084B2 (en) * 2002-06-10 2005-02-01 Harris Corporation Forward error correction method and system for reliable transmission of real time data over a packet based network
JP4088956B2 (ja) 2002-11-06 2008-05-21 ソニー株式会社 情報処理装置
JP4328602B2 (ja) * 2003-11-20 2009-09-09 富士通株式会社 パケットエラー訂正装置及び方法
WO2006090450A1 (ja) * 2005-02-23 2006-08-31 Media Global Links Co., Ltd パケット再送アルゴリズム
JP4688566B2 (ja) * 2005-05-10 2011-05-25 富士通東芝モバイルコミュニケーションズ株式会社 送信機及び受信機
JP2007143113A (ja) * 2005-10-19 2007-06-07 Matsushita Electric Ind Co Ltd 送受信システム、送信装置、および送信方法
JP4666309B2 (ja) * 2006-03-07 2011-04-06 財団法人エヌエイチケイエンジニアリングサービス 送信装置、受信装置、中継装置及びパケット伝送システム
US7725797B2 (en) * 2006-07-07 2010-05-25 Scientific-Atlanta, Llc Buffer for storing data and forward error correction (FEC)
JP4250654B2 (ja) * 2006-11-17 2009-04-08 株式会社東芝 通信装置、通信方法および通信プログラム
US7930617B1 (en) * 2007-06-20 2011-04-19 Rockwell Collins, Inc. Sliding window block codes for cross-packet coding
JP4808758B2 (ja) * 2008-11-10 2011-11-02 株式会社エヌ・ティ・ティ・ドコモ データ受信装置、及び、データ受信方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11201699B2 (en) 2009-12-23 2021-12-14 Pismo Labs Technology Limited Methods and systems for transmitting error correction packets
US11677510B2 (en) 2009-12-23 2023-06-13 Pismo Labs Technology Limited Methods and systems for transmitting error correction packets
US11943060B2 (en) 2009-12-23 2024-03-26 Pismo Labs Technology Limited Methods and systems for transmitting packets
CN111314199A (zh) * 2014-12-24 2020-06-19 柏思科技有限公司 用于管理误差校正模式的方法和系统
CN112311497A (zh) * 2019-07-29 2021-02-02 华为技术有限公司 一种通信方法和通信设备
WO2021017890A1 (zh) * 2019-07-29 2021-02-04 华为技术有限公司 一种通信方法和通信设备
CN112968754A (zh) * 2021-02-01 2021-06-15 航天国盛科技有限公司 一种基于n+1路e1信道实现数据可靠性传输方法

Also Published As

Publication number Publication date
EP2197140A2 (en) 2010-06-16
CN101753279B (zh) 2013-12-04
JP2010141413A (ja) 2010-06-24
US8312352B2 (en) 2012-11-13
US20100146352A1 (en) 2010-06-10
JP5408981B2 (ja) 2014-02-05
EP2197140A3 (en) 2014-01-01

Similar Documents

Publication Publication Date Title
CN101753279B (zh) 通信设备和通信方法
CN102629898B (zh) 数据传输方法、设备及系统
US6421387B1 (en) Methods and systems for forward error correction based loss recovery for interactive video transmission
CN101155311B (zh) 一种视频通信中的视频码流错误检测和处理方法
JP5409032B2 (ja) 送信装置、及び、方法、プログラム
US8386901B2 (en) Method, device and software application for transmitting data packets in a communication system
US8498204B2 (en) Transmission system, repeater and receiver
US8004963B2 (en) Apparatus and method for packet redundancy and recovery
US8347189B2 (en) Data transmission system, program and method
US20080222494A1 (en) Communication apparatus, communication method and computer readable medium
JP2005198191A (ja) 伝送装置、伝送制御プログラム、及び伝送方法
KR102114847B1 (ko) 이동 통신 시스템에서 멀티미디어 데이터 송수신 방법 및 장치
CN105450357A (zh) 编码参数的调整、反馈信息的处理方法及装置
CN106162374B (zh) 一种低复杂度的帧内编码帧鲁棒传输方法及系统
CN102239658B (zh) 按需差错控制
JP5950433B2 (ja) データフレームの再送信減少方法及びこのための受信ノード
US8427951B2 (en) Method, system, and apparatus for reliable data packet recovery in a link layer of a data center ethernet network
KR101116742B1 (ko) 무선통신시스템에서 패킷 데이터 재전송 장치 및 방법
JP3476788B2 (ja) 通信方式ならびに送信装置、受信装置およびこれらを備えた通信システム
JP5252361B2 (ja) 伝送システム
Vadori et al. Markov analysis of video transmission based on differential encoded HARQ
JP5252360B2 (ja) 伝送システム、中継機及び受信機
Soltani Analysis and design of reliable and stable link-layer protocols for wireless communication
JP5966502B2 (ja) データ受信方法及び装置
CN116634187A (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