使用前向纠错检验可用带宽的系统、方法和介质的制作方法

文档序号:7520628阅读:251来源:国知局
专利名称:使用前向纠错检验可用带宽的系统、方法和介质的制作方法
技术领域
所公开的主题涉及使用前向纠错检验可用带宽的系统、方法和介质。
背景技术
现代电子应用和通信系统通常依赖于数字数据从发送器到接收器的传输。由于这些网络和通信系统中的容量和质量限制,发送器可能需要限制在向接收器传输这种数字数据中使用的带宽,以便防止数据被破坏或丢失。发送器可能还需要限制所使用的带宽,以便允许其它发送器在相同的网络和通信系统中发送数据。但是,有时发送器可能希望提高所使用的带宽。例如,在视频会议期间,在发送器和接收器之间的可用带宽可能根据网络的使用量或由于网络容量的暂时变化而发生波动。一旦正在使用的带宽被降低,在某一时间段之后,发送器可能想要回到原始或最佳的带宽。但是,在今天普遍使用的网络中,不可能知道可用带宽是否已经提高以及应用是否可以从某一时间点开始使用任意这种提高。由于正在网络或通信系统中传输的数据可能已经在使用全部可用带宽,所以提高数据传输的带宽可能导致丢失数据和会话的用户所享用的体验质量的下降。

发明内容
根据一些实施例,提供了使用前向纠错检验可用带宽的系统、方法和介质。在一些实施例中,提供了使用前向纠错检验可用带宽的系统,所述系统包括至少一个处理器,用于识别要传输的数据;确定要发送给接收器的前向纠错数据的数量;基于所述要传输的数据中的对应数据,创建所述前向纠错数据;向所述接收器传输所述前向纠错数据和所述要传输的数据中的对应数据;确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别;以及当所述错误级别低于某一值时,在向所述接收器传输所述对应数据中所使用的带宽量之上增加在向所述接收器传输所述要传输的数据中的其它数据中所使用的带宽量,并且降低在传输所述其它数据中用于所述前向纠错数据的带宽量。在一些实施例中,提供了使用前向纠错检验可用带宽的方法,所述方法包括识别要传输的数据;确定要发送给接收器的前向纠错数据的数量;基于所述要传输的数据中的对应数据,创建所述前向纠错数据;向所述接收器传输所述前向纠错数据和所述要传输的数据中的对应数据;确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别;以及当所述错误级别低于某一值时,在向所述接收器传输所述对应数据中所使用的带宽量之上增加在向所述接收器传输所述要传输的数据中的其它数据中所使用的带宽量,并且降低在传输所述其它数据中用于所述前向纠错数据的带宽量。在一些实施例中,提供了一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令在被处理器执行时使得所述处理器执行用于使用前向纠错检验可用带宽的方法,所述方法包括识别要传输的数据;确定要发送给接收器的前向纠错数据的数量; 基于所述要传输的数据中的对应数据,创建所述前向纠错数据;向所述接收器传输所述前向纠错数据和所述要传输的数据中的对应数据;确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别;以及当所述错误级别低于某一值时,在向所述接收器传输所述对应数据中所使用的带宽量之上增加在向所述接收器传输所述要传输的数据中的其它数据中所使用的带宽量,并且降低在传输所述其它数据中用于所述前向纠错数据的带宽量。


图I是可以在一些实施例中使用的硬件的示例的图。图2是可以在一些实施例中使用的处理器的示例的图。
具体实施例方式根据各种实施例,提供了使用前向纠错检验可用带宽的机制。这些机制可以用在各种应用中。例如,这些机制可以用在视频会议系统、通信系统、流系统、计算机网络系统、数字电视系统、线缆系统、卫星通信系统、无线通信系统、局域网、广域网、因特网、任何其他 适当网络或通信系统和/或其任意组合。根据一些实施例,可以使用前向纠错来检验任何适当网络路径或通信系统上的可用带宽。例如,当数据传输正在使用第一带宽量时,提高传输带宽可能由于必需带宽不可用而导致数据丢失,从而导致传输中的质量问题。然而,通过提高用于包括前向纠错数据的附加数据的带宽,可以修复/重建由于这种带宽增加而丢失的数据。在一些实施例中,被创建来检验带宽的可用性的前向纠错数据可以与预先存在于流中的前向纠错数据组合,以使得该组合的带宽将大于等于正被检验以确定可用性的带宽。附加数据中的前向纠错数据是由设计产生的冗余带宽,这是因为该数据不是已经被传输的数据。一旦增加的带宽量已经被验证为没有导致不可接受的传输问题,就可以将附加带宽重新分配给数据(而不是前向纠错数据),并且用于数据传输的有效带宽被提高。转向图1,示出了根据一些实施例的系统100。如图所示,系统100可以包括经由网络路径110进行通信的发送器104和接收器112。存在于发送器处的信息102可以被传输给接收器,在接收器处信息102变得可用作为信息118,并且可以是任何适当数据,诸如信息、程序、音频、视频、文本、图像等。任何适当设备可以被用作为发送器104和接收器112。例如,发送器104和接收器112可以是经由网络路径110分别发送和接收数据的任意适当设备。另外,在一些实施例中,发送器104和接收器112中的每一个可以是也分别能够发送和接收数据的任意适当设备。作为一更具体的示例,发送器104和/或接收器112可以是以下中的任一个通用计算机、专用计算机、电话机、视频电话机、移动电话机、视频会议端点、媒体播放器、便携式音乐播放器、电子书、电视机、机顶盒、服务器、客户机、网关、路由器、多点会议单元、视频会议服务器、即时消息服务器、电子邮件服务器、流服务器、媒体服务器等。发送器104和接收器112的这些示例中的任一个可以包括处理设备(诸如微处理器、硬件控制器、数字信号处理器、数字处理设备等)、存储器设备(诸如随机存取存储器、只读存储器、闪存、盘驱动器、光驱动器等)、接口设备(诸如网络接口卡、无线接口(例如,IEEE802. 11接口)、光学接口等)、键盘、鼠标、显示器等。如图I所示,发送器104还可以包括编码器106和前向纠错(FEC)单元108。编码器106可以是任意适当软件编码器和/或硬件编码器,其用于编码信息102和控制数据在网络路径上的传输。例如,编码器106可以是根据H. 264标准编码数据的编码器或任意其他标准音频/视频编解码器。FEC单元108可以是用于基于由编码器106编码的信息102创建FEC数据的任意适当软件FEC单元和/或硬件FEC单元。例如,FEC单元108可以是根据XOR或里德-所罗门纠错方法创建前向纠错数据的FEC单元。类似地,接收器112还可以包括FEC单元114和解码器116。FEC单元114可以是用于接收来自FEC单元108的FEC分组的任意适当软件FEC单元和/或硬件FEC单元。解码器116可以是用于解码由编码器102编码成信息118的信息的任意软件解码器和/或硬件解码器。网络110可以是任意适当通信网络或网络的组合。例如,网络110可以包括因特网、局域网、有线网络、无线网络、电话网络、有线电视网络、卫星网络、移动电话网络、寻呼网络、MPLS连接、ISDN网络等。图2示出了根据一些实施例的使用前向纠错(FEC)检验可用带宽的处理200的示例。如图所示,处理200在202开始之后,处理可以确定是否在204开始测试。可以使用任意适当的一个或多个准则来确定是否开始测试。例如,当确定带宽使用量的增加将改进发送器、接收器或耦接到其的设备的性能时,可以开始测试。作为另一示例,可以周期性地开始测试。如果在204确定不应当开始测试,处理200可以分支到206以等待一时间段,然后重新确定是否在204开始测试。如果在204确定要开始测试,则处理200可以接着在208确定要发送的冗余带宽的数量。如上所述,该冗余带宽可以用于检验是否存在可用带宽以及如果带宽限制(或任意其他条件)导致数据丢失,可以用于恢复数据。例如,在一些实施例中冗余带宽的数量可以如下计算RB = TB-CB,其中RB是冗余带宽;TB是要测试的带宽;以及CB是正在使用的当前带宽。该确定可以在任何适当设备(诸如发送器、接收器、或未示出的第三设备)中进行。接下来,在210,可以确定要发送的附加FEC数据的数量。可以使用用于确定要发送的附加FEC数据的数量的任何适当机制。例如,在一些实施例中,当η个分组的传输包括k个数据分组以及n-k个用于数据保护的分组时,要发送的FEC分组(n-k) ’ (其包括原始的n-k个分组以及附加的FEC分组)的新数量可以基于以上的RB、TB和CB以及信息分组的当前数量(η)和FEC分组的当前数量(n-k)来计算(n-k) ' = floor (η* (RB/CB)) + (n-k).尽管floorO函数被用在本示例中,但是可替换地,可以使用任何其它适当函数,诸如ceiling O、round O等。类似地,尽管用于确定附加FEC分组的数量的技术的一个示例在以上被示出,但是在一些实施例中可以使用用于进行这种确定的任何适当技术和/或计算。该确定可以在任何适当设备(诸如发送器、接收器、或未示出的第三设备)中进行。如果208和210由除发送器以外的设备执行,那么(n-k) ’的值可以被传送给发送器。在212,随后可以创建FEC数据。可以使用用于创建FEC数据的任何适当机制。例如,(n-k) ’个FEC分组可以由如图I所示的FEC单元108来创建。、
接着在214可以发送数据和FEC数据。在一些实施例中可以使用任意适当机制来发送该数据。例如,可以使用任意 适当硬件和任意适当协议来发送数据。更具体地,在一些实施例中,该数据可以由适当编码器106来发送,而FEC数据可以由适当FEC单元108来发送。随后在216检验该数据以确定是否存在任何传输错误,并且在需要时进行修复/重建。可以使用任意适当技术来检验和修复/重建数据。例如,在一些实施例中FEC单元114可以检验数据和在需要时修复该数据。在218,接下来可以确定由于以TB速率传输数据所导致的错误率是否是可接受的。在一些实施例中可以使用任意适当的一个或多个准则来确定该错误率是否是可接受的。例如,如果小于某一比例的数据和FEC数据被破坏/丢弃,则可以确定该错误率是可接受的。该确定可以在任何适当设备(诸如发送器、接收器、或未示出的第三设备)中进行。如果错误率是可接受的,则在224基于测试可以增加带宽。可以使用任意适当机制来确定增加量。例如,在一些实施例中,带宽的新数量(NB)可以被设置成NB = CB* (((n-k) ’ +k) /η)该确定可以在任何适当设备(诸如发送器、接收器、或未示出的第三设备)中进行——在后两种情况下,这种新带宽值可以被传送给发送器。在一些实施例中,如果对于被测试的带宽,在发送器和接收器之间的网络路径(例如,使用MPLS线路的网络路径)没有网络问题,则FEC数据的数量可以被设置为O。一旦增加了带宽,处理200就可以在226终止。但是,如果确定错误率不可接受,则在一些实施例中可以在220确定该增加过高。在这种情况下,可以在一些实施例中使用较低的增加或没有增加。处理200随后可以确定是否要重新测试,并且如果要,处理200可以循环回204。否则,处理200可以在226终止。在一些实施例中,可以使用任何适当的计算机可读介质来存储用于执行本文所述的处理的指令。例如,在一些实施例中,计算机可读介质可以是临时性的或非临时性的。例如,非临时性的计算机可读介质可以包括诸如磁性介质(诸如硬盘、软盘等)、光学介质(诸如光盘、数字视频盘、蓝光盘等)、半导体介质(诸如闪存、电可编程只读存储器(EPROM)等)、电可擦除可编程只读存储器(EEPROM)等之类的介质,在传输期间持久的任意表象不是短暂的或缺乏的任意适当介质,和/或任意适当的有形介质。作为另一个例子,临时性的计算机可读介质可以包括网络上、线路、导体、光纤、电路中的信号,任意适当介质、在传输期间持久的任意表象是短暂的或缺乏的任意适当介质,和/或任意适当的无形介质。尽管在上述说明性实施例中已经描述和图示了本发明,应当理解本公开仅仅是作为示例而给出的,并且可以在本发明的实施方式的细节上做出多种改变而不会背离本发明的精神和范围,本发明的精神和范围仅由以下的权利要求来限定。例如,尽管图I和2示出的实施例被描述为包括编码器和解码器,但是在一些实施例中,在不需要时可以省略编码器和解码器。所公开实施例的特征可以以各种方式组合和重新布置。
权利要求
1.一种使用前向纠错检验可用带宽的系统,包括 至少一个处理器,用于 识别要传输的数据; 确定要发送给接收器的前向纠错数据的数量; 基于所述要传输的数据中的对应数据,创建所述前向纠错数据; 向所述接收器传输所述前向纠错数据和所述要传输的数据中的对应数据; 确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别;以及当所述错误级别低于某一值时,在向所述接收器传输所述对应数据中所使用的带宽量之上增加在向所述接收器传输所述要传输的数据中的其它数据中所使用的带宽量,并且降低在传输所述其它数据中用于所述前向纠错数据的带宽量。
2.如权利要求I所述的系统,其中在分组中发送所述对应数据。
3.如权利要求I所述的系统,其中所述至少一个处理器还传输其它前向纠错数据。
4.如权利要求I所述的系统,其中所述对应数据被编码。
5.如权利要求I所述的系统,其中在传输所述其它数据中所使用的带宽的提高量小于等于用于前向纠错数据的带宽的降低量。
6.如权利要求I所述的系统,其中所述至少一个处理器包括至少两个处理器,并且所述至少两个处理器中的一个处理器处于发送器中并且传输所述前向纠错数据和所述要传输的数据中的对应数据,而所述至少两个处理器中的另一个处理器处于所述接收器中并且确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别。
7.如权利要求I所述的系统,其中所述至少一个处理器包括编码器和前向纠错单元。
8.一种使用前向纠错检验可用带宽的方法,包括 识别要传输的数据; 确定要发送给接收器的前向纠错数据的数量; 基于所述要传输的数据中的对应数据,创建所述前向纠错数据; 向所述接收器传输所述前向纠错数据和所述要传输的数据中的对应数据; 确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别;以及当所述错误级别低于某一值时,在向所述接收器传输所述对应数据中所使用的带宽量之上增加在向所述接收器传输所述要传输的数据中的其它数据中所使用的带宽量,并且降低在传输所述其它数据中用于所述前向纠错数据的带宽量。
9.如权利要求8所述的方法,其中在分组中发送所述对应数据。
10.如权利要求8所述的方法,还包括 传输其它前向纠错数据。
11.如权利要求8所述的方法,其中所述对应数据被编码。
12.如权利要求8所述的方法,其中在传输所述其它数据中所使用的带宽的提高量小于等于用于前向纠错数据的带宽的降低量。
13.如权利要求8所述的方法,其中由第一处理器传输所述前向纠错数据和所述要传输的数据中的对应数据,并且由第二处理器确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别。
14.一种包含计算机可执行指令的计算机可读介质,所述计算机可执行指令在被处理器执行时使得所述处理器执行用于使用前向纠错检验可用带宽的方法,所述方法包括 识别要传输的数据; 确定要发送给接收器的前向纠错数据的数量; 基于所述要传输的数据中的对应数据,创建所述前向纠错数据; 向所述接收器传输所述前向纠错数据和所述要传输的数据中的对应数据; 确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别;以及当所述错误级别低于某一值时,在向所述接收器传输所述对应数据中所使用的带宽量之上增加在向所述接收器传输所述要传输的数据中的其它数据中所使用的带宽量,并且降低在传输所述其它数据中用于所述前向纠错数据的带宽量。
15.如权利要求14所述的计算机可读介质,其中在分组中发送所述对应数据。
16.如权利要求14所述的计算机可读介质,其中所述方法还包括 传输其它前向纠错数据。
17.如权利要求14所述的计算机可读介质,其中所述对应数据被编码。
18.如权利要求14所述的计算机可读介质,其中在传输所述其它数据中所使用的带宽的提高量小于等于用于前向纠错数据的带宽的降低量。
19.如权利要求14所述的计算机可读介质,其中由第一处理器传输所述前向纠错数据和所述要传输的数据中的对应数据,并且由第二处理器确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别。
全文摘要
本公开提供了使用前向纠错检验可用带宽的系统、方法和介质,所述方法包括识别要传输的数据;确定要发送给接收器的前向纠错数据的数量;基于所述要传输的数据中的对应数据,创建所述前向纠错数据;向所述接收器传输所述前向纠错数据和所述要传输的数据中的对应数据;确定所述对应数据和所述前向纠错数据中的至少一个中的错误级别;以及当所述错误级别低于某一值时,在向所述接收器传输所述对应数据中所使用的带宽量之上增加在向所述接收器传输所述要传输的数据中的其它数据中所使用的带宽量,并且降低在传输所述其它数据中用于所述前向纠错数据的带宽量。
文档编号H03M13/00GK102648584SQ201080043723
公开日2012年8月22日 申请日期2010年8月22日 优先权日2009年8月25日
发明者S·本-兹德夫, Y·维纳尔 申请人:锐迪讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1