首页> 中国专利> 分组网络中的相关媒体流的动态缓冲和同步

分组网络中的相关媒体流的动态缓冲和同步

摘要

本发明涉及分组网络中的相关媒体流的动态缓冲和同步。本发明针对在共同接收节点处使用两个或更多个缓冲器来减少抖动、分组丢失和/或分组延迟的影响,并且/或者同步不同类型的媒体。

著录项

  • 公开/公告号CN101873255A

    专利类型发明专利

  • 公开/公告日2010-10-27

    原文格式PDF

  • 申请/专利权人 阿瓦雅公司;

    申请/专利号CN201010167266.7

  • 申请日2010-04-27

  • 分类号H04L12/56(20060101);H04L29/06(20060101);

  • 代理机构11258 北京东方亿思知识产权代理有限责任公司;

  • 代理人李晓冬;南霆

  • 地址 美国新泽西州

  • 入库时间 2023-12-18 01:09:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-05-28

    授权

    授权

  • 2012-02-22

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20100427

    实质审查的生效

  • 2010-10-27

    公开

    公开

说明书

技术领域

本发明一般涉及缓冲器的控制,并且具体地涉及对分组化通信中的抖动缓冲器(jitter buffer)的控制。

背景技术

分组交换电信网络以被分割为或再分(subdivide)为称为分组的片段的诸如语音、视频和/或文本之类的流量为特征。分组通信使用统计复用或动态带宽分配,其中,物理通信信道被划分为多个可变比特速率信道或流。在目的地端,这些分组基于其分组编号以及其它统计因素而被重新组装。

分组交换流量经受着如下服务质量(“QoS”)问题,例如延时、抖动、丢弃分组、乱序(out-of-order)的递送和/或分组恶化错误。例如,在典型的基于因特网协议的语音(“VoIP”)系统中,第一人的语音流通过第一网关被数字化、压缩,并被再分为经编码二进制数据的分组。这些分组通过虚拟私有网络(“VPN”)或未经调整的网络或公共网络被发送,这些网络将它们递送到远端网关,其中,每个分组具有不同的延时量。远端网关对接收到的分组重新排序,然后对经编码二进制数据解压缩(或者同义地,解码),由此向第二人提供连续音频流。该音频流是第一人的音频流的被略微延迟的副本。在本示例中,QoS因失真而被降低,失真例如是由从话语事件到收听的总延时、中断(drop out)以及其它人为现象引入的,其它人为现象是由于分组太早(由于不同的运输路径长度)或太晚(例如由于网络拥塞和/或不同路径长度)到达以至于不能正确地包括在音频流中、全部分组丢失、缓冲器溢出以及其它因素引起的。对于必须确保同步地(均等地定时)递送诸如语音和视频之类的不同类型流量的多媒体会议,QoS问题会变得更糟。

已经开发了多种技术来控制不利地影响QoS的各种因素。这些技术包括抖动缓冲器、ReSerVation协议(“RSVP”)、差别化服务(DiffServ)协议、冗余传输(例如RFC-2198中规定的)、调度算法(例如,加权公平排队(“WFQ”))、基于类别的排队、拥塞避免机制(例如,随机早期检测(“RED”)和加权随机早期检测(“WRED”)),等等。

抖动缓冲器是减少由传输延时引起的抖动的硬件设备或软件过程。在抖动缓冲器接收分组时,其按照到达顺序将它们写入存储器中。分组在最早的可能时间时按适当的序列被读出;即,当乱序时分组被重新排序并且基于控制读指针的本地时钟而被重新定时。去抖动缓冲器可应对的最大净抖动等于在开始播放媒体流之前引入的缓冲延时。如果不用抖动缓冲器来平滑传输,则数据可能丢失,从而在语音信号的情况中,导致可感知到的断续音频流。

抖动缓冲器的大小对于收听者感知到的音频流的质量是很重要的。大的缓冲器虽然准许较少地丢失分组,但是可能将大的延时引入输出的音频流中。相比而言,小的抖动缓冲器虽然向输出音频流引入了较小的延时,但是可能导致大量分组丢失。当网络抖动超过了抖动缓冲器的大小时,呼叫质量就会恶化。因此,通常采用中等容量的抖动缓冲器或者可变容量的抖动缓冲器。

虽然单缓冲器是常见的,然而,现有技术的双缓冲器已被用在语音通信中。在一种实现方式中,端口网络采用静态容量的双缓冲器以实现动态带宽分配。一个缓冲器对应于时分复用(“TDM”)数据(其未被加时间戳(timestamped)),另一缓冲器对应于分组数据。假设TDM数据总是按顺序被隐含地同步,并且优先于分组数据被取得。因此,TDM数据不会因抖动或延迟而被重新排序。每个缓冲器具有读指针和写指针以维护缓冲器状态。出栈(pop)指针使得能够对未按顺序到达的分组进行重新排序。当下一相继的存储器位置拥有TDM数据时,控制器优先选择该TDM数据。每当TDM缓冲器未被占用时,就按需从分组数据缓冲器读取以提供用于没有TDM数据的所选存储器位置的数据。

尽管存在这些技术,远端网关处的QoS问题也仍然是一个问题。

发明内容

本发明的各个实施例和配置解决了这些以及其它需求。本发明一般涉及使用两个或更多个缓冲器来更高效且更有效地管理分组抖动、延迟、丢失和/或同步。

在第一实施例中,提供了一种方法,该方法包括以下步骤:

(a)在接收节点处接收第一分组和第二分组,第一分组和第二分组具有共同的分组持续时间和共同的时间戳和/或序列号;

(b)由处理器将第一分组写入第一缓冲器;

(c)由处理器将第二分组写入第二缓冲器;以及

(d)由控制模块选择如下(i)和(ii)中的至少一者:(i)分别从第一缓冲器和第二缓冲器读取第一分组和第二分组中的每个的时间,(ii)要读取第一分组和第二分组中的哪个分组,其中,在(ii)中,第一分组和第二分组中的仅一者被用来填充数据流中的空隙。

在第二实施例中,提供了一种方法,包括以下步骤:

(a)在接收节点处针对第一和第二组分组维护至少第一和第二缓冲器,其中,在第一组分组中选择的第一成员具有与在第二组分组中的选择的第二成员相同的时间戳和序列号中的至少一者;

(b)在第一和第二缓冲器中的至少一者被占用时,由控制模块调节第一和第二缓冲器中的所述至少一者的大小,所述调节大小是如下的至少一者的函数:用来发送第一和/或第二组分组中的至少一些成员的网络的状态、处理第一和/或第二组分组的成员的时间、第一和第二缓冲器的相对占用、用户需求以及应用需求。

在一种配置中,汇聚点(point-of-convergence)同时接受经由不同路由行进到该目的地的多个实时传输协议(“RTP”)流。对于分组流的每个,汇聚点具有单独的缓冲器空间。汇聚点具有控制机制,其检查分组的头部信息,尤其是时间戳和媒体描述符,当具有相同时间戳的分组类型包含了相同的基本信息但是具有不同的质量时(例如,G.711相对于G.729),优先选择较好质量的分组,当分组类型表示不同的媒体时(例如G.711音频和H.264视频或G.711音频和RFC-4103文本),利用分组的时间戳来同步或协调媒体的呈现,并且优选地,基于媒体流类型,在QoS与不同步之间作出明智的折衷。

在一种配置中,多个单独的具有控制逻辑的存储器阵列或者一个具有控制逻辑的存储器阵列允许阵列内的动态划分。作为示例,阵列可以具有:用于将媒体流写入存储器的写指针、用于读出媒体流的读指针,以及能够对乱序的分组重新排序的“出栈”指针。控制逻辑检查分组编号、媒体类型以及其它统计信息,并且将分组源发到其它数字信号处理(“DSP”)电路,例如下游的编解码器、下游的分组丢失隐匿算法等等。电路和存储器阵列可以物理地由诸如现场可编程门阵列(“FPGA”)之类的可编程逻辑阵列、具有存储器的微控制器、定制硅组成,或者可以由非专门设计的逻辑和存储器器件构成。可以用硬件、软件或更有可能地用它们的组合来实现控制。

存储器阵列可以充当抖动缓冲器,并且针对QoS和非同步性来优化对多个流采取的动作。这些媒体流可以是进行了不同编码的相同信息并通过不同网络被发送,同时希望针对单个信息流复原出完美的一组或接近完美的一组分组。或者,这些媒体流可以是需要被同步以避免时间偏移的诸如语音和视频之类的多个流。另一变体可以是需要协调的诸如语音和文本之类的多个媒体流。通过利用相关联的控制逻辑,可以对质量和同步性作出明智的抉择。这是与传统系统的比较,在传统系统中,通常在网络中的不同点处作出折衷并且对QoS的提高可能不利地影响同步性。

本发明可以提供取决于具体配置的多个优点。本发明可以将不同步问题控制到可接受水平或完全消除,并且为端用户维持较高的体验质量。其可以在分组交换网络上,尤其对于VoIP通信维持较高的服务质量(“QoS”)。其可以利用被等同编码或者被交替编码的媒体流的多个传输(其各自足以用来重建被发送的媒体流)来提高媒体传输的质量和可靠性两者。其可以提高多个基于分组的媒体流的质量并且/或者针对同步递送或至少经协调的递送而同步它们。其可以改善或消除抖动、错误分组序列,并且恢复多个基于分组的媒体流的同步,并且可以基于所关注的媒体进行大幅地优化。

将从这里包含的(一个或多个)发明的公开中清楚这些以及其它优点。

短语“至少一个”、“一个或多个”以及“和/或”是在运用时既连接又分离的开放式表达。例如,如下表达“A、B和C中的至少一个”、“A、B或C中的至少一个”、“A、B和C中的一个或多个”、“A、B或C中的一个或多个”以及“A、B和/或C”中的每一种的意思是A单独的、B单独的、C单独的、A和B一起、A和C一起、B和C一起或者A、B和C一起。

术语“一”或“一个”实体指代一个或多个该实体。这样,术语“一”(或“一个”)、“一个或多个”和“至少一个”在这里可以互换使用。还要注意,术语“包含”、“包括”和“具有”可以互换使用。

如这里使用的术语“自动的”及其变体是指:当任何处理或操作被执行时,在没有实质性人力输入(material human input)的情况下完成该处理或操作。然而,如果输入是在处理或操作的执行之前被接收的,则即使处理或操作的执行使用了实质性的或非实质性的人力输入,处理或操作也可以是自动的。如果人力输入对处理或操作将如何被执行产生了影响,则认为该输入是实质性的。同意处理或操作的执行的人力输入不被认为是“实质性的”。

“平均分组偏移”是(1)被指派给缓冲器中的到达分组的时间位置与(2)缓冲器的前端(当前正被顺序地输出的分组)之间的时间上的偏移的运动平均。

“平均分组方差”是量度分组延时或抖动的变化的参数。平均分组方差通常是分组到达时间的方差的运动平均。

“缓冲器”是例行程序或存储装置,用来当从一个设备(输入设备)向另一设备(输出设备)传送数据时,补偿数据流的速率或事件发生的时间的差异。抖动缓冲器是补偿或移除抖动的专用类型的缓冲器。

如这里使用的术语“计算机可读介质”是指参与向处理器提供指令供执行的任何有形存储和/或传输介质。这种介质可以采取许多形式,包括但不限于非易失性介质、易失性介质以及传输介质。非易失性介质例如包括NVRAM或者磁盘或光盘。易失性介质包括动态存储器,例如主存储器。计算机可读介质的常见形式例如包括软盘、柔性磁盘、硬盘、磁带或任何其它磁介质,磁光介质、CD-ROM、任何其它光介质,打孔卡、纸带、任何其它具有孔图案的物理介质,RAM、PROM和EPROM,FLASH-EPROM,类似存储卡的固态介质,任何其它存储器芯片或存储器盒,如下面将描述的载波,或者计算机可以读取的任何其它介质。电子邮件的数字文件附件或其它自容式信息文档或文档组被认为是等效于有形存储介质的分布式介质。当计算机可读介质被配置为数据库时,将明白,该数据库可以是任何类型的数据库,例如关系数据库、层次化数据库、面向对象的数据库等等。因此,认为本发明包括其中存储了本发明的软件实现方式的有形存储介质或分布式介质以及现有技术认可的等同物和后继介质。

这里使用的术语“确定”、“计算”和“运算”及其变体可互换使用,并且包括任何类型的方法、处理、数学操作或技术。

术语“抖动”是被发送的数字信号的不希望的定时变化。

这里使用的术语“模块”是指能够执行与该元件相关联的功能的任何公知的或以后开发出的硬件、软件、固件、人工智能、模糊逻辑或硬件与软件的组合。此外,虽然根据示例性实施例描述了本发明,然而,应当理解,可以单独地要求保护本发明的各个方面。

“指针”是一种标识符,例如指示另一数据元素的位置的数据元素。指针的值或指针值通常是被定位的数据元素的存储器地址。

前面是本发明的简化概述以提供对本发明各个方面的了解。该概述既不是对本发明及其各个实施例的广泛性综述也不是全面性综述。既不旨在标识出本发明的重要的或关键性元素也不旨在记述本发明的范围,而是以简化的形式将本发明的所选概念呈现作为对下面将呈现的更详细描述的介绍。如将会理解的,通过单独或组合地利用上面阐述的或下面将详细描述的一个或多个特征,还可以作出本发明的其它实施例。

附图说明

图1是根据第一实施例的系统的框图;以及

图2是根据第一实施例的流程图。

具体实施方式

参考图1,将描述本发明的第一实施例。

系统100包括分别经由第一和(可选的)第二网络108和112与接收节点116通信的发送节点104。接收节点116包括多个组件,包括第一和第二缓冲器120和124、解分组器128、解码器132、处理模块136、网络状态模块140以及控制模块144,所有这些组件通过总线148通信。如将理解的,在全双工通信会话中,两个节点都将发送和接收分组,因此,都将具有这些组件。

发送和接收节点104和116可以是多种通信设备。示例性通信设备包括基于因特网协议的语音(“VoIP”)设备(例如IP软电话和硬电话)、交换机、媒体服务器、路由器、会话边界控制器以及网关(例如,安全和端口网关)。通常,通信是软件控制的,并且包括通用微处理器;然而,还可以使用专用数字信号处理器(“DSP”)。

第一和第二网络108和112通常都是分组交换式的;然而,这些网络中的一个或两个可以是电路交换式的。在一种配置中,仅第一网络108中的不同分组通信路径被使用。在另一配置中,第一和第二网络108和112两者上的不同信号通信路径被采用。

第一和第二缓冲器120和124具有多个存储槽(slot)或经编址的存储位置,120-1、120-2、120-3、120-4…以及124-1、124-2、124-3、124-4…,以接收、存储并适当地排序(通过时间戳和/或分组编号)数据(通常为语音或视频数据)以供随后读出。取决于配置,缓冲器120和124可以是硬件设备或软件过程,并且优选地为软件过程。在一种配置中,第一和第二缓冲器120和124中的一者或两者是动态的、自适应性的,具有可变容量。第一和第二缓冲器120和124是在控制模块144(下面将讨论)控制下的受管理的存储器分配。所分配的存储器可以是任何合适类型的可记录和可读介质。取决于配置,缓冲器可以使用经划分的公共存储器或单独的存储器。另一等同的选择可以是在模块144控制下的专用存储器块或寄存器。

多个指针被用于缓冲器管理。第一和第二缓冲器120和124各自分别具有相对应一对读和写指针152a、152b以及156a、156b。读指针指向上次读取的分组或其一部分,而写指针指向上次写入或记录的分组或其一部分。虽然通常将包括分组头部、尾部和净荷的整个分组写入缓冲器存储槽中,然而,替代配置仅将分组的所选部分写入存储槽中。这样的示例可以是净荷,并且通常还可以是分组序列号或时间戳。读处理(未示出)读取存储槽内容,而写处理(未示出)将内容写入每个存储槽。除了读和写指针152和156之外,出栈指针160a、160b指向第一和第二缓冲器120和124内需要对乱序的分组重新排序的任何失序的存储器位置。出栈指针可以被认为是非顺序读指针(其中,该指针指向分组序列中下一个乱序的分组)或者,替代地,是返回序列读指针(其指向非顺序排序的分组中上次被排序的分组)。在本发明中,可以以任一方式来使用出栈指针。

解分组器128接收来自当前由读指针152a、152b所指的第一和第二缓冲器120和124中的任一个的经重新排序的分组,并且从分组中移除分组头部和尾部。如果是经压缩的,则净荷随后被传递给解码器132。在一种配置中,从缓冲器中移除并丢弃另一缓冲器中被加有相对应的时间戳和/或序列号的分组。

解码器132对净荷解压缩。解码器可以是任何合适的解压缩算法。如将理解的,通常,压缩可以通过去除长串的相同比特或者在连续采样间隔(例如,视频帧或静音)中未变化的比特,来减少对信息或信号编码所需要的比特数目或带宽。可以采用任何级别的压缩。示例性压缩算法包括MPEG-2(视频)、MPEG-4(视频)、H.264(视频)、RFC-4103(文本)、G.711(音频)、G.723.1(音频)、G.729(音频)等。

处理模块136针对所需应用来处理解压缩后的净荷。对于音频净荷,模块136将音频片段重新转换为用于收听者的音频(话语)流。取决于配置,模块136可以执行数模转换或模数转换。模块136还可以通过声响心理透明的或最小侵入性的填充(数据扩充)或抽取来执行遮罩变更(maskvariation)。为了扩充音频数据,有利地,选择性地复制与单词和/或稳定的元音声之间的静音相对应的经编码分组。还可以得知本领域中的其它类似技术。对于视频净荷,取决于配置,模块136也可以执行数模转换或模数转换。模块136还可用来改变视频流的特性,例如隔行扫描、显示分辨器、长宽比、每像素的比特以及色彩空间、视频质量、比特速率和格式。

网络状态模块140利用适当的技术来确定第一和/或第二网络108、112的状态。网络状态可以利用多种参数来量化,这多种参数包括接入优先级、带宽可用性、抖动、分组丢失、延迟、长话级品质、信元差错率、严重信元误块比率、信元丢失率、信元传输延时、平均信元传输延时、信元延时变化性、平均分组偏移、平均分组方差等等。网络状态可以通过诸如察看到达分组和/或缓冲器的特性之类的被动技术,以及诸如利用网络探测器并发送和接收探索分组(ping packet)之类的其它主动(侵入性的或非侵入性的)技术来确定。

控制模块144不仅控制出栈指针160指向第一和第二缓冲器中的哪个而且控制第一和第二缓冲器的每个的容量。如将会理解的,可以利用诸如分组计数、时间单位(微秒)等之类的任何合适的度量来表示缓冲器容量。

在控制由读指针152a、152b所选的缓冲器时,控制模块144包括:两个缓冲器中的哪个包含未经压缩或经较低级别压缩的数据(优选压缩或经低级别压缩的缓冲器),分组序列中的特定分组是否到达优选缓冲器(当分组尚未到达并且其将被读出时,则该分组从次优选缓冲器中被读出),以及用于向每个缓冲器发送分组的通信路径的网络状态(优选具有较高服务质量(“QoS”)的通信路径)。在一种配置中,发送节点104通过第一网络108来发送使用第一和第二级别的压缩以及相同时间戳或分组序列号以及源和目的地地址对的所选视频或音频帧。具有第一级别的压缩的第一分组被存储在第一缓冲器中,并且第二分组被存储在第二缓冲器中。具有较低级别的压缩的缓冲器优先被用作分组源,而另一缓冲器被用于不在优选缓冲器中的分组。在另一配置中,第一和第二分组具有相同级别的压缩(或未压缩)并且通过不同或相同的网络但通过不同的通信路径被发送。这些分组具有相同的源地址和分组序列号和/或时间戳。当中间路由器接收到具有相同的源地址和分组序列号和/或时间戳的这两个分组时,路由器沿着不同路径(或者经由不同的路由器接口)重新发送分组。这通过由各个路由器在存储器中将来自先前遇到的分组头部的字段列表维持选定的一段时间来实现。

在任一种配置中,尽管分组通常具有在共同时间间隔(例如,20微秒)中提取的净荷,然而,分组也可能具有或不具有相同的(复制的)净荷。例如,第一和第二分组可以具有相同或不同类型的媒体净荷(例如,相同或不同的媒体描述符);即,第一和第二分组可能具有相同的音频数据帧或者共同被加有时间戳的音频和视频数据帧(其在被呈现给用户时必须被同步)。

在一种净荷被复制的配置中,发送节点104是VoIP设备(硬电话或软电话),并且发送节点104通过电路交换第一网络108(优选地通过蜂窝网络)和分组交换第二网络112来发送同一组信息(实时控制协议(RTCP)情况中的控制信号和/或性能度量或者实时传输协议(RTCP)情况中的音频信息)。通过第一网络108发送的第一组分组被压缩,而通过第二网络112发送的第二组分组未被压缩。第二缓冲器124(其包括第二组分组)是用于所选组信息的优选缓冲器,而第一缓冲器120(其包括第一组分组)在当从第二缓冲器124读取时该组信息中的给定成员缺失时使用。

在一种净荷未被复制的配置中,发送节点104接收与一组共同的事件(例如,多媒体电话呼叫、多媒体记录或者现场拍摄或呈现等)相对应的语音和视频流两者。每个音频帧具有在同一时间间隔根据共同的事件生成的相对应视频帧。第一组分组包含来自音频流的净荷,而第二组分组包含来自视频流的净荷。在接收节点116处,第一和第二缓冲器120和124的大小被调整,以使得读取相对应的音频和视频信息对的时间大幅地使因分组抖动或延迟引起的信息帧的丢失最小化。这可能使得第一和第二缓冲器120和124具有不同的容量,这主要取决于第一和第二网络108和112的相对状态。对同步第一和第二组分组的需要比因延迟向用户呈现引起的延迟更重要。虽然本示例是参考音频和视频来讨论的,然而,将明白,也可等同地适用于文本、视频和/或音频的任何组合。

在控制每个缓冲器的容量时,控制模块144考虑到多种因素。这些因素例如包括:用来发送针对所选缓冲器的分组的网络的网络状态(较低的QoS通常比较高的QoS需要更大的缓冲器大小)、将存储在所选缓冲器中的分组的大小(具有较高级别压缩的净荷比具有较低级别压缩的净荷需要更少存储器以被存储)、所选缓冲器的缓冲器占用、由解分组器128、解码器132(诸如G.729之类的某些压缩算法比诸如G.711之类的其它压缩算法需要更多的解压缩处理)和/或处理模块136(特别地,视频处理在处理需要将音频分组保存在缓冲器中更长时间的视频分组时,可能引入大量延时)、用于所选缓冲器的可用(最大)存储器、处理模块136可以容忍以满足用户或应用要求的最大延迟量(诸如VoIP之类的某些应用比诸如图像处理之类的其它应用要求更低水平的延迟)、用于所选缓冲器的通信路径的介质类型(电路交换网络通常具有比分组交换网络低的延迟和分组丢失)、被共同地加有时间戳或编号的分组的净荷是否被第一和第二缓冲器复制(涉及被复制净荷的应用通常可以容忍比未复制净荷小的延迟/抖动)、第一和第二缓冲器中被共同地加有时间戳或编号的分组的净荷是否是不同类型的媒体或者是否具有不同的媒体描述符(例如,音频帧和相匹配的视频帧)、净荷是控制信令还是载体数据(诸如双音多频(“DTMF”)信号之类的控制信号需要与相对应的音频流同步)、所选缓冲器中的净荷的性质(例如,涉及讲话者在更短时间内更频繁改变的VoIP交谈通常要求较低的延迟/抖动)。如将会理解的,第一和第二缓冲器可以被动态地调节以具有相同或不同的容量。

现在将参考图2讨论接收节点116的操作。

在步骤200,网络状态模块140确定第一和/或第二网络的状态。在一种配置中,接收节点将当前网络状态与根据上次网络状态确定得到的网络状态的(一个或多个)当前值相比较。如果这(一个或多个)值中的一个或多个尚未具有所选改变量,则不执行后续步骤204、208和212。

在步骤204,控制模块144确定第一和第二缓冲器120和124的当前状态。缓冲器状态主要考虑缓冲器容量、读、写和/或出栈指针的位置,以及空闲存储槽120-1、120-2、120-3、120-4、124-1、124-2、124-3、124-4…的数目和/或位置。在一种配置中,控制模块144还确定解分组器128、解码器132和/或处理模块136中的一个或多个的当前状态。

在步骤208,控制模块144接收来自网络状态模块140的当前网络状态,并且基于规则和策略以及各种当前状态来确定对第一和第二缓冲器120和124的必要改变,如果有的话。如所提到的,可能的改变包括出栈指针160a、160b,读指针152a、152b以及写指针156a、156b的位置,以及第一和第二缓冲器120和124的容量。

在步骤212,控制模块144按照步骤208所确定的那样来重新配置第一和第二缓冲器120和124。

已结合单工网络体系结构描述了本发明的示例性系统和方法。然而,为了不必要地模糊本发明,前面的描述省略了多个公知的结构和设备。这种省略不被认为是对要求保护的本发明的范围的限制。阐述了具体细节以提供对本发明的理解。然而,应理解,本发明还可以按这里所阐述的具体细节以外的多种方式来实施。

此外,虽然这里所示的示例性实施例示出了系统的各种组件被放在一起,但是,系统的某些组件可以远程地位于诸如LAN和/或因特网之类的分布式网络的很远部分处,或在专用系统内。因此,应当理解,系统的组件可以组合到一个或多个设备(例如,网关或交换机)中,或者位于分布式网络(例如,模拟和/或数字通信网络、分组交换网络或电路交换网络)的具体节点处。如从上面的描述中可以明白的,为了计算效率的原因,系统的组件可以在不影响系统的运行的情况下被布置在组件的分布式网络内的任何位置。例如,各种组件可以位于诸如PBX之类的交换机和媒体服务器、网关中、一个或多个通信设备中、一个或多个用户的驻地(premises)处或它们的某种组合。类似地,系统的一个或多个功能部件可以被分布在(一个或多个)电信设备和相关联的计算设备之间。

此外,应当理解,连接元件的各种链路可以是有线或无线链路或它们的任何组合,或者能够向以及从被连接的元件提供和/或传输数据的任何其它已知或以后开发出的(一个或多个)元件。这些有线或无线链路还可以是安全链路并且能够传输加密的信息。用作链路的传输介质例如可以是用于电信号的任何适当的载波,包括同轴电缆、铜线和光纤,并且可以采取声波或光波的形式,例如在无线电波和红外数据通信期间生成的那些波。

此外,虽然已经关于具体的事件序列讨论并图示说明了流程图,然而应当明白,可以在对本发明的操作没有实质性影响的情况下对该序列进行改变、添加和省略。

可以使用本发明的多种变体和修改。可以提供本发明的一些特征而不提供其它特征。

例如,在一个替代实施例中,双缓冲系统位于处理模块的下游,双缓冲器体系结构位于诸如与音频处理器相比会引入大量处理延迟的图像或视频处理器之类的资源密集型处理模块的上游或下游。例如,最大化分辨率的像素倍增(upscaling)是资源密集型的,并且数字信号处理器在没有缓冲的情况下可能由于过采样而引起数学上的错误。以这种方式,不同净荷类型的分组可以被成功地同步。

在另一替代实施例中,当在诸如时分复用(“TDM”)信道之类的电路交换网络上出现停运并且通信系统未能切换到分组交换网络时,双缓冲系统可以用来维持同步。

在另一替代实施例中,双缓冲系统可以用来将控制信号与载体分组同步。

在又一实施例中,本发明的系统和方法还可以结合如下装置来实现:专用计算机、编程微处理器或微控制器和(一个或多个)外围集成电路元件、ASIC或其它集成电路、数字信号处理器、诸如分立元件电路之类的硬连线电路或逻辑电路、诸如PLD、PLA、FPGA、PAL之类的可编程逻辑器件或门阵列、任何类似装置,等等。一般地,能够实现这里所述的方法的(一个或多个)任何设备或装置可以用来实现本发明的各个方面。可用于本发明的示例性硬件包括计算机、手持设备、电话(例如,蜂窝、因特网使能的、数字、模拟、混合以及其它电话)以及本领域中已知的其它硬件。这些设备的一些包括处理器(例如,单个或多个微处理器)、存储器、非易失性存储装置、输入设备和输出设备。此外,包括但不限于分布式处理或组件/对象分布式处理、并行处理或虚拟机处理的备选软件实现方式也可以被构建来实现这里描述的本发明。

在另一实施例中,可以结合利用对象的软件或面向对象的软件开发环境来容易地实现所公开的方法,这些软件和开发环境提供了在各种计算机或工作站平台上使用的可移植源代码。可替换地,可以用使用标准逻辑电路或VLSI设计的硬件来部分地或全部地实现所公开的系统。是用硬件还是软件来实现根据本发明的系统取决于系统的速度和/或效率要求、具体的功能,以及所利用的具体软件或硬件系统或微处理器或微计算机系统。

在又一实施例中,可以用被存储在存储介质中,并且在与控制器和存储器协同操作的经编程通用计算机、专用计算机、微处理器等上运行的软件来部分地实现所公开的方法。在这些情况中,本发明的系统和方法可以被实现为被嵌入在个人计算机上的程序(例如小应用程序(applet)、或CGI脚本)、驻留在服务器或计算机工作站上资源、被嵌入在专用测量系统或系统组件等中的例程等等。还可以通过将系统和/或方法物理地结合到软件和/或硬件系统中来实现本系统。

虽然本发明参考特定的标准和协议描述了在实施例中实现的组件和功能,然而,本发明不局限于这些标准和协议。这里未提到的其它类似标准和协议是存在的并且认为被包括在本发明中。此外,这里提到的标准和协议以及这里未提到的标准和协议定期地被更快更有效的具有基本上相同功能的等同物所替代。这些具有相同功能的取代标准和协议被认为是包括在本发明中的等同物。

在各个实施例、配置和方面中,本发明包括基本上如这里示出和描述的组件、方法、处理、系统和/或装置,包括其各种实施例、子组合以及子集。本领域技术人员在理解了本公开之后将明白如何作出和使用本发明。在各个实施例、配置和方面中,本发明包括:在缺少这里未示出和/或描述的项目时或者在其各种实施例、配置或方面中(包括在缺少诸如在先前的设备或处理中为了提高性能、获得改善并/或减小实现成本所使用的项目时),提供设备和处理。

本发明的前面的讨论是为了说明和描述的目的而呈现的。前面的讨论不旨在将本发明限制到这里公开的一种或多种形式。在前面的详细描述中,例如,为了简化本公开,在一个或多个实施例、配置或方面中将本发明的各个特征成组在一起。在除上面讨论的那些以外的本发明的替代实施例、配置或方面中,可以将本发明的实施例、配置或方面的特征相组合。这种公开的方法不应被解释为反映了如下意图:要求保护的发明需要比在每个权利要求中明确记述的特征多的特征。而是,如下面的权利要求所反映的,创造性方面在于比前面所公开的单个实施例、配置或方面的所有特征少。因此,下面的权利要求由此被结合到该详细描述,其中,每个权利要求独立地作为本发明的单独的优选实施例。

此外,尽管本发明的描述包括了对一个或多个实施例、配置或方面以及某些变更和修改的描述,然而,例如在理解了本公开之后可能落在本领域技术人员的技术和知识内的其它变更、组合和修改也在本发明的范围内。希望获得包括了在所允许程度内的替代实施例、配置或方面的权利,其包括针对所要求保护的那些的替代、互换和/或等同的结构、功能、范围或步骤,而无论这里是否公开了这些替代、互换和/或等同的结构、功能、范围或步骤,并且不意图向公众贡献任何可专利的主题。

相关申请的交叉引用

交叉引用了2009年1月29日提交的题为“System and Method forProviding a Replacement Packet”、序列号为12/361,950的美国专利申请,通过此引用将该申请全部结合于此。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号