CN101364946B - 避免丢失分组恢复中的拥塞的系统和方法 - Google Patents

避免丢失分组恢复中的拥塞的系统和方法 Download PDF

Info

Publication number
CN101364946B
CN101364946B CN2008101686766A CN200810168676A CN101364946B CN 101364946 B CN101364946 B CN 101364946B CN 2008101686766 A CN2008101686766 A CN 2008101686766A CN 200810168676 A CN200810168676 A CN 200810168676A CN 101364946 B CN101364946 B CN 101364946B
Authority
CN
China
Prior art keywords
grouping
packet
lpr
media
stream
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.)
Active
Application number
CN2008101686766A
Other languages
English (en)
Other versions
CN101364946A (zh
Inventor
S·博茨考
J·P·斯皮尔曼
小R·E·弗洛特
D·海茵
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.)
Huihe Development Co.,Ltd.
Original Assignee
Polycom 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 Polycom Inc filed Critical Polycom Inc
Publication of CN101364946A publication Critical patent/CN101364946A/zh
Application granted granted Critical
Publication of CN101364946B publication Critical patent/CN101364946B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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/0041Arrangements at the transmitter 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/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • 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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver

Abstract

本发明描述了一种在分组交换网络中进行媒体会议时,用于克服丢失分组和避免拥塞的设备和方法。为了避免丢失分组这一问题,通过将冗余信息插入媒体流,使得接收器可以根据该冗余信息重建任何丢失的分组。拥塞避免技术包括调整媒体流的位率,以找到在没有拥塞引起分组丢失的情况下能够得到支持的最高位率。当增加位率至更高速率时,多余的位可以来自用于丢失分组恢复的冗余信息,以使得任何由网络拥塞引起的丢失分组将不会对该位流产生不利的影响。

Description

避免丢失分组恢复中的拥塞的系统和方法
背景技术
越来越多的视频会议系统开始使用分组-交换网络,例如互联网,而不是电路-交换网络,例如PSTN和ISDN。将分组-交换网络用于视频会议所带来的一个问题是,所有的分组-交换网络都将出现一定程度的丢失分组。即使不多的丢失分组也会明显地损坏视频质量。
丢失分组问题的现有解决方法包括使用多种错误隐藏技术和图片更新机制。虽然有所帮助,但这些技术往往存在不足。它们经常被集成在特定的视频编解码器中,这就使得每当编解码器技术有所改进时都需要对该技术再次进行设计。
分组-交换网络通常具有至少两种基本类型的丢失分组方式。当网络的第1层和第2层丢失无法恢复的信息时,将发生物理丢失。这种类型的丢失在有些情况下更加常见,例如,当采用无线链接(例如,WiFi网络,如802.11a,802.11b,802.11g和802.11n)时。尽管如此,物理层丢失也能够在有线和光纤链接中发生。第二种类型的分组丢失可以源于网络拥塞。
为了克服第二种类型的丢失分组,一些视频会议设备采用了多种避免拥塞的技术。一种这样的技术在美国专利申请10/305485中被描述,其名称为“systetmand method for dynamic bandwidth allocation for videoconferencing in lossypacket switched systems”,申请日为2002年11月26日,该申请整体被引入作本申请作为参考。这一技术可以被称为“动态带宽分配”或“DBA”。每当这些DBA类型的算法试图增加带宽时,它们将固有地产生丢失分组的危险,这将导致媒体被损害的现象。其他类型的避免拥塞的技术包括VCON’s PacketAssist和其他与丢失分组恢复或拥塞控制相关的标准。例如,RFC2733提供了一种用于丢失分组恢复的方法,其采用了XOR(奇偶)分组。RFC3448提供了一种单播(unicast)拥塞控制的方法,与RFC4340一样。
另外,数据丢失恢复技术,例如前向擦除校正和前向错误校正之类,可应用于网络的第1层1和第2层。这些技术还可以用于被存储的媒体,例如RAID盘和CDROM/DVD。3GPP近期已经将前向擦除校正标准化。前向错误校正也可以通过H.320传输而提供给视频流。
迄今为止,还未出现将丢失分组恢复(例如,使用前向擦除校正)与避免拥塞结合的实现方式。这里将要描述的就是包括上述结合的一种算法。
发明内容
在一方面,本发明涉及一种方法,用于防止传输在可丢失网络中的媒体流的中断。这一方法包括将丢失分组恢复算法应用至媒体流。该丢失分组恢复机制可以将冗余信息插入到包括媒体流的传输数据流中。该冗余信息可以使用前向擦除校正和/或里德-所罗门编码来生成。该方法可以进一步包括将拥塞避免算法应用于传输的数据流中。该拥塞避免算法将包括暂时增加传输数据流的数据速率,以确定该网络是否可以支持更高的数据速率。该数据速率可以通过增加插入到传输数据流的冗余信息量来暂时性地提高。
本发明还可以涉及从可丢失网络接收到的媒体数据的恢复方法,其中该媒体流作为包括了媒体流和冗余信息的数据流的一部分而被进行传输。该恢复方法包括接收多个包含媒体流和冗余信息的分组,并根据该接收到的分组重建该媒体流的丢失部分。
本发明还涉及用于进行上述数据恢复和避免拥塞的视频会议设备。
附图说明
图1描述了一种丢失分组恢复技术,其可以用于避免分组的丢失。
图2描述了一种丢失分组恢复技术,其中某些分组被丢失并且数据被重建。
图3描述了一种丢失分组恢复技术,其中某些分组被丢失并且数据被重建。
图4描述了一丢失分组恢复编码器。
图5-9描述了分组的首标,其可用于结合图1-4所示的丢失分组恢复技术和编码器。
图10描述了丢失分组恢复解码器。
图11描述了用于拥塞避免算法的状态机,其可用于结合图1-10所示的丢失分组恢复技术、编码器和解码器。
图12描述了采用丢失分组恢复和拥塞避免的编码器的数据速率,其采用如图1-10所示的技术、编码器、解码器和算法。
具体实施方式
这里所公开的是一种克服网络传输中丢失分组的影响的技术,其结合了前向擦除校正和拥塞避免。这些技术可被称作为“丢失分组恢复”或“LPR”。
LPR是一种可伸缩的方法,其用于恢复丢失的RTP媒体分组。尽管这里所举的示例中都针对视频编解码器,但其并不针对特定媒体。这里所描述的LPR技术还可以用于保护其他类型的RTP媒体流。LPR使用了里德-所罗门编码来提供丢失媒体分组的前向擦除纠错,这可以恢复丢失的媒体分组。
当采用LPR时,RTP的有效负载被再次分组以建立近似相等大小的数据分组。该再次分组后的流使用了特定的RTP动态有效负载类型(其不同于指定的媒体有效负载数字),并且完全遵循RTP。一种特定于有效负载的首标包括足够的信息来重建原始的RTP分组。LPR假定SSRC和CSRC信息在恢复集合中没有改变(如下所述)。时间戳、序列号、原始有效负载类型和标记位都完全被恢复,这保证了所恢复的RTP流可被解密。
然后,恢复分组被加入这一RTP流中。该恢复分组也遵循RTP。每一恢复分组还包括描述被保护的数据分组的有效负载首标。每一分组的RTP有效负载包括该恢复信息。所加入的恢复分组的数量取决于根据RTCP接收器报告估计的信道损失率。虽然位率的最高值为大约50%,但信道损失率最高达到大约15%就可被接受。
需要注意到的是,LPR保护并不被认为是全部媒体位率的一部分。仅仅是实际被压缩的有效负载被算在其内。尽管如此,总体的位率可被根据需要减少,以避免网络拥塞。可以理解的是,网络拥塞将带来除了分组丢失之外的的不期望的影响。例如,网络拥塞将引起媒体延迟的增加和丢失的链接(包括信令连接)。因此,该LPR协议可具有内置的信息来防止拥塞。尽管可以使用多个拥塞避免算法,但是一种适合的拥塞避免算法将更加详细地描述如下。
将LPR应用于媒体流的实例现将结合附图1-3进行描述。该实例的细节,包括位率、分组丢失率、分组大小、数据分组与恢复分组的比率等,都仅仅是实例并且可根据实施细节、信道条件等进行变化。
对于一个300kbps的视频信道,其分组丢失率为2%。三个分组101、102和103将被传输。LPR的(6+2)模式将被应用,这意味着两个恢复分组104、105将被插入到六个数据分组106-111的每一组,每八个分组创建恢复集合。该恢复分组104、105和最大数据分组的大小基本相等,但包括一些额外的开销。恢复分组允许六个数据分组106-111中任意两个重新生成,其更加详细地描述如下。
为了保持300kbps信道限制,媒体速率可被减少到大约220kbps,留下80kbps用于恢复分组。每个再分组后的数据分组的目标大小为500字节。每一恢复集合因此携带了大约32000比特的信息,代表了信道率为300kbps下的107ms的时间周期。该107ms期间被称为保护周期。
每一个分组(例如,再分组后的数据分组106-111和恢复数据分组104、105)包含正常的40字节的IP+UDP+RTP的首标开销。为了简化起见,这一开销没有显示。但是,与LPR自身相关的开销被显示。例如,“3+420”是指在分组中具有三个开销字节加上420字节的原始数据。恢复分组被100%地作为开销(overhead)。下面将详细介绍开销的有关细节。
图2描述了恢复过程。假定数据分组3和5(108,110)丢失。该LPR解码器根据所接收到的六个分组,如,数据分组1、2、4和6和恢复分组1和2,创建再生成分组201和202。并且应注意到,这些丢失分组的再生成直到第六个分组被接收才发生。再生成之后,原始的RTP分组203-205由数据分组而被恢复。下面将详细描述丢失分组再生成的相关细节。
图3描述了一个失败的分组恢复,其中有两个以上的分组丢失。在这一实例中,恢复分组1和数据分组3和5一样被丢失。由于这一组中仅仅收到5个分组,不可能进行分组再生。LPR解码器不会生成部分分组。如果原始分组不能被完全恢复,那么部分分组信息将被丢弃。因此,数据分组1和2、301、302都显示为丢失。
在如图3所示的,所有原始数据分组不能恢复的情况下,往往将接收解码器来请求整个图像的快速更新。可选地,环绕(walk-around)更新,例如美国专利7020203中描述的那样,其名称为“Dynamic Intra-coded MacroblockRefresh Interval for Video Error Concealment”,公开于2006年3月28日,其作为参考将被全文引用。在任何情况下,用来修复图像所需的时间并不是所丢失的分组的数量的函数,而是在恢复集合中由于丢失大于预定数量的分组(2,在这一实例中)而引起的失败间隔的平均时间。
对于300kbps和2%分组丢失率的信道的给定示例来说,通过覆盖107ms信道数据的六个数据分组和两个恢复数据分组所组成的每一保护集合,该失败间隔的平均时间可被计算为大约258秒。假设一次快速更新需要大约两秒,在由给出的LPR实例所保护的信道上传输的视频将在超过99%的该时间内无差错。这一保护将带来80kbps的额外开销,其大约为信道速率的30%。
通过参考附图4,对上述LPR实施例其他方面可以更好的理解,其描述了LPR编码器的实现。这一实施的各种变化都是可能的。视频编码器401可以为以或多或少的传统方式工作的任何一种视频编码器。例如,视频编码器可根据H.261,H.263,H.264,MPEG-2,或MPEG-4视频压缩标准来进行操作。可选地,该视频编码器可以根据多种适合的视频编码技术中的任意一种来进行操作。
视频编码器401的输出可被提供给可选的加密模块402,其可以是已知类型中的任意一种。该加密的视频数据(或未加密的视频数据,若未使用加密)可被提供给RTP发送器403,其同样也是常见的。由RTP发送器403生成的RTP分组接着可被LPR分组器406使用LPR算法进行再分组,如在下述内容中进行详细阐述的那样。LPR恢复分组生成器407接着可基于从LPR分组器406和视频编码器401中接收到的信息来生成恢复分组,其将在下述内容中进行详细阐述。而后,该LPR恢复分组生成器可将LPR数据分组和LPR恢复分组传输给接收器(未示出)。
RTCP模块404可接收分组丢失和其它的信道统计数据,并且将这些内容提供给LPR模式判定模块405,其控制了LPR分组器406。LPR模式判定模块405可判定参与或者不参与LPR保护,同时也确定所使用的LPR保护参数。如果未参与LPR保护,LPR分组器406和LPR恢复分组生成器407不作改变的传递RTP发送器403生成的RTP分组。
LPR模式判定模块405可操作如下。首先,该保护周期(如上所述)可被确定。更长的保护周期将提供更加有效的分组再生(例如,更少的恢复kbps),但是带来了更多的延迟。对于最典型的视频会议位率,100ms可能为一个合适的保护周期。在位率低于128kbps时,将需要更长的保护周期。例如,150ms将适于64Kbps的速率。在位率在1Mbps以上时,更短的保护周期将有利。例如,50ms将适于2Mbps或更大的速率。在确定保护周期时,也可以考虑其他参数。
接下来,可以确定每一保护周期所有分组的数量。通常,对于每一保护周期具有小数量的分组可能降低保护的效率。相反,每一保护周期具有大数量的分组可能增加编码和解码保护分组所需的计算量。因此,对于大多数信道而言,每一保护周期具备大约13或更多的分组被认为是合适的。对于每一保护周期的分组的数量的判定还应该考虑到用于根据所需数据速率所得到的分组的大小。输出分组大小(包括IP开销)应该少于1260字节以通过IPSEC隧道而不出现碎片。
一旦每一保护周期的分组的数量被确定,则每一保护周期的恢复分组的数量可被选定。恢复分组的数量可被选择(使用传统的盖然论分析技术),从而保护失败的间隔平均时间等于或超过某一预定的特定值。另外,所有传输视频信道(包括LPR保护分组以及RTP消息)的集合可以被选择,以使其不超过特定的拥塞峰值。
以下表格给出了示例的保护模式,其用于各种丢失条件下的各种位率。表1给出了适于在分组丢失率为4%条件下所使用的LPR参数,其与拥塞避免算法(如下述)结合使用,以使得当分组丢失率超过3%时减少数据速率。表2给出了分组丢失率为2%条件下的LPR参数,其可以用于拥塞避免算法未使用的情况中。
视频速率  每组的数  数据分组有  每组的恢复  保护周期   MTBF
 (k\bs)   据分组效  负载大小    分组        (ms)      (sec)
                    (字节)
64         13        87         4           141        334
128        12        133        4           100        323
256        12        266        4           100        323
384        12        400        4           100        324
512        12        533        4           100        324
768        12        800        4           100        324
1024       16        800        5           100        757
2048       16        800        5           50         379
3072       24        800        6           50         338
4096       32        800        7           50         378
5120       32        1000       7           50         378
6144       39        1000       8           51         567
表1.分组丢失率为4%时的固定保护
视频速率  每组的数  数据分组有    每组的恢复   保护周期  MTBF
  (k\bs)  据分组    效负载大小    分组         (ms)      (sec)
                    (字节)
64         13         87          3            141       589
128        12         133         3            100       545
256        12         266         3            100       545
384        12         400         3            100       546
512        12         533         3            100       546
768        12         800         3            100       546
1024       16         800         4            100       2591
2048       16         800         4            50        1296
3072       24         800         5            50        2444
4096       32         800         5            50        573
5120       32         1000        5            50        573
6144       39         1000        6            51        1704
表2.组丢失率为2%时的固定保护
LPR分组器406可操作如下。LPR分组器406将由RTP发送器403生成的初始媒体分组进行细分,以提高分组再生编码的效率。LPR数据分组包含的信息仅仅来自一个源分组。如果媒体信道被加密,可对已加密的流进行LPR再分组装。通常,LPR流自身是未再加密的,例如,加入到加密分组的LPR封装字段(首标)和最新生成的LPR恢复分组可被毫无阻碍地发送。
如果初始源分组被细分(例如,图1-3中的分组1 101),用于这一源分组的第一个LPR数据分组被称为初始数据分组(例如,图1-3中的数据1 106)。后继数据分组(如果有的话)被称为继续数据分组(例如,图1-3中的数据2 107和数据3 108)。继续数据分组的数量将用信号通知给初始数据分组,因而一旦初始数据分组被发送该数量就不能改变。继续数据分组和初始数据分组可以属于不同的LPR保护组。
除序列号以外的初始RTP首标的所有字段、有效负载类型和P字段可以无变化地被每一LPR数据分组携带。这包括时间戳、标记位和SSRC/CSRC信息。有效负载的编号可以被协商后的LPR有效负载类型而替代。序列号将按照通常的方式连续地指定给LPR媒体流。LPR分组的P字段可被设至0。LPR分组器406可以将初始RTP序列号传输给LPR恢复分组生成器407。
如附图5所示的实施例,每一初始数据分组可包括专用于LPR的7字节有效负载首标。如附图6所示的实例,每一继续数据分组可包括3字节有效负载首标。这些有效负载首标可紧跟在RTP首标之后,并在视频(或其它媒体)有效负载之前。首标的大小和每个字段的大小以及它们的排列仅仅是一种示范,应当理解也可以为其他排列方式。
恢复分组字段501,601可以用于指示在恢复集合中将被连续发送的恢复分组的数量。恢复集合中的所有数据分组应该发出相同的恢复分组数量。所发出的恢复分组的数量可以被设为0,这意味着将没有发送恢复分组。这一字段可以为6位字段,其允许最多为64个恢复分组。类型字段502、602可为2位字段,其可设置为00或01,以分别指示初始数据分组或继续数据分组。这使得LPR的首标类型可通过检查第一有效负载字节来确定。
数据索引字段503、603可为8位字段。恢复集合中的第一数据分组可被分配数据索引1。对于这些集合中的后续的数据分组,该索引可以被递增。继续分组字段504可为8位字段,其用于表示与初始分组相关的继续分组的数量。该数据分组字段604为8位字段,其用于表示包括在恢复集合中的数据分组的数量。所有的数据分组应该都应该表示相同数量的数据分组。
初始序列字段505是16位字段,其指示初始RTP分组的序列号,该序列号可以用于重建初始RTP分组。初始p位字段506可为用于携带由初始RTP分组传输的填充位的1位字段。初始有效负载类型字段507可以为7位字段,其用于像初始RTP分组一样携带有效负载类型。
LPR恢复分组生成器407可操作如下。LPR恢复分组生成器407可用LPR数据分组中的最终LPR序列号来替代初始媒体中的RTP序列号。LPR恢复分组生成器407还可以将LPR恢复分组插至每一恢复集合的最后。
每一恢复分组还包括如附图7所示的9字节首标。恢复分组的首标可紧随RTP首标之后,并且可在视频(或其他媒体)有效负载之前。根据上述的首标,字段类型和大小为示例性的,也可以采用其他排列方式。
恢复索引字段701可以为6位字段,其用于指示恢复集合中的恢复分组序列。第一恢复分组可被指定为恢复索引1,对于恢复集合中的后续恢复分组,该字段将进行增加。类型字段702为设置为10的2位字段,其表示该分组为恢复分组。恢复分组字段可为8位字段,其包括恢复集合中数据分组的数量。所有的恢复分组应当是表示由相应数据分组发出的恢复分组的同样数量。数据分组字段704为8位字段,其表示恢复集合中所发送的数据分组的数量。恢复分组将指示在相应数据分组中指示的数据分组的同样数量。
保护时间戳字段705为32位字段,其具有恢复集合中每一数据分组的里德-所罗门编码RTP时间戳。这可以结合使用与恢复有效负载自身所使用里德-所罗门编码一样的里德-所罗门编码。这一字段可以再生丢失数据分组的RTP时间戳。该4字节遵守网络秩序(order)。
保护标记、标识和大小字段706(在附图8中进一步描述)可以具有里德-所罗门编码的RTP标记位802、标识值801和数据分组大小803。当该LPR数据分组为初始分组时,标识值为1,当LPR数据分组为继续分组时,标识值设置为0。该大小包括IP、UDP和RTP首标以及LPR首标。数据分组大小可以遵守网络秩序。
保护字段可以结合使用与恢复有效负载自身所使用里德-所罗门编码一样的里德-所罗门编码。该字段将为那些可恢复的任意丢失数据分组再生LPR首标类型、标记和数据分组大小。
恢复分组的有效负载可使用里德-所罗门256(RS256)对其进行编码。初始数据分组中的初始序列505、初始P位506、初始有效负载类型507和继续分组504字段可被作为有效负载字节来进行保护。这使得当初始数据分组丢失时,这一信息能够被恢复。另外,恢复分组有效负载首标可包括三个影象数据(Phantom Data)字段的编码,这三个字段为:数据分组自身长度、标记位和时间戳。此外,如果所有用于细分的RTP分组的数据分组丢失,这将允许这一信息得到恢复。
根据用于RS256的生成函数,每一数据分组中的每一有效负载字节可有助于每一恢复分组中的相关字节,该生成函数为:
R j = Σ i = 1 d B i j - 1 ⊗ D i
其中:Di为第i个数据分组(1≤i≤d);Rj为第j个恢复分组(1≤j≤r);Bi为第i个基系数(1≤i≤d),其具有如表3中所示的值;并且
Figure G2008101686766D00111
Figure G2008101686766D00112
∑通过采用如下描述的Galois Field(28)算术运算进行计算。值得注意的是,尽管可以选择其他数量的数据分组,并且可相应地计算出适合的表格,所给出的基系数表将恢复集合中的数据分组的最大数量限定为128。
/*
**RS256_BaseTable{i}用于数据分组i-1的基本系数
**
**这些项目是为了保证疏散矩阵是可逆的。
**选择了每一个项目b,所以除非x为0或者255,b**x不为1。
*/
#define RS256_BASETABLE_LEN128
STATIC CONST UINT8 RS256_BaseTable[RS256_BASETABLE_LEN]={
 0x02,0x04,0x06,0x09,0x0D,0x0E,0x10,0x12,
 0x13,0x14,0x16,0x18,0x19,0x1B,0x1D,0x1E,
 0x1F,0x22,0x23,0x28,0x2A,0x2B,0x30,0x31,
 0x32,0x34,0x39,0x3C,0x3F,0x41,0x42,0x43,
 0x47,0x48,0x49,0x4A,0x4B,0x4C,0x51,0x52,
 0x53,0x54,0x58,0x5A,0x5B,0x5C,0x5D,0x5F,
 0x62,0x63,0x68,0x69,0x6D,0x6F,0x70,0x71,
 0x76,0x77,0x79,0x7A,0x7B,0x7E,0x80,0x81,
 0x83,0x85,0x87,0x88,0x89,0x8C,0x8D,0x8E,
 0x90,0x94,0x95,0x97,0x9A,0x9B,0x9D,0x9E,
 0x9F,0xA2,0xA3,0xA4,0xA5,0xAA,0xAB,0xAF,
 0xB0,0xB1,0xB2,0xB7,0xBB,0xBC,0xBD,0xC0,
 0xC2,0xC6,0xC7,0xC8,0xC9,0xCA,0xCB,0xCC,
 0xD1,0xD2,0xD3,0xD4,0xD5,0xD8,0xDA,0xDE,
 0xE0,0xE1,0xE3,0xE5,0xE8,0xEA,0xEC,0xEE,
 0xF0,0xF3,0xF6,0xF7,0xF8,0xF9,0xFA,0xFE
};
表3.RS256基本系数
Galois Field(28)算术运算可被设置为使用两个帮助表格:一个Galois对数函数(glog)表格,和一个Galois求幂函数(gexp)表格。这些表格是:
unsigned short glog[256]={
 0x200,0x00,0x01,0x19,0x02,0x32,0x1A,0xC6,   /*0 to 7*/
 0x03,0xDF,0x33,0xEE,0x1B,0x68,0xC7,0x4B,    /*8 to 15*/
 0x04,0x64,0xE0,0x0E,0x34,0x8D,0xEF,0x81,    /*16 to 23*/
 0x1C,0xC1,0x69,0xF8,0xC8,0x08,0x4C,0x71,    /*24 to 31*/
 0x05,0x8A,0x65,0x2F,0xE1,0x24,0x0F,0x21,    /*32 to 39*/
 0x35,0x93,0x8E,0xDA,0xF0,0x12,0x82,0x45,    /*40 to 47*/
 0x1D,0xB5,0xC2,0x7D,0x6A,0x27,0xF9,0xB9,    /*48 to 55*/
 0xC9,0x9A,0x09,0x78,0x4D,0xE4,0x72,0xA6,    /*56 to 63*/
 0x06,0xBF,0x8B,0x62,0x66,0xDD,0x30,0xFD,    /*64 to 71*/
 0xE2,0x98,0x25,0xB3,0x10,0x91,0x22,0x88,    /*72 to 79*/
 0x36,0xD0,0x94,0xCE,0x8F,0x96,0xDB,0xBD,    /*80 to 87*/
 0xF1,0xD2,0x13,0x5C,0x83,0x38,0x46,0x40,    /*88 to 95*/
 0x1E,0x42,0xB6,0xA3,0xC3,0x48,0x7E,0x6E,    /*96 to 103*/
 0x6B,0x3A,0x28,0x54,0xFA,0x85,0xBA,0x3D,    /*104 to 111*/
 0xCA,0x5E,0x9B,0x9F,0x0A,0x15,0x79,0x2B,    /*112 to 119*/
 0x4E,0xD4,0xE5,0xAC,0x73,0xF3,0xA7,0x57,    /*120 to 127*/
 0x07,0x70,0xC0,0xF7,0x8C,0x80,0x63,0x0D,    /*128 to 135*/
 0x67,0x4A,0xDE,0xED,0x31,0xC5,0xFE,0x18,    /*136 to 143*/
 0xE3,0xA5,0x99,0x77,0x26,0xB8,0xB4,0x7C,    /*144 to 151*/
 0x11,0x44,0x92,0xD9,0x23,0x20,0x89,0x2E,    /*152 to 159*/
 0x37,0x3F,0xD1,0x5B,0x95,0xBC,0xCF,0xCD,    /*160 to 167*/
 0x90,0x87,0x97,0xB2,0xDC,0xFC,0xBE,0x61,    /*168 to 175*/
 0xF2,0x56,0xD3,0xAB,0x14,0x2A,0x5D,0x9E,    /*176 to 183*/
 0x84,0x3C,0x39,0x53,0x47,0x6D,0x41,0xA2,    /*184 to 191*/
 0x1F,0x2D,0x43,0xD8,0xB7,0x7B,0xA4,0x76,    /*192 to 199*/
 0xC4,0x17,0x49,0xEC,0x7F,0x0C,0x6F,0xF6,    /*200 to 207*/
 0x6C,0xA1,0x3B,0x52,0x29,0x9D,0x55,0xAA,    /*208 to 215*/
 0xFB,0x60,0x86,0xB1,0xBB,0xCC,0x3E,0x5A,    /*216 to 223*/
 0xCB,0x59,0x5F,0xB0,0x9C,0xA9,0xA0,0x51,    /*224 to 231*/
 0x0B,0xF5,0x16,0xEB,0x7A,0x75,0x2C,0xD7,    /*232 to 239*/
 0x4F,0xAE,0xD5,0xE9,0xE6,0xE7,0xAD,0xE8,    /*240 to 247*/
 0x74,0xD6,0xF4,0xEA,0xA8,0x50,0x58,0xAF      /*248 to 255*/
};
表4.Galois Log帮助函数
unsigned char gexp[1065]={
 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,   /*0 to 7*/
 0x1D,0x3A,0x74,0xE8,0xCD,0x87,0x13,0x26,   /*8 to 15*/
 0x4C,0x98,0x2D,0x5A,0xB4,0x75,0xEA,0xC9,   /*16 to 23*/
 0x8F,0x03,0x06,0x0C,0x18,0x30,0x60,0xC0,   /*24 to 31*/
 0x9D,0x27,0x4E,0x9C,0x25,0x4A,0x94,0x35,   /*32 to 39*/
 0x6A,0xD4,0xB5,0x77,0xEE,0xC1,0x9F,0x23,   /*40 to 47*/
 0x46,0x8C,0x05,0x0A,0x14,0x28,0x50,0xA0,   /*48 to 55*/
 0x5D,0xBA,0x69,0xD2,0xB9,0x6F,0xDE,0xA1,   /*56 to 63*/
 0x5F,0xBE,0x61,0xC2,0x99,0x2F,0x5E,0xBC,   /*64 to 71*/
 0x65,0xCA,0x89,0x0F,0x1E,0x3C,0x78,0xF0,   /*72 to 79*/
 0xFD,0xE7,0xD3,0xBB,0x6B,0xD6,0xB1,0x7F,   /*80 to 87*/
 0xFE,0xE1,0xDF,0xA3,0x5B,0xB6,0x71,0xE2,   /*88 to 95*/
 0xD9,0xAF,0x43,0x86,0x11,0x22,0x44,0x88,   /*96 to 103*/
 0x0D,0x1A,0x34,0x68,0xD0,0xBD,0x67,0xCE,   /*104 to 111*/
 0x81,0x1F,0x3E,0x7C,0xF8,0xED,0xC7,0x93,   /*112 to 119*/
 0x3B,0x76,0xEC,0xC5,0x97,0x33,0x66,0xCC,   /*120 to 127*/
 0x85,0x17,0x2E,0x5C,0xB8,0x6D,0xDA,0xA9,   /*128 to 135*/
 0x4F,0x9E,0x21,0x42,0x84,0x15,0x2A,0x54,   /*136 to 143*/
 0xA8,0x4D,0x9A,0x29,0x52,0xA4,0x55,0xAA,   /*144 to 151*/
 0x49,0x92,0x39,0x72,0xE4,0xD5,0xB7,0x73,   /*152 to 159*/
 0xE6,0xD1,0xBF,0x63,0xC6,0x91,0x3F,0x7E,   /*160 to 167*/
 0xFC,0xE5,0xD7,0xB3,0x7B,0xF6,0xF1,0xFF,   /*168 to 175*/
 0xE3,0xDB,0xAB,0x4B,0x96,0x31,0x62,0xC4,   /*176 to 183*/
 0x95,0x37,0x6E,0xDC,0xA5,0x57,0xAE,0x41,   /*184 to 191*/
 0x82,0x19,0x32,0x64,0xC8,0x8D,0x07,0x0E,   /*192 to 199*/
 0x1C,0x38,0x70,0xE0,0xDD,0xA7,0x53,0xA6,   /*200 to 207*/
 0x51,0xA2,0x59,0xB2,0x79,0xF2,0xF9,0xEF,   /*208 to 215*/
 0xC3,0x9B,0x2B,0x56,0xAC,0x45,0x8A,0x09,   /*216 to 223*/
 0x12,0x24,0x48,0x90,0x3D,0x7A,0xF4,0xF5,   /*224 to 231*/
 0xF7,0xF3,0xFB,0xEB,0xCB,0x8B,0x0B,0x16,   /*232 to 239*/
 0x2C,0x58,0xB0,0x7D,0xFA,0xE9,0xCF,0x83,   /*240 to 247*/
 0x1B,0x36,0x6C,0xD8,0xAD,0x47,0x8E,0x01,   /*248 to 255*/
 0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x1D,   /*256 to 263*/
 0x3A,0x74,0xE8,0xCD,0x87,0x13,0x26,0x4C,   /*264 to 271*/
 0x98,0x2D,0x5A,0xB4,0x75,0xEA,0xC9,0x8F,   /*272 to 279*/
 0x03,0x06,0x0C,0x18,0x30,0x60,0xC0,0x9D,   /*280 to 287*/
 0x27,0x4E,0x9C,0x25,0x4A,0x94,0x35,0x6A,   /*288 to 295*/
 0xD4,0xB5,0x77,0xEE,0xC1,0x9F,0x23,0x46,   /*296 to 303*/
 0x8C,0x05,0x0A,0x14,0x28,0x50,0xA0,0x5D,   /*304 to 311*/
 0xBA,0x69,0xD2,0xB9,0x6F,0xDE,0xA1,0x5F,   /*312 to 319*/
 0xBE,0x61,0xC2,0x99,0x2F,0x5E,0xBC,0x65,   /*320 to 327*/
 0xCA,0x89,0x0F,0x1E,0x3C,0x78,0xF0,0xFD,   /*328 to 335*/
 0xE7,0xD3,0xBB,0x6B,0xD6,0xB1,0x7F,0xFE,   /*336 to 343*/
 0xE1,0xDF,0xA3,0x5B,0xB6,0x71,0xE2,0xD9,   /*344 to 351*/
 0xAF,0x43,0x86,0x11,0x22,0x44,0x88,0x0D,   /*352 to 359*/
 0x1A,0x34,0x68,0xD0,0xBD,0x67,0xCE,0x81,   /*360 to 367*/
 0x1F,0x3E,0x7C,0xF8,0xED,0xC7,0x93,0x3B,   /*368 to 375*/
 0x76,0xEC,0xC5,0x97,0x33,0x66,0xCC,0x85,   /*376 to 383*/
 0x17,0x2E,0x5C,0xB8,0x6D,0xDA,0xA9,0x4F,   /*384 to 391*/
 0x9E,0x21,0x42,0x84,0x15,0x2A,0x54,0xA8,   /*392 to 399*/
 0x4D,0x9A,0x29,0x52,0xA4,0x55,0xAA,0x49,   /*400 to 407*/
 0x92,0x39,0x72,0xE4,0xD5,0xB7,0x73,0xE6,   /*408 to 415*/
 0xD1,0xBF,0x63,0xC6,0x91,0x3F,0x7E,0xFC,   /*416 to 423*/
 0xE5,0xD7,0xB3,0x7B,0xF6,0xF1,0xFF,0xE3,   /*424 to 431*/
 0xDB,0xAB,0x4B,0x96,0x31,0x62,0xC4,0x95,   /*432 to 439*/
 0x37,0x6E,0xDC,0xA5,0x57,0xAE,0x41,0x82,   /*440 to 447*/
 0x19,0x32,0x64,0xC8,0x8D,0x07,0x0E,0x1C,   /*448 to 455*/
 0x38,0x70,0xE0,0xDD,0xA7,0x53,0xA6,0x51,   /*456 to 463*/
 0xA2,0x59,0xB2,0x79,0xF2,0xF9,0xEF,0xC3,   /*464 to 471*/
 0x9B,0x2B,0x56,0xAC,0x45,0x8A,0x09,0x12,   /*472 to 479*/
 0x24,0x48,0x90,0x3D,0x7A,0xF4,0xF5,0xF7,   /*480 to 487*/
 0xF3,0xFB,0xEB,0xCB,0x8B,0x0B,0x16,0x2C,   /*488 to 495*/
 0x58,0xB0,0x7D,0xFA,0xE9,0xCF,0x83,0x1B,   /*496 to 503*/
 0x36,0x6C,0xD8,0xAD,0x47,0x8E,0x00,0x00,   /*504 to 511*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,   /*zeros for fast multiply*/
 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00    /*zeros for fast
multiply*/
 };
表5.Galois取幂帮助函数
这些表格可以如上述的那样用于计算各种算术运算。
Galois Field(28)中的加法和减法是同样的运算,其操作如下:
Figure G2008101686766D00151
其中的
Figure G2008101686766D0015171831QIETU
为逻辑异或(exclusive)或(XOR)操作符。像普通的算术中一样,
a ⊗ 0 = 0 ⊗ a = a .
Galois Field(28)中的乘法
Figure G2008101686766D00153
操作如下:
a ⊗ b = gexp ( g log [ a ] + g log [ b ] )
其中+为一普通的加法运算符。像普通的运算一样, a ⊗ 0 = 0 ⊗ a = 0 . 并且, a ⊗ 1 = 1 ⊗ a = a .
Galois Field(28)中的除法(a÷b)操作如下:
a÷b=gexp[glog[a]-glog[b]+255]
其中+是普通的加法运算符,并且-是普通的减法运算符。像普通运算一样,a÷1=a。同样地,b必须不为零。
[0057]幂函数(ab)在Galois Field(28)中的操作如下:
ab=gexp[(glog[a]*b)%0FF]
其中+为普通的加法符号,-为普通的减法符号,为普通的乘法符号,和%为普通的取模函数。如在普通的算术中,对于非零a,a0=1。在RS256的参考代码,0从未升级到幂。
如上所述,LPR组大小(在分组中)可被设置以达到以所需的保护周期(毫秒)。若视频多媒体编解码器未使用整个信道的位率,那么该LPR组将导致更长的延迟时间。例如,在光运动的期间,通常运行在1.5Mbps的视频信道将降低到750Kbps。这将导致保护周期是期望的两倍长。这样的情况可以导致所选择的LPR模式继续满足预定的MTBF,其中在该实施例中被因子2所超过。
在一些实例中,可以允许这种延长的保护周期。然而,这将导致分组丢失时产生更长的时间延迟。因而,在一些实例中,需要让发送器根据实际的视频率的变化来调整其LPR模式。下面将描述三种这样的调整,当然其它调整也是可能的。
一种可以做出的调整是保护组的大小。在一些实施例中,这一设置可以在每个保护组的边界改变。因此,发送器可以监控LPR输出分组率和动态的适应每一组的分组的数量。当采用了这种调整,LPR保护开销将随着数据速率的下降而增加。然而,因为这一实例中的数据速率通常将低于正常极限值,变化后的LPR模式通常将仍然保持在预定的拥塞最大值之下。
另一种可做出的调整是发送器根据初始数据分组的传输来改变其输出分组的大小。通常地,由于继续分组的数量通常将在初始数据分组中被发出,在发送继续分组时发送器不应该再改变输出分组的大小。因此,发送器可以监控LPR输出分组率和输出数据速率,并且为维持每一保护周期的分组的数量而动态地调整分组的大小。
另一种可做出的调整是发送器为了完成部分恢复集合而发送空数据分组。一个空数据分组可包括上述的初始数据分组首标。其他通常位于分组中的其他信息,例如序列号负载类型,继续分组的数量等,都被设置为零。由于空数据分组是保护组的一部分,上述的恢复分组编码可包括这些分组,并且它们也可以通过解码过程来恢复。此外,为了防止空数据分组出现在输出媒体分组流中,空数据分组可被LPR解码器丢弃(参照下述内容)。
填充分组也可被用于维持预定数据速率。这些填充分组可被接收器丢弃。附图9中描述了填充分组的一个示例。该填充分组包括了6位的扩展类型字段901,其值为1,并且2位的类型字段902的值为11。该填充分组可作为RTP分组,其使用用于媒体流的LPR有效负载类型。时间戳的值可与之前发送RTP分组中的值一样。序列号可在之前发送的分组中的序列号值的基础上进行递增。该有效负载可以上面示出的填充首标作为结束。该字段的有效负载长度可为最大指定的分组大小之内的任何长度。
附图10中描述了LPR解码器的示例。根据上述的LPR编码器,这一实施例中做了一些可能的变化。LPR解码器的操作基本上与上述的LPR编码器的操作相反。具体来说,LPR分组可由LPR恢复模块1001进行恢复。这些恢复后的LPR分组可被传送到RTP重排序缓冲器1002中,像传统系统中一样,其可以将分组重新排列为它们被接收到的顺序。之后,LPR再生器1003可以根据从恢复的LPR分组(来自LPR恢复模块1001)接收到的信息和从RTCP模块1006接收到的RTCP信息,重建任何丢失的分组。这些再生模块可由解密模块1004(如果对源端进行了加密)进行解密,并且最终该解密模块可由视频解码器1005(或其他类型的合适的媒体解码器,)进行处理。
与传统系统相比,LPR恢复模块1001和LPR再生器1003可以是唯一的非标准化组件,并且当LPR未被使用时,这两个模块作为不加任何处理的通路而已。
LPR恢复模块1001可以处理所有的LPR RTP分组。在给出的示例中,所有接收到的和再生的分组(数据和恢复)可以被直接传送到RTP重排序缓冲器。每一数据分组中的开销(overhead)数据可使得在任何顺序下由LPR恢复模块1001处理这些分组。LPR恢复模块1001还可以向RTCP模块1006提供LPRRTP接收器报告信息。这一信息可以是基于所收到的内容(例如,在该接收器报告中,任何未恢复的分组将被标识为丢失)。
如果恢复集合中存在可被恢复的丢失的数据分组,LPR恢复模块将在收到充足的恢复分组的情况下立刻恢复这些分组。如上所述,如果k个数据分组丢失,必须要接收到k个恢复分组才能恢复该数据。这一恢复过程可能包括首先恢复标记位、数据分组长度、初始分组标识和初始的时间戳。该数据分组长度可用于恢复初始数据分组的有效负载。LPR RTP首标的“Fixed”组件(例如,SSRC、CSRC、LPR有效负载类型,等)可以从这些恢复分组中的一个中获得。LPR RTP首标的可变部分(例如,标记位,时间戳,以及序列号)将被设置为从恢复首标中恢复出的值。
LPR数据分组i的序列号可根据下述方程式进行计算:
Si=Sr-(d+r-i)
其中:i为恢复的数据分组的索引,d为恢复集合中数据分组的编号,r为己接收到恢复分组索引,Si为分组i的序列号。
当接收到数据分组时,由恢复模块1001使用上述的RS256生成函数来创建部分恢复分组。像所接收到的集合的相关恢复分组一样,这些分组可以与部分恢复分组进行异或(即,XOR)运算。所产生的剩余分组将保持任何丢失数据分组对每一恢复分组的作用。在示例的系统中,每一剩余分组将为每一丢失数据分组的线性组合。因此,这将出现k个联立方程(每一个对应k个剩余分组中的一个),每个具有k个未知数(每一个对应丢失的k个数据分组中的一个)。
对于本领域技术人员而言,这些方程可以用一个kxk的矩阵来表示,其可以用数字化的方式进行解决,例如通过高斯排除。由于这种运算是已知的,这里就不再重复其细节。对根据剩余数据所得出的转换矩阵进行相乘运算,可恢复丢失的数据分组。
为了说明上述恢复过程,可以按照附图2所示的恢复方案进行操作。为了简明起见,使用了普通的算术运算而不是实际的Galois Field(28)运算。为生成恢复分组中的数据,可以使用如下公式(从如上所述的RS256生成函数和表格中推导得出):
R1=D1+D2+D3+D4+D5+D6
R2=2D1+4D2+6D3+9D4+13D5+14D6
部分恢复分组可以由解码器根据所接收到的分组来计算。根据上面示例提到,分组3和4(108,110,附图3)未被接收。这将导致:
P1=D1+D2+D5+D6
P2=2D1+4D2+13D5+14D6
剩余部分可以通过从接收到的恢复分组中减去部分恢复分组而计算得到:
r1=R1-P1=D3+D4
r2=R2-P2=6D3+9D4
剩余部分的生成矩阵为:
1    1
6    9
通过高斯排除对该矩阵进行转换,结果如下:
3    -1/3
-2   1/3
因此,丢失数据分组(例如,数据分组3和4)中的信息可使用如下公式被恢复:
D3=3r1-r2/3
D4=2r1+r2/3
在使用LPR时,RTP重排序缓冲器1002可与LPR解码器集成在一起。这允许了最小延时的实现,因为在一些情况下,在次序颠倒的分组实际到达之前,其可以由LPR再生。此外,在一些实施例中,可能需要获得恢复集合的第一d分组,并且只有当一些数据分组丢失时才启用里德-所罗门解码器。这种设计可能不会带来最小化的延迟,但可以具有更好的计算效率。
LPR再生器模块1003可以如上所述的那样,从数据分组中再次创建初始RTP流。若一些用于RTP分组的数据分组丢失,那么就在输出流中省略那一个RTP分组。因为该LPR流已被再次排序,每一分组集合的初始分组应该被首先接收到。若首先收到的是继续分组,那么初始分组已经丢失,并且该继续分组也可被丢弃。
输出RTP分组使用初始数据分组中的RTP首标信息。有效负载类型、序列号和时间戳被初始数据首标中的值所替代。有效负载是从该初始分组和任何具有去掉LPR首标的继续数据分组聚合得到的。若任何继续分组丢失,该输出RTP分组可抑制。应该注意到的是,继续分组的数量是已知的,这是因为其已被在初始数据分组的首标中发出。
如上所述的丢失分组恢复技术可与拥塞避免算法相结合来进一步改进操作。之前所引用的一种拥塞避免算法的示例为动态带宽分配(“DBA”)。DBA基于接收器的RTP堆栈(1006,附图10)中所报告的丢失分组百分比来对位率进行减速,以试图避免拥塞。该接收器RTP堆栈在正常的时间周期(例如,每200ms)为接收器信道生成分组丢失统计数据。这就在允许低MTBF需求的少数LPR配置(其接下来可允许为更低的开销)的同时,允许了对动态改变通道的快速适应。
如图12所示,DBA的控制环路可以作为具有以下状态的状态机来实现:最大比率状态1101、减速状态1102、加速等待状态1103、加速状态1104和固定损失状态1105。各种状态之间的转换如下。假定系统处于最大比率状态1101,这表示正在使用最大数据速率。当分组丢失大于某一预定阈值时,将引起状态转换1106而转换至减速状态1102。
当处于减速状态,系统可减小速度,并且等候以观察分组丢失是否还是继续大于该预定阈值。若分组丢失不再高于该阈值,则系统可以按照转换1108转换至加速等待状态。若分组丢失继续高于该阈值,并且减速尝试还未达到最大次数(1107模块),则该系统可以继续处于减速状态1102并且可以由此继续降低位率。若减速尝试已经达到最大次数,系统将转换至固定丢失状态1105。
当处于加速等待状态时,额外的高于该预定阈值的分组丢失可以引起系统根据转换1109转换至减速状态。可选的,如果在预定时间周期之后,未出现高于该阈值的分组丢失,该系统可以根据转换1110转换至加速状态1104。
在加速状态1104,系统可以增加该位率并且等待高于预定阈值的额外分组丢失。若不存在分组丢失,则系统确定该位率是否小于最大位率。如果是,系统将状态转换1111转换至最大比率状态1101。如果不是,系统将继续处于加速状态1104。在加速状态1104期间,若所经历的分组丢失高于预定阈值,该系统确定是否已经作出了预定的最大次数的加速尝试(1112模块)。如果不是,系统根据转换1113转换至加速等待状态。如果已经作出了最大次数的加速尝试,系统可以根据转换1114转换至最大速率状态1101。
在上述每一种状态中,可以采用不同的分组丢失阈值。另外,一些或所有的状态转换都可能带有与其相关的延时。可以通过以位率的15%作为每次的增幅来完成加速。若通道被完全占用并且没有报道丢失分组情况,将导致延时,该延时在下一次加速发生之前可与X个定时周期(200ms*X)相等。当默认地将X的值设为2,将导致400ms的延时。任何既不是连续的分组丢失报告也不是回应报告的分组丢失将导致状态转换。
附图12显示了动态变化带宽的可用性和DBA的改变。附图12还显示了状态变换、回应延时,以及三种丢失情况:突发丢失、受限通道和固定丢失。在减速状态期间、加速等待状态期间和加速状态期间的LPR保护的使用已经在附图12中用阴影区域表示。加速尝试可使用LPR保护开销(overhead)来测试拥塞峰值,即,仅仅冗余数据可以用来探测网络拥塞情况是否可以允许更高的位率。若这一拥塞峰值的测试失败,LPR保护任何由分组丢失所引起的损失,这种分组丢失是因为仅仅使用了冗余数据。这就允许使用连续减少的视频干扰风险来探测拥塞峰值。
所测得的拥塞峰值可被完全应用于数据流。例如,当多个视频流被发送时,拥塞峰值可被应用于位流的总和。前向擦除保护可被独立地应用于每一视频流。尽管如此,相同级别的保护可被应用于所有的流。系统还可以调整为使用共同的前向擦除保护分组对视频进行共同的保护,或者对每一视频流应用不同的保护级别。
前向擦除校正还可以仅被应用于视频流的一部分中。例如,在采用了分层的视频编码的情况下,该前向擦除保护将被应用于底层而不是增强层。可用对各种层进行不同程度的保护(称之为“不平等保护”)。在这样的配置下,可将拥塞避免应用于整个数据流中。
表6中给出了拥塞峰值管理的实例LPR探测。这些探测可用于测试将数据速率提高预定值(例如,10%)的可能性,并且可被持续激活较短时间周期(例如,800ms)。
视频速率   每组的数   分组有效负  每组的恢复   保护周期   MTBF
(k\bs)   据分组     载大小(字   分组          (毫秒)    (秒)
                      节)
64      13     87          3            141        2067
128        12         133         3            100        1795
256        12         266         3            100        1795
384        12         400         3            100        1800
512        12         533         3            100        1799
768        12         800         3            100        1800
1024       16         800         3            100        870
2048       16         800         4            50         1158
3072       24         800         6            50         1936
4096       32         800         7            50         1365
5120       32         1000        7            50         1365
6144       39         1000        8            51         1235
表6.对10%速率的加速的探测
这里所描述的技术可以是接收器驱动的,其中接收器可以反馈拥塞峰值和发送器的擦除保护等级。可选地,它们可以被用于发送器驱动的框架中,或者甚至是具有分布在发送器和接收器之间的控制环路的混合框架中。经过一些调整,它还可以适用于多播流。所述技术也可以与其它技术结合,例如分组的重新传输、周期性图片更新和视频错误隐藏。
如上所述,将前向擦除校正与拥塞避免相结合所带来的独特的好处是任一机制自身所不能获得的。其中一个好处就是,可通过实验性地增加位流中的前向擦除保护分组的数量和观察对已传送的数据流的影响,周期性地对拥塞峰值进行测量。这些保护分组可将总的数据速率增加至所需的探测级别,与此同时还将保护来自分组丢失(超过拥塞峰值级别的情况)的媒体。第二个好处是通过动态测量拥塞峰值的方法可以更快地确定所允许的带宽,这一带宽是由拥塞避免算法中通常所采用的被动方法来提供。第三个好处是,当整体流(媒体和保护)被限制保持在动态测量的拥塞峰值之下时,被保护的媒体流可以以更少的延时、更低的保护开销来进行传送。
这里所述技术的另一好处也会随着视频数据速率的增加而出现,系统在防止分组丢失方面会越来越有效。因此,当位率增加时,例如在使用了高清晰度视频的情况下,这里所述的技术将变得更加实用和有效。
拥塞避免与前向擦除校正的集成带来了一些独特的优点。例如,拥塞避免为前向擦除校正带来了一些独特的优点。由于数据链接变得越来越拥挤,沿着链接的媒体的传递延时增加。单独使用前向擦除校正可以得到可接受的分组丢失率,但不能降低排队延时。将拥塞避免集成至控制环路结果可以得到所期望的服务质量(QoS),该服务质量具有低得多的延迟。另外,前向擦除保护的效率在低延迟应用中要小于其在高延迟应用中的效率。若数据丢失的根源只是简单的拥塞,那么降低位率将比向数据流增加额外的前向擦除保护分组更加有效。
相反地,前向擦除校正也为单一的拥塞避免增添了相当大的价值。典型地,拥塞避免技术所降低的数据流的比率要远远多于其提升的比率。例如,TCP的拥塞机制以乘法因子来降低数据速率,但以施加加法因子来对数据速率进行提高要慢得多。这是由于增加数据流比率往往会带来拥塞的危险,进而产生丢失分组。当前向擦除保护与拥塞避免相集成,这种危险大大降低。因此,如上所述,可以简单地通过增加前向擦除保护分组的的密度来增加数据速率。
此外,拥塞避免技术还可以用于评估链接速度。来自其它数据流的交叉拥塞常常会导致分组的丢失。当观察到交叉拥塞时,通常分组丢失已经发生。由于这样的交叉拥塞可以被恢复,所包括地前向擦除保护允许分组丢失。
这里所公开的技术可以被广泛类型的系统所采用,这些系统包括任何用于传输多媒体数据,例如视频数据、声频数据、静态图像数据以及其它任何类型数据的系统。这一技术可以被通常用途的计算机系统所采用,例如桌上电脑、笔记本电脑、掌上电脑、服务器以及类似系统。可选地,这些技术可以在各种类型的应用系统中使用,例如会议室视频会议系统、桌上视频会议系统以及类似系统。所述技术也可被基础设施类型的视频会议设备所采用,例如多点控制单元(MCU)、桥接器、媒体服务器等。
这里所述的方法可被编程为一个或多个计算机程序,并且存储在计算机可读介质,例如紧凑磁盘、磁带中,存储在易失性或非易失性存储器等中。相应地,存储在程序存储设备上的指令可被用于使得可编程控制设备(例如计算机或会议单元)来执行这里所公开的技术。尽管所述的通信系统在远端和近端之间可提供双向通信,应当理解的是,本公开的教导也可以被应用于单向传输的系统中。
前述的说明书中优选的和其它的实施例并不作为对申请人所提出的发明构思的范围或适用性的限制和局限。作为公开这里所包含的发明构思的交换,申请人将要求所附权利要求中给出的专利权范围。因此,所附权利要求包括了由对下述权利要求或等同物要求的范围之内的全部可能修改和变化。

Claims (14)

1.一种防止对在有损网络中传输的媒体流(106-111)产生干扰的方法,所述方法包括:
将丢失分组恢复(LPR)算法应用于所述媒体流(106-111),其中所述丢失分组恢复算法将冗余信息(104,105)插入到包括所述媒体流(106-111)的传输数据流(104-111)中,以允许对一个或多个丢失分组(108,110)进行重建;以及
将拥塞避免算法应用于所述传输数据流(104-111),其中在分组丢失在预定时间段内不超过第一预定阈值的状态(1103)下,所述拥塞避免算法包括以下步骤:
通过增加插入所述传输数据流(104-111)的冗余信息(104,105)的量,临时性增加所述传输数据流(104-111)的数据速率;
从所述有损网络接收包括分组丢失的信道信息并监测所述分组丢失以确定所述有损网络是否能够支持所述传输数据流(104-111)的更高数据速率;以及
如果所述分组丢失保持低于第二预定阈值,则在维持所述传输数据流(104-111)的更高数据速率的同时提高所述媒体流(106-111)的比特率。
2.根据权利要求1所述的方法,其中所述冗余信息(104,105)包括一个或多个恢复分组。
3.根据权利要求2所述的方法,其中恢复分组的数量取决于由RTCP接收器报告确定的分组丢失。
4.根据权利要求1-3中任一项所述的方法,其中所述丢失分组恢复算法包括:
前向擦除校正编码,或
里德-所罗门编码。
5.根据权利要求1-3中任一项所述的方法,其中所述媒体流(106-111)包括视频数据。
6.根据权利要求1所述的方法,其中将丢失分组恢复算法应用于所述媒体流(106-111)包括:
确定保护周期;
确定每一保护周期的分组的整体数量;以及
确定每一保护周期的恢复分组的数量。
7.根据权利要求6所述的方法,其中所述保护周期是根据所述媒体流(106-111)的位率而确定的。
8.根据权利要求6或7所述的方法,进一步包括:
调整作为所述媒体流(106-111)的位率的函数的LPR保护参数。
9.根据权利要求8所述的方法,其中调整作为所述媒体流(106-111)的位率的函数的LPR保护参数包括:
动态地调整所述数据和/或恢复分组的分组大小;或
发送空数据分组。
10.一种防止对在有损网络中传输的媒体流(106-111)产生干扰的媒体编码装置,所述媒体编码装置包括:
媒体编码器(401);和
一个或多个丢失分组恢复(LPR)模块(407),被配置成:
将丢失分组恢复算法应用于媒体流(106-111),其中所述丢失分组恢复算法适于将冗余信息(104,105)插入到包括所述媒体流(106-111)的传输数据流(104-111)中,以允许对一个或多个丢失分组(108,110)进行重建;以及
将拥塞避免算法应用于所述传输数据流(104-111),其中在分组丢失在预定时间段内不超过第一预定阈值的状态(1103)下,所述拥塞避免算法适于:
通过增加插入所述传输数据流(104-111)的冗余信息(104,105)的量,临时性增加所述传输数据流(104-111)的数据速率;
从所述有损网络接收包括分组丢失的信道信息并监测所述分组丢失以确定所述有损网络是否能够支持所述传输数据流(104-111)的更高数据速率;以及
如果所述分组丢失保持低于第二预定阈值,则在维持所述传输数据流(104-111)的更高数据速率的同时提高所述媒体流(106-111)的比特率。
11.根据权利要求10所述的媒体编码装置,其中所述媒体编码装置还被配置成根据所述信道信息确定LPR保护参数。
12.根据权利要求10或11所述的媒体编码装置,其中所述媒体编码装置为视频编码器。
13.根据权利要求11所述的媒体编码装置,其中所述LPR保护参数是根据以下确定的:
确定保护周期;
确定每一保护周期的分组的整体数量;以及
确定每一保护周期的恢复分组的数量。
14.根据权利要求13所述的媒体编码装置,其中恢复分组的有效负载使用里德-所罗门编码进行编码。
CN2008101686766A 2007-07-23 2008-07-23 避免丢失分组恢复中的拥塞的系统和方法 Active CN101364946B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US95139907P 2007-07-23 2007-07-23
US60/951,399 2007-07-23

Publications (2)

Publication Number Publication Date
CN101364946A CN101364946A (zh) 2009-02-11
CN101364946B true CN101364946B (zh) 2013-08-14

Family

ID=39930524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101686766A Active CN101364946B (zh) 2007-07-23 2008-07-23 避免丢失分组恢复中的拥塞的系统和方法

Country Status (4)

Country Link
US (2) US7876685B2 (zh)
EP (1) EP2019522B1 (zh)
JP (2) JP2009027720A (zh)
CN (1) CN101364946B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008076125A1 (en) * 2006-12-21 2008-06-26 Thomson Licensing A method to support forward error correction for real-time audio and video data over internet protocol networks
JP5094593B2 (ja) * 2008-06-27 2012-12-12 キヤノン株式会社 送信装置、受信装置、及び方法、プログラム
US8995356B2 (en) 2009-10-14 2015-03-31 Qualcomm Incorporated Coding methods and apparatus for broadcast channels
US8386266B2 (en) 2010-07-01 2013-02-26 Polycom, Inc. Full-band scalable audio codec
JP2013528832A (ja) 2010-11-12 2013-07-11 ポリコム,インク. マルチポイント環境におけるスケーラブルオーディオ処理
CN102761530A (zh) * 2011-04-29 2012-10-31 华为终端有限公司 媒体码流传输方法、装置及系统
US9014037B2 (en) 2011-10-28 2015-04-21 Electronics And Telecommunications Research Institute Apparatus and method for transmitting/receiving data in communication system
CN103152545B (zh) * 2011-12-07 2016-02-10 Polycom通讯技术(北京)有限公司 一种处理纠错请求的方法、视频服务器和视频会议系统
US8819513B2 (en) 2012-01-13 2014-08-26 Microsoft Corporation Lost real-time media packet recovery
US20130182705A1 (en) * 2012-01-18 2013-07-18 Uri AVNI Method and system for transmitting encoded video signals
KR20130126876A (ko) * 2012-04-30 2013-11-21 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
US8904024B2 (en) * 2012-08-03 2014-12-02 Ittiam Systems (P) Ltd System and method for low delay fast update for video streaming
US9270792B2 (en) 2012-11-21 2016-02-23 Ubiquiti Networks, Inc. Method and system for improving wireless link efficiency
CN104348577B (zh) * 2013-08-01 2019-01-08 波利康公司 用于编码多媒体数据的设备和方法
GB2555755A (en) * 2014-06-20 2018-05-09 Starleaf Ltd A telecommuincation end-point device data transmission controller
GB2527365B (en) * 2014-06-20 2018-09-12 Starleaf Ltd A telecommunication end-point device data transmission controller
US10104016B2 (en) 2014-12-12 2018-10-16 Hitachi, Ltd. Communication device, communication device system, and communication method
US10154317B2 (en) 2016-07-05 2018-12-11 BoxCast, LLC System, method, and protocol for transmission of video and audio data
WO2018038127A1 (ja) 2016-08-25 2018-03-01 日本電気株式会社 無線通信装置、方法、プログラムが記憶された記憶媒体
US10594661B1 (en) * 2017-06-13 2020-03-17 Parallels International Gmbh System and method for recovery of data packets transmitted over an unreliable network
TWI717808B (zh) * 2019-08-16 2021-02-01 圓展科技股份有限公司 多媒體資料傳輸方法及多媒體資料傳輸裝置
CN111601178B (zh) * 2020-05-26 2022-09-23 维沃移动通信有限公司 视频数据处理方法、装置和电子设备
NO20211386A1 (en) 2021-11-18 2022-08-08 Pexip AS Method, system and computer program product for initiating downspeeding in a videoconferencing session
NO346978B1 (en) * 2021-11-26 2023-03-20 Pexip AS Method, system and computer program product for upspeeding in a videoconferencing session

Family Cites Families (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4894823A (en) * 1986-02-28 1990-01-16 American Telephone And Telegraph Company Time stamping for packet system nodes
US5146477A (en) * 1987-03-17 1992-09-08 Antonio Cantoni Jitter control in digital communication links
US4935816A (en) 1989-06-23 1990-06-19 Robert A. Faber Method and apparatus for video image film simulation
US5821984A (en) 1992-09-09 1998-10-13 Canon Kabushiki Kaisha Communication conference system with storage of conference information including proceedings data
JPH07162830A (ja) 1993-12-10 1995-06-23 Ricoh Co Ltd テレビ会議通信装置の制御方法
JPH08149130A (ja) 1994-11-25 1996-06-07 Canon Inc 映像コミュニケーションシステム
US5838664A (en) 1997-07-17 1998-11-17 Videoserver, Inc. Video teleconferencing system with digital transcoding
KR0163723B1 (ko) 1995-03-20 1999-01-15 김광호 종합정보통신망을 이용한 화상회의시스템의 화상회의 제어장치
DE19524808A1 (de) 1995-07-07 1997-01-09 Thomson Brandt Gmbh Verfahren, Encoder und Decoder zur Resynchronisierung auf einen fehlerbehafteten Datenstrom
US5768263A (en) 1995-10-20 1998-06-16 Vtel Corporation Method for talk/listen determination and multipoint conferencing system using such method
US5889945A (en) 1995-12-27 1999-03-30 Intel Corporation System for dynamically updating information in panels within an attendee bar corresponding to a conference session when selected information regarding to conferencing participants changes
US6122259A (en) 1996-02-27 2000-09-19 Hitachi, Ltd. Video conference equipment and multipoint video conference system using the same
US5953049A (en) 1996-08-02 1999-09-14 Lucent Technologies Inc. Adaptive audio delay control for multimedia conferencing
US6215821B1 (en) * 1996-08-07 2001-04-10 Lucent Technologies, Inc. Communication system using an intersource coding technique
US5917830A (en) 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
JP3434653B2 (ja) 1996-12-05 2003-08-11 富士通株式会社 マルチメディアデータ蓄積伝送方法及び装置
US5844615A (en) 1997-01-16 1998-12-01 General Instrument Corporation Communication of VBI data in digital television data streams
US5886734A (en) 1997-01-28 1999-03-23 Videoserver, Inc. Apparatus and method for storage and playback of video images and audio messages in multipoint videoconferencing
US6141448A (en) 1997-04-21 2000-10-31 Hewlett-Packard Low-complexity error-resilient coder using a block-based standard
AU8759198A (en) 1997-07-28 1999-02-16 Roy H. Campbell A robust, reliable compression and packetization scheme for transmitting video
US6680976B1 (en) 1997-07-28 2004-01-20 The Board Of Trustees Of The University Of Illinois Robust, reliable compression and packetization scheme for transmitting video
US6006253A (en) 1997-10-31 1999-12-21 Intel Corporation Method and apparatus to provide a backchannel for receiver terminals in a loosely-coupled conference
US6104757A (en) 1998-05-15 2000-08-15 North Carolina State University System and method of error control for interactive low-bit rate video transmission
US6421387B1 (en) * 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6078328A (en) 1998-06-08 2000-06-20 Digital Video Express, Lp Compressed video graphics system and methodology
US6646987B1 (en) * 1998-10-05 2003-11-11 Nortel Networks Limited Method and system for transmission control protocol (TCP) packet loss recovery over a wireless link
US6025870A (en) 1998-10-14 2000-02-15 Vtel Corporation Automatic switching of videoconference focus
US6317462B1 (en) 1998-10-22 2001-11-13 Lucent Technologies Inc. Method and apparatus for transmitting MPEG video over the internet
US6629318B1 (en) 1998-11-18 2003-09-30 Koninklijke Philips Electronics N.V. Decoder buffer for streaming video receiver and method of operation
US6771674B1 (en) * 1998-12-28 2004-08-03 3Com Corporation Method and system for forward error correction based on parallel streams
US7423983B1 (en) * 1999-09-20 2008-09-09 Broadcom Corporation Voice and data exchange over a packet based network
US6263371B1 (en) 1999-06-10 2001-07-17 Cacheflow, Inc. Method and apparatus for seaming of streaming content
US6208620B1 (en) * 1999-08-02 2001-03-27 Nortel Networks Corporation TCP-aware agent sublayer (TAS) for robust TCP over wireless
US7606164B2 (en) 1999-12-14 2009-10-20 Texas Instruments Incorporated Process of increasing source rate on acceptable side of threshold
US6611530B1 (en) 1999-09-21 2003-08-26 Hewlett-Packard Development Company, L.P. Video communication using multiple streams
US6728924B1 (en) 1999-10-21 2004-04-27 Lucent Technologies Inc. Packet loss control method for real-time multimedia communications
JP2001119376A (ja) * 1999-10-21 2001-04-27 Nec Corp 回線エラー監視方式
DE50013437D1 (de) * 1999-10-28 2006-10-19 Siemens Ag Verfahren zum verbessern der datenübertragungsqualität in datenpaketorientierten kommunikationsnetzen
US7133407B2 (en) 2000-01-25 2006-11-07 Fujitsu Limited Data communications system
JP3478223B2 (ja) * 2000-02-10 2003-12-15 日本電気株式会社 スタッフィング制御回路
JP3841256B2 (ja) * 2000-02-15 2006-11-01 三菱電機株式会社 通信システム及び通信方法及び送信端末
US7539130B2 (en) * 2000-03-28 2009-05-26 Nokia Corporation Method and system for transmitting and receiving packets
US6920149B2 (en) * 2000-05-30 2005-07-19 Lucent Technologies Inc. Digital data transmission system
US6757248B1 (en) * 2000-06-14 2004-06-29 Nokia Internet Communications Inc. Performance enhancement of transmission control protocol (TCP) for wireless network applications
US7657913B2 (en) * 2000-06-14 2010-02-02 Sony Corporation Method and apparatus for correcting corrupted digital video transport streams
WO2002035847A2 (en) 2000-10-27 2002-05-02 Polycom Israel Ltd. Apparatus and method for improving the quality of video communication over a packet-based network
JP3806133B2 (ja) * 2000-10-31 2006-08-09 株式会社東芝 データ伝送装置、データ伝送方法及びプログラム
US7103669B2 (en) 2001-02-16 2006-09-05 Hewlett-Packard Development Company, L.P. Video communication method and system employing multiple state encoding and path diversity
JP3769468B2 (ja) * 2001-03-21 2006-04-26 株式会社エヌ・ティ・ティ・ドコモ 通信品質制御方法、通信品質制御システム、パケット解析装置及びデータ送信端末装置
EP1246383A1 (en) * 2001-03-28 2002-10-02 Lucent Technologies Inc. Data transmission system
US7099273B2 (en) * 2001-04-12 2006-08-29 Bytemobile, Inc. Data transport acceleration and management within a network communication system
US7103047B1 (en) * 2001-06-26 2006-09-05 Juniper Networks, Inc. Method and apparatus for modifying the rate of MPEG transport streams
US6757735B2 (en) 2001-07-03 2004-06-29 Hewlett-Packard Development Company, L.P. Method for distributing multiple description streams on servers in fixed and mobile streaming media systems
KR20030095995A (ko) * 2002-06-14 2003-12-24 마츠시타 덴끼 산교 가부시키가이샤 미디어 전송방법 및 그 송신장치 및 수신장치
JP3734774B2 (ja) * 2002-06-21 2006-01-11 株式会社リコー ネットワークファクシミリ装置、及び、ファクシミリ通信方法
US7656905B2 (en) * 2002-12-24 2010-02-02 Samir Sheth Apparatus and method for aggregation and transportation of gigabit ethernet and other packet based data formats
US7295549B2 (en) * 2003-02-14 2007-11-13 Ntt Docomo, Inc. Source and channel rate adaptation for VoIP
JP4173755B2 (ja) * 2003-03-24 2008-10-29 富士通株式会社 データ伝送サーバ
WO2005002120A2 (en) * 2003-06-12 2005-01-06 California Institute Of Technology Method and apparatus for network congestion control
US20050013249A1 (en) * 2003-07-14 2005-01-20 Hao-Song Kong Redundant packets for streaming video protection
JP4328602B2 (ja) * 2003-11-20 2009-09-09 富士通株式会社 パケットエラー訂正装置及び方法
JP4349114B2 (ja) * 2003-12-10 2009-10-21 ソニー株式会社 送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
JP2005252622A (ja) * 2004-03-03 2005-09-15 Kitakyushu Foundation For The Advancement Of Industry Science & Technology 通信装置及び通信方法
US7660245B1 (en) * 2004-09-16 2010-02-09 Qualcomm Incorporated FEC architecture for streaming services including symbol-based operations and packet tagging
JP4459794B2 (ja) * 2004-11-30 2010-04-28 日本電信電話株式会社 符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラム
CN101061659B (zh) * 2004-12-02 2015-04-29 汤姆逊许可公司 自适应前向纠错的方法和设备
WO2007084177A2 (en) * 2005-05-06 2007-07-26 California Institute Of Technology Efficient loss recovery architecture for loss-decoupled tcp
JP4580278B2 (ja) * 2005-05-20 2010-11-10 財団法人エヌエイチケイエンジニアリングサービス パケット中継装置、コンテンツ送信装置、パケット中継プログラムならびにパケット中継方法
JP4320024B2 (ja) * 2005-06-10 2009-08-26 三星電子株式会社 誤り訂正パケットを用いた伝送率制御方法およびそれを用いた通信装置
KR100843073B1 (ko) 2005-06-10 2008-07-03 삼성전자주식회사 오류 정정 패킷을 이용한 전송률 제어 방법 및 이를 이용한통신 장치
KR20080068745A (ko) * 2005-12-15 2008-07-23 미쓰비시덴키 가부시키가이샤 통신 시스템, 송신측 통신 장치 및 수신측 통신 장치
WO2007070056A1 (en) * 2005-12-15 2007-06-21 Thomson Licensing An adaptive joint source and channel coding scheme for h.264 video multicasting over wireless networks
US20070147249A1 (en) * 2005-12-22 2007-06-28 Brijesh Kumar Cross layer optimization for improving TCP performance in lossy wireless environments
KR100900438B1 (ko) * 2006-04-25 2009-06-01 삼성전자주식회사 음성 패킷 복구 장치 및 방법
US7957307B2 (en) * 2007-03-14 2011-06-07 Microsoft Corporation Reducing effects of packet loss in video transmissions
US20080285476A1 (en) * 2007-05-17 2008-11-20 Yasantha Nirmal Rajakarunanayake Method and System for Implementing a Forward Error Correction (FEC) Code for IP Networks for Recovering Packets Lost in Transit
US7839859B2 (en) * 2007-12-03 2010-11-23 Nec Laboratories America, Inc. Voice adaptive gateway pacing methods and systems for wireless multi-hop networks
US8654787B2 (en) * 2009-03-27 2014-02-18 Dell Products L.P. Apparatus and method for remote communication and transmission protocols

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
C. H. Shih等.A Self-Regulated Redundancy Control Scheme for Wireless Video Transmission.《2005 International Conference on Wireless Networks, Communications and Mobile Computing》.2005,第439-444页,第1-4节. *

Also Published As

Publication number Publication date
EP2019522A2 (en) 2009-01-28
US20090046580A1 (en) 2009-02-19
US20110096776A1 (en) 2011-04-28
JP5661693B2 (ja) 2015-01-28
JP2009027720A (ja) 2009-02-05
US8493862B2 (en) 2013-07-23
EP2019522B1 (en) 2018-08-15
EP2019522A3 (en) 2009-07-22
JP2012235523A (ja) 2012-11-29
CN101364946A (zh) 2009-02-11
US7876685B2 (en) 2011-01-25

Similar Documents

Publication Publication Date Title
CN101364946B (zh) 避免丢失分组恢复中的拥塞的系统和方法
CN101923802B (zh) 一种序列密码实现方法和装置
US20100172501A1 (en) Secure key system
CN101073260A (zh) 有线电视通信系统中的上行信道绑定
CN102970109B (zh) 一种高速多通道的数据传输方法、相关装置和系统
CN101488954A (zh) 语音监听方法以及接入网关
Tews et al. Breaking dvb-csa
CN101625653A (zh) 一种多媒体产品本地数据处理校验方法
Bernstein Cryptography in nacl
CN1360773A (zh) 安全发送用于移动站鉴别的分布rand信号的方法和设备
Stern et al. Cs-cipher
Tuychiev New encryption algorithm based on network PES8-1 using of the transformations of the encryption algorithm AES
Maghrebi et al. Optimal first-order masking with linear and non-linear bijections
US20100040226A1 (en) Device, program and method for generating hash values
do Nascimento et al. FlexAEAD-A lightweight cipher with integrated authentication
CN110061848B (zh) 一种安全导入支付终端密钥的方法、支付终端及系统
CN101980466B (zh) 一种联合spiht压缩与不等差错保护编码的码流传输方法
CN115348101A (zh) 基于混沌分组密码的数据加密方法及系统
Smyshlyaev et al. The security evaluated standardized password-authenticated key exchange (SESPAKE) protocol
WO2022052859A1 (zh) 一种数据传输方法及数据传输设备
US6377687B1 (en) Methods and apparatus for enhanced CMEA employing enhanced transformations
Tang et al. Awareness and control of personal data Based on the Cyber-I privacy model
CN114189324B (zh) 一种消息安全签名方法、系统、设备及存储介质
US20230327852A1 (en) Data transmission method, communication apparatus, and communication system
Ding et al. Cryptanalysis of Loiss stream cipher

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20231009

Address after: Texas, USA

Patentee after: Huihe Development Co.,Ltd.

Address before: California, USA

Patentee before: Polycom, Inc.