CN104040976B - 用于丢失实时媒体分组恢复的方法和装置 - Google Patents

用于丢失实时媒体分组恢复的方法和装置 Download PDF

Info

Publication number
CN104040976B
CN104040976B CN201380005319.7A CN201380005319A CN104040976B CN 104040976 B CN104040976 B CN 104040976B CN 201380005319 A CN201380005319 A CN 201380005319A CN 104040976 B CN104040976 B CN 104040976B
Authority
CN
China
Prior art keywords
packet
fec
unprotected
packets
module
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
CN201380005319.7A
Other languages
English (en)
Other versions
CN104040976A (zh
Inventor
沈立
T.摩尔
S.王
钱挺
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN104040976A publication Critical patent/CN104040976A/zh
Application granted granted Critical
Publication of CN104040976B publication Critical patent/CN104040976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • 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
    • H04L1/0046Code rate detection or code type detection
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/098Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit using single parity bit
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

公开了用于使得在实现前向差错控制(FEC)的计算机网络实时应用中的丢失实时媒体分组易于恢复,以便服务器性能从CPU和存储器的角度不受影响的系统、方法和计算机程序产品。在一个实施例中,作为与实时传输协议(RTP)兼容的通信网络的部分的会议服务器通过对分组不执行任何FEC编码操作(除非它被标记为指示通过FEC(例如,里德‑所罗门)编码进行再生是必要的)能够避免再生FEC分组。如果没有该标记,则该会议服务器按照RTP更新接收的FEC分组并将该分组发送到其最终目的地。公开的这样的系统、方法和计算机程序产品不依赖于被保护的媒体的性质并且足够灵活以支持多种多样的FEC技术。

Description

用于丢失实时媒体分组恢复的方法和装置
背景技术
在今天的技术环境中,对于个人、商业企业和其他组织来说,使用点对点音频通话和视频会议之类的基于计算机网络的实时通信是常见的。这种实时通信利用了全球公共互联网的力量以允许进行更多通信和远距离协作,提高生产率和节约旅行成本。实时通信涉及在数字通信网络(即,计算机通信网络)上传送(即,发送和/或接收)的各种形式的信息(例如,语音、数据、图形、文本和数字),其中使用分组来传送信息。这些通信网络常常使用分组交换技术,其中,被发送的分组在其到达其最终目的地节点之前可能遍历该通信网络中的若干节点。
一个分组是按照一个通信标准的特定协议而排列和/或格式化的一组比特。通信标准规定了信息如何在数字通信网络(例如,互联网)上被传送(即,发送和/或接收)并且可以使用一个或多个协议来定义这种排列、格式以及对分组的各个部分的解释。一个分组的各个部分及其解释由该协议定义。分组通常包括分组头部和分组有效载荷。分组头部包含描述该分组中传送的信息的特定特征的信息。举例来说,分组头部可以包含这样的信息,其描述被传送的信息的类型(例如,语音、视频或图形)、该分组的最终目的地、该分组被发送的时间、该分组被从其发送的特定源和其他这样的信息。分组有效载荷包含被发送的实际信息(例如,语音、视频或图形)。
对于实时通信(例如,视频或语音)来说,由于这些通信的性质,接收通信分组时的延迟、分组的丢失和/或接收到损坏的分组均不可容忍。用于解决这些不良现象的一种技术是重新发送该丢失的、延迟的和/或损坏的信息分组。然而这种重新发送分组的方法代价较高,因为它需要额外的带宽并且经常导致额外的延迟。
用于在互联网之类的数字通信网络上传送实时信息的一种特定协议是实时传输协议(RTP)(例如,征求意见3550或RFC 3550)。术语RTP在下文中将代表一个总体协议,比如,例如RFC 3550。在按照RTP运行的通信网络中,使用由一组比特表示的RTP分组来传送信息。RTP不使用重新发送的技术,而是使用前向纠错(FEC)来检测接收的分组中的差错并恢复丢失分组。前向纠错是一种用于数字通信网络的编码,其中在信息发送之前,对信息分组的各个部分或整个信息分组执行特定的编码操作(也称为保护操作)以生成冗余比特。在FEC中使用的这种编码操作的一些公知示例包括异或(XOR)操作、奇偶位编码、里德-所罗门(RS)编码和汉明(Hamming)编码。这些冗余比特按照协议被重新排列(即,格式化)以形成“受保护的”分组或携带受保护信息的分组。这些信息比特在发送之前经过了编码操作因而受到保护,因为在网络的最终目的地节点使用相同的编码操作能够纠正这些比特中的任何差错并且能够恢复丢失分组。术语“编码操作”和“保护操作”将在本公开中可互换地使用以代表前面描述的FEC操作。
分组在实时通信应用中经常被称为媒体分组。描述该媒体有效载荷的各个方面的特定信息被附于该媒体有效载荷的开头,该附加部分被称为媒体头部。即,媒体头部是描述例如该分组的目的地、包含于该媒体有效载荷中的信息的类型、该分组被发送的时间、该分组被从其发送的源以及其他这种类型的信息的一组比特。媒体头部被附加到媒体有效载荷以形成媒体分组。
使用FEC对媒体头部和媒体有效载荷编码导致冗余信息的生成,该冗余信息按照RTP可以被形成为具有头部和有效载荷部分的FEC分组。对媒体分组编码而形成的FEC分组因而包含受保护的信息并且被称为与该媒体分组关联。FEC分组被用于重建(即,恢复)丢失媒体分组和/或纠正接收的但被损坏的媒体分组中的差错。媒体分组和关联的FEC分组两者均被发送到它们的目的地。在该目的地,接收设备使用FEC分组能够检测丢失媒体分组和/或损坏的媒体分组的发生。对于丢失的或损坏的分组,该接收设备以公知的方式并按照RTP执行在发送端执行的相同的保护操作并且(按照RTP)排列所生成的比特以恢复丢失分组和/或纠正损坏的分组。
在许多当前的在计算机网络上传送信息的实时通信的应用中,服务器经常被用于从多个源接收携带不同类型的信息的不同分组。该服务器可以例如是被用于在彼此位于相距遥远的不同地点的个人之间进行视频/语音会议的通信网络基础设施的一部分。服务器通常对每个接收的FEC分组的至少一部分执行(与发送端处)相同的保护操作以便检测损坏的媒体分组并恢复丢失媒体分组。服务器随后再生新的FEC分组,它随后将这些新的FEC分组与媒体分组一起发送到这些分组的最终目的地。针对一个会议而处理来自不同源的许多不同分组的结果是,由服务器完成的处理在CPU时间和存储器使用方面变得负担很重并且成本特别高。此外,管理服务器和/或通信网络的总体成本也提高了。
考虑到前述内容,需要系统、方法和计算机程序产品以方便在实现FEC的计算机网络中执行的实时应用中恢复丢失实时媒体分组,从而使服务器性能从CPU和存储器的角度不受影响。
发明内容
提供本发明内容以介绍概念的选择。这些概念在下面的具体实施方式中被进一步描述。本发明内容不意图确定要求保护的主题的关键特征或必要特征,也不意图作为确定要求保护的主题的范围时的辅助。
本发明通过提供用于方便在分组交换和协议兼容的通信网络(其将FEC用于传送信息分组)中显著降低由中间节点(例如,会议服务器)所执行的处理量的系统、方法和计算机程序产品,满足了前面所确定的需求。具体来说,消除了通常由该中间节点对包含受保护信息的特定的接收的分组的至少一部分执行的保护操作。进一步地,也消除了重新排列通常从这种保护操作产生的冗余信息的任务和从冗余信息的重新排列再生这些分组的任务。尽管在不同的定义时刻这些特定分组被标记为指示中间节点执行保护操作和由该保护操作导致的冗余信息的重新排列,但是由该中间节点对接收的分组执行的总体处理量被显著地降低。
本发明的系统、方法和计算机程序产品通过首先发送其至少一部分不受保护的特定分组,消除了由该中间节点对这些分组中的每一个的至少一部分执行的信息处理;本发明的系统、方法和计算机程序产品通过首先对这些分组中的每一个的至少一部分执行反编码操作从而得到修改的分组来做到这一点。该反编码操作为:当对一个分组的所标识的部分执行该反编码操作时得到一个修改的分组并且之后接着一个在整个修改的信息分组上的编码操作,在其上完成了该反编码操作的该分组的该部分不受保护。
当中间节点接收这些部分地不受保护的分组时,它按照通信协议处理该不受保护的部分(例如,更新该不受保护的部分)并且随后将它们发送到其最终目的地。这样,中间节点不再执行保护操作并且接下来该中间节点也不对由该保护操作导致的冗余信息执行重新排列。结果,不再生这些分组,这原本会消耗该中间节点很多的CPU(中央处理单元)时间、存储器和其他资源。
在本发明的系统、方法和计算机程序产品的一个实施例中,中间节点是作为与RTP兼容的通信网络的一部分的会议服务器,该RTP包括处理携带FEC有效载荷的RTP的一部分;RTP的这一部分被称为RFC(征求意见)5109,其通过引用合并在此(参见http://tools.ietf.org/html/rfc5109;还参见www.faqs.org/rfcs/rfc5109.html)。按照RFC5109协议,媒体分组及其关联的FEC分组被格式化,其中它们的头部和有效载荷的各个字段被定义用于特定功能。这些字段是一个分组的特别标识的部分。所述FEC分组包含受保护的信息,该受保护的信息的一部分由该会议服务器在接收时更新;由该会议服务器对这些字段进行的更新是RFC 5109协议的要求的一部分。由该会议服务器更新的FEC分组的该部分包括称为CC(贡献源计数)字段和TS(时间戳)字段的两个字段。在接收到FEC分组时,会议服务器将对该FEC分组的CC字段和TS字段执行编码操作(例如,里德-所罗门编码)。得到的冗余信息被用于(按照RFC 5109协议)重新排列CC和TS字段从而再生一个新的FEC分组。会议服务器按照RFC 5109协议再生FEC分组的任务对于该会议服务器来说是一个负担重并且成本高的处理,因而在很多情况下对由多个参与方使用期间的会议服务器的性能具有不利的影响。
然而,在本发明的系统、方法和计算机程序产品中,FEC分组在将由会议服务器更新的部分(即,CC和TS比特)不受保护的情况下被发送。对于将在其CC和TS字段不受保护的情况下被发送的FEC分组,本发明的系统、方法和计算机程序产品如下生成每一个这样的FEC分组。
首先,从一个按照RFC 5109协议格式化并且准备好发送的媒体分组生成一个副本媒体分组。正是该副本媒体分组将被转变成一个具有不受保护的CC和TS字段的关联的FEC分组。随后,对该副本媒体分组的CC和TS字段执行反编码操作,从而得到一个修改的媒体分组。随后对该整个修改的媒体分组执行编码操作(例如,里德-所罗门编码)。得到的信息比特随后被按照RFC 5109协议重新排列以生成CC和TS字段不受保护的关联的FEC分组。
该反编码操作使得当在一个信息分组的一部分(例如,比特组)上执行该反编码操作从而得到一个修改的分组并且在该整个信息分组上执行编码操作并随后按照协议重新排列时,在其上执行了该反编码操作的该分组的该部分变得不受保护。对于这一特定的实施例,如果编码操作是里德-所罗门编码,则反编码操作将把CC字段和TS字段设置为零(即,这两个字段的所有比特被设置为零)。
在替换实施例中,本发明的系统、方法和计算机程序产品可以标记包含针对不同信号(例如,语音、视频或文本)或信号的部分的关键信息的特定FEC分组,这样的信息被确定为将受到尽可能多的保护。这些被标记的FEC分组被充分保护地发送,并且在由会议服务器接收时按照RFC 5109进行处理。即,对整个FEC分组(包括更新的TS和CC字段)执行保护操作,并且再生一个新的FEC分组并随后由会议服务器将其发送到其最终目的地。在这样一个实施例中,被称为“C”比特(其为FEC有效载荷的一部分)的一个比特被用作标记以指示CC和TS字段是否正受保护。如果C=1,则这指示CC和TS字段正受保护,而当C比特被设置为0时,这指示用于那个分组的TS和CC字段不受保护。因此,取决于C比特的值,会议服务器将相应地处理接收的FEC分组。
在接收到一个部分不受保护的FEC分组时,会议服务器更新CC和TS字段并且将该更新的FEC分组发送到其目的地而无须对该CC和TS字段执行编码操作,也无须重新排列得到的冗余比特以形成一个新的FEC分组。在该目的地,在该媒体分组的恢复期间,该FEC分组的CC和TS比特被拷贝到接收的媒体分组中,因为FEC分组和媒体分组此时具有相同的CC和TS值。通过利用FEC分组的TS和CC值,可以恢复媒体分组的TS和CC值而无须在会议服务器处再生该FEC分组。这样,会议服务器不再需要执行繁重的编码和FEC分组的再生,从而显著地减少了其对FEC分组的处理以及CPU时间和存储器空间资源的使用。
下面将参照附图详细描述本发明另外的特征和优点以及本发明各个实施例的结构和操作。
附图说明
从下面记载的详细描述同时结合附图本发明的特征和优点将变得更加显而易见,在附图中,类似的附图标记表示相同或功能上类似的元件。
图1是图示出根据本发明的一个实施例运行的示例性网络环境(包括会议服务器、发送源和各个接收节点)的框图。
图2是图示出RTP分组的格式的框图。
图3是图示出RTP头部的特定格式的框图。
图4是图示出FEC头部的格式的框图。
图5是图示出FEC级别头部的格式的框图。
图6是图示出根据本发明的一个实施例当FEC级别有效载荷的扩展比特被设置为零时该FEC级别有效载荷的格式的框图。
图7是图示出根据本发明的一个实施例当FEC级别有效载荷的扩展比特被设置为一时该FEC级别有效载荷的格式的框图。
图8是图示出根据本发明的一个实施例被设计为发送信息分组的、通信网络中的发送机装置的框图。
图9是图示出根据本发明的一个实施例的用于发送信息分组的通信网络的节点的方法的流程图。
图10是图示出根据本发明的一个实施例的用于接收信息分组的通信网络的节点的方法的流程图。
图11是可用于实现本发明的一个示例性计算机系统的框图。
具体实施方式
本发明通过提供用于促进显著降低分组交换和协议兼容的通信网络(其将FEC用于传送信息分组)中的中间节点(例如,会议服务器)所执行的处理量的系统、方法和计算机程序产品,满足了前面确定的需求。更具体来说,消除了通常由该中间节点对包含受保护信息的特定接收的分组的至少一部分执行的保护操作。进一步地,也消除了重新排列通常产生自这种保护操作的冗余信息的任务和从冗余信息的该重新排列再生这些分组的任务。尽管在不同的定义时刻这些特定分组被标记为指示该中间节点执行该保护操作和对产生自该保护操作的冗余信息进行重新排列,但是由该中间节点对接收的分组执行的总体处理量被显著地降低。因此,在接收到包含受保护信息的一个接收的分组时,该中间节点确认这样的受保护分组是否已被标记以确定其行动方案。当其标记指示该分组的一部分不受保护时,对接收的分组不执行保护操作。
本发明的系统、方法和计算机程序产品通过首先发送其至少一部分不受保护的特定分组,消除了由中间节点对这些分组中的每一个的至少一部分执行的信息处理。这通过首先对这些分组中的每一个的至少一部分执行反编码操作、从而导致修改的分组来实现。该反编码操作使得当在一个分组的所标识的部分上执行该反编码操作从而得到修改的分组并且之后接着一个在整个修改的信息分组上的编码操作时,在其上完成了该反编码操作的该分组的该部分不受保护。即,可能有从该修改的分组上的编码操作产生的冗余信息,但是从该修改的分组上的编码操作产生的附加信息无论怎么样,均不能用于正确地恢复或纠正已遍历通信网络中的一个或多个节点之后该信息分组中的差错。
当中间节点接收这些部分地不受保护的分组时,它按照该网络使用的通信协议处理该不受保护的部分(例如,更新该不受保护的部分),并且随后将它们发送到其最终目的地。这样,该中间节点不再执行该保护操作并且接下来该中间节点也不对由该保护操作导致的冗余信息执行重新排列。结果,不再生这些分组,这通常消耗该中间节点的CPU(中央处理单元)时间、存储器和其他资源。
在一个实施例中,中间节点是作为与RTP兼容的通信网络的一部分的会议服务器,该RTP包括处理携带FEC有效载荷的RTP的一部分;RTP的这一部分被称为RFC 5109。按照RFC5109协议,媒体分组及其关联的FEC分组被格式化,其中它们的头部和有效载荷的各个字段被定义用于特定功能。这些字段是一个分组的特别标识的部分。所述FEC分组包含受保护的信息,该受保护的信息的一部分由该会议服务器在接收时更新。由该会议服务器对这些字段进行的更新是RFC 5109协议的要求的一部分。由该会议服务器更新的该FEC分组的该部分包括称为CC(贡献源计数)字段和TS(时间戳)字段的两个字段。在接收到FEC分组时,会议服务器将对该FEC分组的CC字段和TS字段执行编码操作(例如,里德-所罗门编码)。得到的冗余信息被用于(按照RFC 5109协议)重新排列该FEC分组的CC和TS字段,从而再生一个新的FEC分组。由该会议服务器按照RFC 5109协议再生FEC分组的任务对于该会议服务器来说是一个负担重且成本高的处理,因此很多情况下在有多个参与方的会议期间对该会议服务器的性能具有不利影响。
与此相比,在本发明中,发送FEC分组,并且将由该会议服务器更新的部分(即,CC和TS比特)不受保护。对于将在其CC和TS字段不受保护的情况下被发送的所述FEC分组,本发明的系统、方法和计算机程序产品如下文描述的生成每一个这样的FEC分组。
参照图1,示出了图示出根据本发明的一个实施例运行的示例性网络环境101的框图。环境101遵循RFC 5109协议并且包括通信节点100,该通信节点100具有发送和接收设备,在通信链路120上将分组形式的信息传送(即,发送和/或接收)至通信网络126。通信网络126和通信链路120代表一起运行以按照使用包括RFC 5109协议在内的RTP的通信标准来生成、处理、发送和接收信息分组的各个通信设备。通信环境101还包括会议服务器102,该会议服务器102在以下设施之间接收和发送信息:分别经由通信链路112、114、116和118的各个节点104、106、108和110;以及本地网络128和通信链路122和124。容易理解的是,各个通信链路和网络可以用各种类型的信号(例如模拟、数字、电、光学和/或电磁的信号)传送信息。节点100、会议服务器102和节点104、106、108和110代表能够按照(如按照本发明的系统、方法和计算机程序产品所修改的)RFC 5109协议来发送、接收和处理信息分组的通信设备。
为了便于说明本发明,将针对媒体分组被从通信节点100发送至会议服务器102的特定情况来讨论环境101,该会议服务器102将分组中继至节点104、106、108和110中的一个或多个。所述分组包括媒体分组和FEC分组,二者均按照RFC 5109协议格式化。
参照图2,其示出了按照包括RFC 5109在内的RTP的媒体分组和FEC分组的特定格式。媒体分组和FEC分组中的每一个都具有头部部分和有效载荷部分。
参照图3,示出了RTP头部的特定格式。特别地,RTP头部包括至少96个比特。最先的两个比特被指定为指示该RTP头部的特定版本的V比特字段。第三个比特被指定为P比特(或填充比特),指示附加的填充八位位组(八比特的编组)是否被附加于媒体分组。下一字段的长度为四比特(比特4-7),被指定为CC比特(贡献源计数)。
下一字段是称为扩展比特的X比特(即,比特4),其指示固定头部之后是否接着一个头部扩展。贡献源是对由RTP混合器生成的组合流作出了贡献的RTP分组的流的源。该混合器将对特定分组的生成作出贡献的源的SSRC(同步源)标识符的列表插入该分组的RTP头部中。该列表被称为CSRC列表。一个示例应用是音频会议,其中混合器指示其讲话被组合生成输出分组的所有的说话者,使得即便所有的音频分组包含相同的(在下面定义的)SSRC标识符,接收机也指示当前的说话者。该CSRC计数包含跟在该固定头部之后的标识符的数目。
下一字段(即,比特8)被称为M比特(或标志比特),其指示重要事件是否要在该分组流中标记。RFC 5109不使用该字段,因此在一个实施例中M将被设置为零。
RTP头部的下一字段(比特9-15)被称为PT字段(有效载荷类型),该PT字段标识RTP有效载荷的格式并且确定该应用对其的解释。下一字段(比特16-31)是序列号(SN)字段,该序列号字段针对每个发送的RTP数据分组增加一,并可以被接收机用于检测分组丢失和恢复分组序列。序列号的初始值是随机的(不可预测)。序列号针对每个发送的RTP数据分组增加一,并可以被接收机用于检测分组丢失和恢复分组序列。
RTP头部的下一字段是SSRC字段(同步源)(比特64-95),该SSRC字段标识同步源,旨在使得在同一RTP会话中不会有两个同步源具有相同的SSRC。尽管多个源选择相同标识符的可能性小,但RTP实现需要准备好检测和解决冲突。如果一个源改变其源传输地址,它也选择一个新的SSRC以避免被解释为循环的源。该SSRC值应当与它保护的媒体流的SSRC值相同。
现在参照图4,其示出了FEC头部的格式。FEC头部的长度为10个八位位组。该头部的格式包括一个扩展标记(E比特)、长掩码标记(L比特)、P恢复字段、X恢复字段、CC恢复字段、M恢复字段、PT恢复字段、SN基字段、TS恢复字段和长度恢复字段。该E比特是预留用于指示对当前规范的任何将来扩展的扩展标记。它应当被设置为0,并且应当被接收机忽略。该L比特指示是否使用了长掩码。当该L比特未被设置时,该掩码是16比特长。当该L比特被设置时,该掩码则是48比特长。
P恢复字段、X恢复字段、CC恢复字段、M恢复字段和PT恢复字段通过应用于相应的P、X、CC、M和PT值的保护操作,从与该FEC分组相关联的媒体分组的RTP头部获得。
SN基字段将被设置为FEC(在所有级别上)保护的那些媒体分组的最低序列号(考虑环绕式处理(wrap around))。这允许FEC操作在该L字段被设置为0时扩展到最多16个分组的任意字符串,或者在该L字段被设置为一时扩展到48个分组的任意字符串,等等。
TS恢复字段通过应用于与该FEC分组相关联的媒体分组的时间戳的保护操作来计算。这允许该时间戳被完全恢复。该长度恢复字段被用于确定任何被恢复的分组的长度。它通过应用于和值的无符号的、按网络排序的16比特表示的保护操作来计算,该和值是与该FEC分组相关联的媒体分组中的每一个的媒体有效载荷、CSRC列表、扩展和填充的长度(按字节计)之和。(换句话说,媒体有效载荷分组的CSRC列表、RTP扩展和填充(如果有的话)被“计数”为该有效载荷的一部分。)这允许即便在该受保护的媒体分组的长度不相同时也应用该FEC过程。举例来说,假定一个FEC分组通过将两个媒体分组一起进行异或而生成。两个媒体分组的有效载荷的长度分别为3(0b011)和5(0b101)个字节。那么,该长度恢复字段被编码为0b011异或0b101=0b110。
现在参照图5,其示出了FEC级别头部的格式。FEC级别头部为4个或8个八位位组—取决于FEC头部中的L比特。FEC级别头部由保护长度字段和掩码字段构成。该保护长度字段为16比特长。该掩码字段为16比特长(当L比特未被设置时)或者48比特长(当L比特被设置时)。FEC级别头部中的掩码字段指示在当前级别哪些分组与FEC分组相关联。它是16比特或48比特,这取决于L比特的值。如果掩码中的比特i被设置为一,那么具有序列号N+i的媒体分组与该FEC分组关联,其中N是FEC分组头部中的SN基字段。掩码的最高有效比特对应于i=0,而最低有效比特在L比特被设置为零时对应于i=15,或者在L比特被设置为一时对应于i=47。保护长度具有需要被保护的所有媒体分组中最长的长度。举例来说,如果5个媒体分组需要被保护并且它们的长度分别为15、20、24、30和36个比特,则保护长度为36。如果来自媒体分组的任意受保护的比特字符串短于保护长度,则它们被填充至该长度。使用八位位组0的填充应当被添加至该比特字符串的末尾。
参照图6和图7,示出了图示出根据本发明的一个实施例的、当FEC级别有效载荷的扩展比特被分别设置为零或一时该FEC级别有效载荷的格式的框图。图6中示出了当第二个比特(或C比特)被设置为零时FEC级别有效载荷的格式,这意味着CSRC、CC和时间戳未通过FEC编码来保护。当C比特被设置为一时,如图7中所示,CSRC、CC和时间戳通过使用FEC编码来保护。对于位于通信网络的节点的接收侧的FEC恢复,接收机将检查C比特的值以确定发送RTP分组的节点是否为该RTP分组的CSRC、CC和时间戳字段提供了保护。总计字段(Totalfield)为6比特长并且其指示属于当前FEC分组的FEC分组的总计数目。FEC级别有效载荷的第一个比特是扩展比特并且当它被设置为一时,FEC有效载荷如图7中所示。注意对于图6的FEC级别有效载荷,该扩展比特被设置为零,图6的FEC级别有效载荷不具有图7中所示的将来扩展部分。
再次参照图1,在一个实施例中,通信节点100按照由本发明的系统、方法和计算机程序产品修改的RFC 5109将媒体分组和关联的FEC分组通过通信链路120、通信网络126和通信链路122发送到会议服务器102。会议服务器102接收这些分组,按照本发明更新这些FEC分组并将这些更新的FEC分组和关联的媒体分组通过通信链路124、本地通信网络128和通信链路116发送到通信节点108。相关领域的技术人员容易理解的是,通信节点108以及其他通信节点均具有能够实践本发明的发送和接收设备。然而,为了清楚地说明,我们集中在作为由通信节点100发送的信息分组的接收机的通信节点108及其操作上。应进一步理解的是,由通信节点100发送的信息遍历通信网络126中的各个通信节点,并且每个这样的节点可以以与会议服务器102相同的方式实践本发明。
现在参照图8,示出了图示出根据本发明的一个实施例的、被设计为发送信息分组的、通信节点100中的发送机装置800的框图。发送设备800的架构被显示为耦合在用于生成具有不受保护的CC和TS字段的FEC分组和具有受保护的比特的FEC分组的特定布置(其中,该FEC分组的状态由FEC有效载荷中的C比特指示)中的各个模块。如早前所解释的,当CC和TS字段不受保护时C比特被设置为零,而当包括CC和TS字段的整个FEC分组受到保护时C比特被设置为一。原始数据(例如,语音、视频、文本等)由编解码器(未示出)编码,从而生成已编码数据。该已编码数据被输入打包器模块802,该打包器模块802将该已编码数据格式化为按照包括RFC 5109和相关RFC(比如,例如RFC 3551)在内的RTP(例如,RFC 3550)的媒体分组。
打包器模块802按照包括RFC 5109协议在内的RTP生成媒体分组并且输出该分组到路径816A和816B上。路径816A将打包器模块802的输出耦合至路径820,路径820的一端被耦合至发送机814。发送机814随后发送该媒体分组。路径816B被耦合至FEC格式控制模块804,该FEC格式控制模块804具有两个输出,其中之一通过路径806A被耦合至反编码器模块808,而另一个则通过路径806B被耦合至保护指示器模块810。模块808和810的输出被耦合至编码器模块812,该编码器模块812的输出通过路径818被耦合至路径820。路径820因此具有FEC分组和媒体分组两者,它们由发送机814发送。发送机814包括适当的设备以将这些分组转换成针对通信链路(例如,链路120)的合适信号,这些分组被发送到该通信链路上。取决于FEC格式控制模块804的状态,被发送的FEC分组可以使其CC和TS字段不受保护。现在将讨论FEC分组的生成。
仍然参照图8,由打包器模块802生成并出现在路径816B上的媒体分组被输入到格式控制模块804中。控制信号通过路径810出现在模块804的控制输入处,并且设置模块804中的内部开关以将该媒体分组输出至路径806A或806B上。即,格式控制模块804被选择性地耦合到编码器812和反编码器808。如果发送节点希望发送具有不受保护的CC和TS字段的FEC分组,那么模块804被控制为将该媒体分组应用到路径806A上,在路径806A中,反编码器808执行反编码操作。对于包括RFC5109在内的RTP(比如,例如RFC3550)的特定实现(其中编码操作为里德-所罗门编码的),该反编码操作将CC和TS字段设置为零比特。取决于编码操作和需要保持不受保护的分组的部分,针对该特定实现执行合适的反编码操作。反编码器808的输出被应用到执行该里德-所罗门编码操作的编码器模块812。对来自反编码器808的分组应用该里德-所罗门编码器并且按照RFC 5109格式重新排列得到的冗余比特,将生成CC和TS字段不受保护的FEC分组。此外,FEC有效载荷的C比特在重新排列冗余比特之后被设置为一。得到的具有不受保护的CC和TS字段的FEC分组因而出现在路径818上、到路径820上并且随后被发送机814发送。
当期望发送被充分保护的FEC分组时,路径810上的控制信号控制模块804输出该分组到路径806B上以便绕过反编码器808将该分组应用到编码器812,并且从编码操作(例如,里德-所罗门编码)得到的冗余比特被按照RFC 5109协议重新排列。进一步地,FEC有效载荷的C比特被设置为一。在这种情况下,编码器的输出为受到充分保护的FEC分组,该FEC分组随后由发送机814发送。因此,格式控制模块804具有两个操作模式:一个模式使得模块804绕过反编码器808并将形成的分组直接应用到编码器812;而另一个模式使得模块804将形成的分组应用到反编码器808,反编码器808的输出随后被应用到编码器812。
图8中所示的各个模块可以利用数字逻辑和组合电路实现。这些模块也可以利用使用固件实现各个操作的基于微处理器的电路来实现。这些模块还可以使用微计算机、微控制器、膝上型计算机、桌面型计算机或者在其中数字信息可以被处理并重新排列以执行对数字信息分组进行打包、反编码、编码和发送所需的各个操作的任何装置。相关领域的技术人员在阅读此说明书后,将能够容易地设计出电路、基于计算机或微处理器的系统和/或其组合以实现本发明的发送装置。
现在参照图9,示出了图示出根据本发明的一个实施例的(受到充分保护的或者分组的一部分不受保护的)一种FEC分组发送方法900的流程图。在步骤902中,原始数据被输入到发送设备中。在步骤904中,原始数据按照其中运行有发送系统的通信网络所遵循的协议被编码(未示出)并随后被打包成分组。在所讨论的特定实施例中,原始数据按照RTP(比如,例如RFC 3550)被格式化成媒体分组。在步骤906中,方法900确定是否要生成CC字段和TS字段不受保护的关联的FEC分组。如果该关联的FEC分组要具有不受保护的CC和TS字段,则方法900进行至步骤908,在步骤908中,该媒体分组的一个副本被应用到反编码器,该反编码器对该副本媒体分组的CC和TS字段执行反编码操作。在该实施例中,反编码操作是将CC字段和TS字段设置为零,从而导致修改的媒体分组。该修改的媒体分组随后馈送至在步骤910中执行里德-所罗门编码的编码器。从该编码操作得到的冗余信息随后在步骤912中按照RFC 5109被重新排列,从而导致其中CC和TS字段不受保护的FEC分组。在步骤914中,该FEC分组的C比特被设置为零,并且在步骤922中该FEC分组被发送。
返回步骤906,如果该分组要使得没有部分不受保护,那么本发明的方法移至步骤916,在步骤916中,该副本媒体分组被输入到编码器中,在该编码器中对该副本媒体分组执行例如里德-所罗门编码之类的编码操作。在步骤918中,从该编码操作得到的信息比特被按照RFC 5109的所定义的格式排列以形成关联的FEC分组。在步骤920中,该FEC分组的C比特被设置为一,以指示该整个FEC分组受到保护。在步骤922中该FEC分组被发送。
参照图10,示出了图示出根据本发明的一个实施例的、一种FEC分组接收方法的流程图。在步骤1002中,分组被会议服务器接收。在步骤1004中,会议服务器确定所接收的分组是媒体分组还是FEC分组。如果所接收的分组是媒体分组,那么方法1000进行至步骤1014,在步骤1014中会议服务器更新该分组的CC和TS字段并且将该分组发送到其最终目的地。然而,如果所接收的分组是FEC分组,那么方法1000进行至步骤1016,在步骤1016中确定所接收的分组在其所有字段中是否包含受保护的信息。该会议服务器通过检查该FEC分组的C比特的值来确定所接收的分组的状态。如果C比特为零,那么方法1000进行至步骤1008,在步骤1008中该分组的CC和TS字段被更新并且随后被发送到其最终目的地,而不执行任何编码、比特重新排列和新FEC分组的再生。然而,如果C比特为一,则方法1000进行至步骤1008,在步骤1008中该会议服务器通过以下方式按照RFC 5109处理该接收的分组:首先更新CC和TS字段、将该更新的分组应用到编码器(例如,里德-所罗门编码)、重新排列针对CC和TS的冗余比特和生成一个新的FEC分组。在步骤1012中,会议服务器将该再生的FEC分组发送到其最终目的地。
在替换实施例中,方法1000可以利用基于微处理器的计算机系统和/或在利用固件编程的一个或多个处理器的控制下工作的基于处理器的电路来实现,以接收信息分组并按上文所述处理这些分组。
在一个实施例中,本发明(或其任意部件)针对能够执行在此描述的功能的一个或多个计算机系统。计算机系统1100的一个示例在图11中示出。
计算机系统800包括一个或多个处理器,例如处理器1104。处理器1104被连接至通信基础设施1106(例如,通信总线或网络)。就该示例性计算机系统而言描述了各个软件方面。在阅读本说明书之后,对于相关领域的技术人员来说如何使用其他计算机系统和/或架构来实现本发明将变得显而易见。
计算机系统1100可以包括转发来自通信基础设施1106(或来自未示出的帧缓存器)的图形、文本和其他数据以便在显示单元1130上显示的显示接口1102。
计算机系统1100还包括主存储器1108,优选为随机存取存储器(RAM),并且还可以包括辅助存储器1110。辅助存储器1110可以包括,例如硬盘驱动器1112和/或代表软盘驱动器、磁带驱动器、光盘驱动器等的可移除存储驱动器1114。可移除存储驱动器1114以公知的方式读取和/或写入可移除存储单元1118。可移除存储单元1118代表由可移除存储驱动器1114读写的软盘、磁带、光盘等。应理解的是,可移除存储单元1118包括在其中存储了计算机软件和/或数据的计算机可用存储介质。
在替换的方面,辅助存储器1110可以包括用于允许计算机程序或其他代码或指令被载入计算机系统1100的其他类似装置。这些装置可以包括例如可移除存储单元1122和接口1120。这样的示例可以包括允许软件和数据从可移除存储单元1122传输到计算机系统1100的程序盒(cartridge)和盒接口(例如,见于视频游戏装置中的那种)、可移除存储器芯片(例如可擦除可编程只读存储器(EPROM)或可编程只读存储器(PROM))和关联的插口以及其他可移除存储单元1122和接口1120。
计算机系统1100还可以包括通信接口1124。通信接口1124允许软件和数据在计算机系统1100和外部装置之间传输。通信接口1124的示例可以包括调制解调器、网络接口(例如以太网卡)、通信端口、个人计算机存储卡国际联盟(PCMCIA)槽和卡等。通过通信接口1124传输的软件和数据为非瞬态信号1128的形式,非瞬态信号可以是电子的、电磁的、光学的或能够被通信接口1124接收的其他信号。这些信号1128通过通信路径(例如信道)1126被提供至通信接口1124。该信道1126携带信号1128并且可以使用导线或电缆、光纤、电话线、蜂窝链路、射频(RF)链路和其他通信信道来实现。
在本文档中,术语“计算机程序介质”和“计算机可用介质”被用于一般地指代例如可移除存储驱动器1114、安装于硬盘驱动器1112中的硬盘和信号1128之类的介质。这些计算机程序产品为计算机系统1100提供了软件。本发明针对这些计算机程序产品。
计算机程序(也称为计算机控制逻辑)存储在主存储器1108和/或辅助存储器1110中。计算机程序也可以通过通信接口1124接收。这些计算机程序在被执行时使得计算机系统1100能够执行在此讨论的本发明的特征。特别地,计算机程序在被执行时使得处理器1104能够执行本发明的特征。因此,这些计算机程序代表了计算机系统1100的控制器。
在其中使用软件实现本发明的一个实施例中,该软件可以存储在计算机程序产品中并使用可移除存储驱动器1114、硬驱动器1112或通信接口1124载入计算机系统1100中。该控制逻辑(软件)在被处理器1104执行时使得处理器1104执行在此描述的本发明的功能。
在另一个实施例中,本发明被主要实现在使用例如专用集成电路(ASIC)之类的硬件部件的硬件中。实现硬件状态机以便执行在此描述的功能对于相关领域的技术人员将是显而易见的。
在阅读此说明书之后对于相关领域的技术人员将显而易见的是,图11中所示的计算机架构可以被配置为桌面型计算机、膝上型计算机、服务器、平板计算机、PDA、移动计算机、智能通信装置或类似物。
在又一个实施例中,使用硬件和软件的组合来实现本发明。
在此公开的用于促进丢失实时媒体分组的恢复的系统、方法和计算机程序产品是:不依赖于受到保护的媒体(例如,视频、音频等)的性质;足够灵活以支持多种多样的FEC配置/技术;以及具有足够的适应性以便FEC技术可以在没有任何带外信令系统的情况下被轻易地修改。因此,虽然在前面描述了本发明的各个方面,但是应当理解,它们是以示例而非限制的方式被介绍的。在不偏离本发明的精神和范围的情况下可以在其中在形式和细节上做出各种变动,这对于相关领域的技术人员将是显而易见的。因此,本发明不应当被任何前面描述的示例性方面所限制,而应当仅仅根据后面的权利要求书及其等同物来限定。
此外,应当理解,突出本发明的结构、方法论、功能和优点的附件中的图仅仅为了示例的目的而被展示。本发明足够灵活并且可配置,以便它可以以与附图中所示的方式不同的方式来实现。
进一步地,前述摘要的目的将使得美国专利商标局和公众(通常并且特别是不熟悉专利或法律术语或措辞的相关领域的科学家、工程师和从业者)能够通过粗略审阅而快速地确定本技术公开的本质和精髓。该摘要不意图以任何方式对本发明的范围进行限制。

Claims (15)

1.一种用于由通信网络中的中间节点处理与实时媒体应用相关的受保护信息的方法,包括:
在所述中间节点处接收具有受保护信息的分组;
确定所接收的分组的至少一个部分是否不受保护;
如果所接收的分组的至少一部分不受保护,则处理所接收的分组而不对所述分组的所述不受保护的部分执行任何保护操作;以及
转送具有所述不受保护部分的所处理的分组到所述通信网络的下游节点。
2.根据权利要求1所述的方法,其中处理所接收的分组而不执行任何保护操作包括在所处理的分组被转送到所述下游节点之前按照所述通信网络所利用的协议更新所接收的信息的所述不受保护的部分。
3.根据权利要求1或2所述的方法,其中所接收的受保护的分组是具有贡献源计数(CC)和时间戳(TS)字段的前向纠错(FEC)分组,并且其中所述不受保护的部分包括所述FEC分组的所述CC和TS比特。
4.根据权利要求1或2所述的方法,进一步包括如果所接收的分组受到保护,则在所处理的分组被转送到所述下游节点之前由所述中间节点按照所述通信网络所利用的协议对所述FEC分组执行保护操作。
5.根据权利要求1或2所述的方法,进一步包括由所述中间节点将所处理的分组中的一个比特设置为与所接收的分组的至少一部分不受保护相对应的第一值,或者设置为与所处理的分组不受保护相对应的第二值。
6.根据权利要求1或2所述的方法,其中所述保护操作是里德-所罗门编码。
7.根据权利要求1或2所述的方法,其中接收所述分组包括从音频会议或视频会议中的至少一个的多个参与方接收多个分组。
8.一种生成与通信网络上的实时媒体应用相关的受保护信息的计算机实现的方法,包括:
将原始信息打包成具有与通信协议兼容的格式的分组;
对要保持不受保护的所述分组的一部分执行反编码操作以获得修改的分组,其中所述反编码操作包括将所述分组的贡献源计数(CC)字段和时间戳(TS)字段设置为零;
对具有在其上执行了所述反编码的所述部分的所述修改的分组执行前向差错控制(FEC)编码操作,以获得所述部分保持不受保护的FEC分组;以及
在所述通信网络上按照所述通信协议发送所述部分保持不受保护的所述FEC分组。
9.根据权利要求8所述的方法,进一步包括在发送之前标记所述FEC分组以指示所述FEC分组的所述部分受到保护。
10.根据权利要求8或9所述的方法,其中所述FEC分组包括CC和TS字段,并且其中要保持不受保护的所述FEC分组的所述部分包括所述FEC分组的所述CC和TS字段。
11.根据权利要求8或9所述的方法,其中所述FEC编码操作是里德-所罗门编码。
12.一种用于按照通信协议选择性地生成与实时媒体应用相关的信息的发送机,包括:
打包器模块;
反编码器模块;
编码器模块;
选择性地耦合到所述编码器模块和所述反编码器模块并且耦合到所述打包器模块的格式控制模块;并且其中
所述打包器模块被配置为按照所述通信协议形成信息分组;
所述形成的分组由所述格式控制模块基于工作模式来顺序地输入到所述反编码器模块和所述编码器模块,或者输入到所述编码器模块,其中所述反编码器模块被配置为将所述分组的贡献源计数(CC)字段和时间戳(TS)字段设置为零;以及
当所述分组被所述反编码器模块和所述编码器模块顺序地处理时,所述分组包括不受保护的信息的至少一部分。
13.根据权利要求12所述的发送机,其中所述格式控制模块的所述工作模式使得所述分组绕过所述反编码器模块而被输入到所述编码器模块中,从而导致当所述分组被所述编码器模块处理时所述分组不包含不受保护的部分。
14.根据权利要求12或13所述的发送机,其中所述通信协议是RFC5109通信协议,所述分组是具有CC和TS字段的FEC分组,并且所述反编码模块被配置为将所述FEC分组的所述CC和TS字段设置为零以指示所述CC和TS字段是所述FEC分组的所述不受保护的部分。
15.根据权利要求12或13所述的发送机,其中所述打包器模块被配置为对所述FEC分组应用里德-所罗门编码或汉明编码。
CN201380005319.7A 2012-01-13 2013-01-09 用于丢失实时媒体分组恢复的方法和装置 Active CN104040976B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/350,731 US8819513B2 (en) 2012-01-13 2012-01-13 Lost real-time media packet recovery
US13/350731 2012-01-13
PCT/US2013/020717 WO2013106357A1 (en) 2012-01-13 2013-01-09 Lost real-time media packet recovery

Publications (2)

Publication Number Publication Date
CN104040976A CN104040976A (zh) 2014-09-10
CN104040976B true CN104040976B (zh) 2017-03-22

Family

ID=48780861

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380005319.7A Active CN104040976B (zh) 2012-01-13 2013-01-09 用于丢失实时媒体分组恢复的方法和装置

Country Status (4)

Country Link
US (1) US8819513B2 (zh)
EP (1) EP2786538B1 (zh)
CN (1) CN104040976B (zh)
WO (1) WO2013106357A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631242B2 (en) * 2001-06-22 2009-12-08 Broadcom Corporation System, method and computer program product for mitigating burst noise in a communications system
US20130191696A1 (en) * 2012-01-19 2013-07-25 Ciena Corporation Parity frame
CN103533453A (zh) * 2013-10-28 2014-01-22 苏州新海宜通信科技股份有限公司 一种抗丢包的传输方法
CN106534760B (zh) * 2015-09-15 2020-07-28 华为技术有限公司 一种媒体流传输方法、设备及系统
US10116377B2 (en) * 2016-01-06 2018-10-30 Google Llc Dynamic forward error correction bypass in a digital communications system
US10211950B1 (en) * 2016-05-20 2019-02-19 Harmonic, Inc. High bit rate media FEC recovery
CN107666375A (zh) * 2016-07-28 2018-02-06 北京数码视讯科技股份有限公司 一种数据传输方法及装置
WO2020027850A1 (en) * 2018-08-03 2020-02-06 Whelen Engineering Company, Inc. Precision time synchronization over standardized networking protocols
US10505651B1 (en) 2018-08-03 2019-12-10 Whelen Engineering Company, Inc. Precision time synchronization over standardized networking protocols
US10938877B2 (en) * 2018-11-30 2021-03-02 Xaptum, Inc. Optimizing data transmission parameters of a proprietary network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1710887A (zh) * 2004-06-18 2005-12-21 艾格瑞系统有限公司 在分组网络中实现单个服务的故障保护和恢复的方法和设备
CN101636983A (zh) * 2007-03-14 2010-01-27 微软公司 减少视频传输时的分组丢失的影响

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6243846B1 (en) * 1997-12-12 2001-06-05 3Com Corporation Forward error correction system for packet based data and real time media, using cross-wise parity calculation
US5870412A (en) * 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6141788A (en) * 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
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
US6771674B1 (en) * 1998-12-28 2004-08-03 3Com Corporation Method and system for forward error correction based on parallel streams
US6785261B1 (en) * 1999-05-28 2004-08-31 3Com Corporation Method and system for forward error correction with different frame sizes
US6728924B1 (en) * 1999-10-21 2004-04-27 Lucent Technologies Inc. Packet loss control method for real-time multimedia communications
EP1172958A1 (fr) 2000-07-11 2002-01-16 Koninklijke Philips Electronics N.V. Système de communication, émetteur, mèthode de protection contre des erreurs de transmission
US6745364B2 (en) 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
KR100537499B1 (ko) * 2002-07-26 2005-12-19 삼성전자주식회사 전송제어 파라미터 생성방법 및 프레임 특성에 따른선택적 자동 재전송 방법
JP4454320B2 (ja) 2004-01-09 2010-04-21 富士通株式会社 伝送装置、伝送制御プログラム、及び伝送方法
US7660245B1 (en) * 2004-09-16 2010-02-09 Qualcomm Incorporated FEC architecture for streaming services including symbol-based operations and packet tagging
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
EP2019522B1 (en) 2007-07-23 2018-08-15 Polycom, Inc. Apparatus and method for lost packet recovery with congestion avoidance
BRPI0815916A2 (pt) 2007-08-30 2015-03-03 Thomson Licensing Métodos e sistemas para proporcionar proteção diferencial contra perda de dados
US8091011B2 (en) 2007-10-09 2012-01-03 Broadcom Corporation Method and system for dynamically adjusting forward error correction (FEC) rate to adapt for time varying network impairments in video streaming applications over IP networks
US8230316B2 (en) * 2008-01-25 2012-07-24 Nevion Usa, Inc. Forward error correction for burst and random packet loss for real-time multi-media communication
US7940777B2 (en) * 2008-02-26 2011-05-10 Cisco Technology, Inc. Loss-free packet networks
US20100088569A1 (en) 2008-10-05 2010-04-08 Ikanos Communications, Inc. Packet Retransmission
JP5377040B2 (ja) * 2009-04-08 2013-12-25 キヤノン株式会社 送信装置及び送信方法
JP2012015752A (ja) * 2010-06-30 2012-01-19 Fujitsu Ltd 伝送装置、伝送プログラム及び伝送方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1710887A (zh) * 2004-06-18 2005-12-21 艾格瑞系统有限公司 在分组网络中实现单个服务的故障保护和恢复的方法和设备
CN101636983A (zh) * 2007-03-14 2010-01-27 微软公司 减少视频传输时的分组丢失的影响

Also Published As

Publication number Publication date
CN104040976A (zh) 2014-09-10
EP2786538A4 (en) 2015-05-27
US20130185614A1 (en) 2013-07-18
EP2786538A1 (en) 2014-10-08
EP2786538B1 (en) 2019-07-24
WO2013106357A1 (en) 2013-07-18
US8819513B2 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
CN104040976B (zh) 用于丢失实时媒体分组恢复的方法和装置
JP6643402B2 (ja) 通信システムにおけるパケット送受信方法及び装置
US20210160003A1 (en) Networking Coding System in a Network Layer
EP2103026B1 (en) A method to support forward error correction for real-time audio and video data over internet protocol networks
KR102133930B1 (ko) 데이터 패킷 송수신 장치 및 방법
CN110943800B (zh) 数据包的发送方法、装置及系统、存储介质、电子装置
CN101662335B (zh) 前向纠错编码方法、前向纠错译码方法及其装置
CN101656593B (zh) 前向纠错编码方法、前向纠错译码方法及其装置
JP6294346B2 (ja) 通信装置及びシステム及び方法
CN101877620B (zh) 前向纠错方法、装置和系统
CN107104677A (zh) 多媒体系统中发送/接收前向纠错相关信息的装置和方法
Toemoeskoezi et al. On the delay characteristics for point-to-point links using random linear network coding with on-the-fly coding capabilities
CN104247319B (zh) 用于在通信系统中发送/接收分组的装置和方法
CN109428676B (zh) 一种前向纠错编解码模式的同步方法及装置
JP6511472B2 (ja) ブロードキャスティング及び/又は通信システムにおけるパケットの生成及び復元のための方法及び装置
Toemoeskoezi et al. On the packet delay characteristics for serially-connected links using random linear network coding with and without recoding
US20200259589A1 (en) Method and device for transmitting or receiving broadcast service in multimedia service system
US10880731B2 (en) System and method for enhanced diversity and network coding (eDC-NC)
CN114520709A (zh) 网络数据编码传输方法及装置
WO2011039874A1 (ja) データ送信装置、データ生成プログラムおよびデータ送受信方法
KR101076230B1 (ko) 이동통신 시스템에서 데이터 병렬 송수신 장치 및 방법
JP2013085293A (ja) インターネットプロトコルネットワークでのリアルタイムのオーディオ及びビデオデータの前方誤り訂正をサポートする方法
JP2006304351A (ja) 無線通信方法および無線通信装置
JPWO2016042731A1 (ja) 無線制御システム、及び、無線リンクのエラー監視方法
JP6227616B2 (ja) 通信システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150703

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150703

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant