具有用于抖动缓存器的多个重放指针的终端的制作方法

文档序号:7949331阅读:214来源:国知局
专利名称:具有用于抖动缓存器的多个重放指针的终端的制作方法
背景资料发明领域本发明属于以媒体流的形式接收传输的终端的结构和操作。
相关技术及其他需要考虑的事项公共陆上移动无线电网络(PLMN)是用于移动无线网络的统称术语,该移动无线网络由一个机构中央地运行和管理,并且使用基于陆地的射频发射机或者基站作为网络集线器。PLMN可以独立和彼此相互连接,或者连接到固定的系统,诸如PSTN。
在不久的将来,在PLMN的分组交换部分上会有增长的通信负载,诸如GSM/GPRS、UMTS(WCDMA)和CDMA2000。一种利用分组交换载体的业务被称为无线一键通(PoC)。无线一键通(PoC)目前正在被标准化,并且在一个被称为开放移动联盟(OMA)论坛的行业联盟中达成协议。参见,http//www.openmobilealliance.com/tech/wg committees/poc.html,和OMA PoC用户面,OMA-UP-POC=V0_1-20041005-D,草拟版本1.0.9 2004年10月,其在此引入作为参考。
正在开发在诸如GSM/GPRS网络、EDGE网络、UMTS和CDMA系统的网络中用于手持机的无线一键通(PoC)。PoC基本上是用于蜂窝电信系统的语音聊天。PoC提供迅速的一对一或者组通信,提供类似短的即时消息传送业务,其感觉好象是“步话机”。
PoC使能的手持机很可能配备有PoC按钮。该PoC按钮可以(例如)是专用硬件按钮,在标准小键盘上分配的按钮;或者例如在压敏屏面上使用的软件按钮。当PoC按钮被按下的时候,该手持机被直接连接到另一个用户或者用户组。虽然在稍后的阶段上全双工可能是可利用的,PoC的最初版本提供半双工服务。
借助于图像和视频剪缉组合的业务使当今的电路交换(CS)的语音业务丰富。当图像和/或视频剪辑被从一个用户的客户机传送到另一个用户的客户机的时候,该图像和/或视频剪辑将会利用该PLMN的分组交换(PS)的部分。
已经进行了许多的努力和投资以开发用于话音通信的完全地分组交换的解决方案。由于其假设网际协议(IP)将用于携带媒体,上述的解决方案通常被称为在IP上的语音(VoIP)。现在,这个工作将被重新使用以进一步增强VoIP。可以预料,在不久的将来,甚至在当前部署的PLMN上提供例如PoC与视频和/或图像,和VoIP与视频和/或图像的组合是可能的。
组合语音和图像/视频(不管该语音是否是分组交换的或者电路交换的)的业务有时在称为推动展示业务下进行。
接收媒体流(包括被提供或者是无线一键通(PoC)和/或推动展示业务的一部分的媒体流)的设备通常具有一个通常被称为抖动缓存器的缓存器,用于临时存储和(必要时)重新排序分组。该抖动缓存器典型地用来使间断媒体流平滑,以便对在接收机中的下游设备,例如,语音解码器提供以基本上连续的数据流。通常,该抖动缓存器具有一个放出(play out)指针,其定位或者识别媒体流数据在该抖动缓存器中将被读出或者“再现”的位置。抖动缓存器通常在媒体流的接收和其它的背景下是公知的,如由以下(其全部内容在此引入作为参考)证明的美国专利申请公布US2003/0152093;美国专利申请公布US2004/0037320;美国专利申请公布US2004/0062260;美国专利申请公布US2004/0073692;美国专利申请公布US2004/0076190;美国专利申请公布US2004/0156622;美国专利申请公布US2002/0120749;美国专利6,747,999;美国专利6,684,273;美国专利6,658,027;美国专利6,418,125;美国专利5,350,271。
自适应的抖动缓存器目前仅仅具有一个释放点,其在对话期间被估算和改变。这指的是,这样的抖动缓存器具有连续地试着估算在该抖动缓存器中将是最佳数据量的一个算法。对于自适应的抖动缓存器算法的一个通用方法是使用类似标准偏差和方差的统计度量的平均值,以找出对于每个时间点用于该抖动缓存器的最佳放出点。缺点是上述的“平均值”算法没有很好地反应信道设置、媒体设置或者其他的设置的改变,这些改变将会突然地改变传送器或者媒体的特性。
用于自适应的放完缓存器的算法通常在该对话之前适应该缓存器的大小,并且通过自适应地或者改变传输速率或者媒体流的编码率设法保持与那儿相同的缓冲区大小。基本思想是接收侧连续地发送有关其抖动缓存器状态的信息给流传输服务器。然后该流传输服务器可以按照接收的信息适应该媒体流的速率。利用流传输方法的缺点是由于“相当缓慢的”报告返回缓存器状态的机制,其需要相对很大的抖动缓存器(约为几秒)来执行该适应,这使得这个方法对于实时业务几乎没用。
利用实时传输协议(RTP)的应用使用RTP控制协议(RTCP)用于同步RTP流,例如在视频电话业务中的带有视频流的音频流。例如,在IETF,“RTPA Transport Protocol for Real-Time Applications”,RFC 3550,2003年7月中描述了实时传输协议(RTP),其在此引入作为参考。
一个问题是如何精确地设置媒体(例如,音频、视频、图像)重放/再现点以最优化端到端(E2E)内容传送特性。这个问题可以在不同的情形下发生。例如,由于在传送涉及的节点中与传送相关的设置或者状态的改变,传送路径的延迟可以急速地改变。作为第二个例子,该媒体类型可以转变为在抖动缓存器中正常地工作需要更多或者更少比特的类型。作为第三个例子,在媒体对话期间可以增加媒体类型,由于同步其在抖动缓存器中请求增加延迟。
诸如在宽带码分多址(WCDMA)中发生的信道类型切换是第一示例问题情形的实例,其用于分组交换的音频服务,诸如VoIP或者PoC。例如在3GPP,“Technical Specification Group Radio AccessNetwork;Radio Resource Control(RRC),ProtocolSpecification”,TS 25.331 V4.13.0,2004年3月中描述了WCDMA。考虑图4,其描述WCDMA的无线电资源控制(RRC)状态机。该RRC状态以空闲模式启动。当数据被传送的时候,该RRC状态可以转到CELL-DCH或者转到CELL_FACH。当发射机吞吐量在某个时间周期期间降低到某个界限之下的时候,执行信道类型向下切换到CELL_FACH。但是在经历没有任何新数据的若干时间之后,该RRC状态将进一步向下切换到空闲模式。但是,如果在向下切换到空闲模式之前接收到数据,那么取决于数据量(例如,无线电链路控制(RLC)缓存器达到某个阈值),该RAB被切换到RRC状态CELL_DCH。对于该音频的问题是在CELL_FACH状态期间某些媒体将被传送,并且当状态切换发生的时候,该媒体的传输中会有延迟,从而在放出音频到接收者的过程中具有讨厌的间隙。
该PoC包括称作“用户面自适应”的概念,其提供第二示例问题情形的实例。该用户面自适应算法使用对话描述协议(SDP)采集有关每个终端的下行链路容量的信息。从那个信息中,该PoC服务器通知所有终端该媒体流可以耗费多少带宽。
在PoC中改变该媒体流的带宽的方式是通过在一个IP分组中改变语音编码器帧的数目。用于这个目的SDP参数是“ptime”(分组时间)参数。该ptime参数描述在IP分组中重放媒体将花费的时间量。通过将ptime的值从20ms改变到160ms,传送AMR5.15帧的IP流的比特率可以从22.0kbps降低到7.6kbps。
当改变ptime参数的时候对于该抖动缓存器的含意是媒体接收的频率被改变以及媒体量被改变。因此,不同的ptime值要求不同的抖动缓存器深度。如果执行移动IP切换,可能发生ptime急剧的改变,以致启动鲁棒报头压缩(ROHC)。
当业务正在进行并且正在发送一种类型的媒体并且另一种媒体类型被激活的时候,例如,VoIP和实时视频的组合,出现第三个问题情形的实例。在增加新媒体类型的这种情况下,在用于该媒体流的抖动缓存器中的放出点可能不得不被改变。理由是视频典型地比音频需要更长的缓存时间。例如,低带宽情形可以具有每秒四帧的视频速率,因此每个帧对应于250ms的媒体。如果该抖动缓存器必须保存三个帧以实现合理质量,这指的是750ms的视频被存储在该抖动缓存器中。因此,当将同步的实时视频增加给VoIP的时候,只要缓存视频流该应用就不得不通过调整该放出点延迟语音。
因此,本发明的一个目的是一种用于从抖动缓存器中读出媒体流的改进技术。
简要综述一个终端以媒体流的形式接收传输。该终端包括抖动缓存器和缓存管理器,该抖动缓存器接收包括媒体流的数据。该缓存管理器在多个重放指针之间进行选择以作为有效重放指针,包括该媒体流的数据从该有效重放指针处从该抖动缓存器中放出。该终端可以采用不同的形式,并且可以是(例如)在无线电接口上接收媒体流的无线终端,或者是有线终端(例如,有线线路终端)。
在一个示例的实施例中,该缓存管理器在多个重放指针之间进行选择以作为以下一个或多个的函数(a)第2层交互作用;(b)媒体类型;(c)媒体设置;(d)业务类型;(e)时间。
在一个示例的实施例中,该缓存管理器更新多个重放指针中的至少一个。更新该多个重放指针中的最少一个的方式和时间可以以任何各种各样的方法发生。例如,当该抖动缓存器正在接收包括媒体流的数据的时候,该缓存管理器可以更新多个重放指针中的至少一个。作为选择或者另外,当多个重放指针中的至少一个是有效重放指针的时候,该缓存管理器可以更新多个重放指针中的至少一个。
在一个示例的实施例中,多个重放指针中的至少一个的更新可以作为以下至少一个的函数(1)传输延迟的经历路径的估算间隔;(2)媒体类型;(3)媒体类型的组合;(4)服务组合。
在一个示例的实施例中,其中媒体流是由终端在不同的时间上经不同信道类型的信道获得的,在多个重放指针之间进行选择以作为有效重放指针是基于携带媒体流的信道的信道类型。例如,当媒体流是经专用信道获得的时候,多个重放指针的第一个用于放出该媒体流,并且当媒体流是经公共信道获得的时候,多个重放指针的第二个用于放出该媒体流。
在另一个示例的实施例中,在多个重放指针之间的选择是基于重放该媒体流的分组将花费的时间量。作为一个例子,关于重放媒体流的分组将花费的时间量的确定包括通过从媒体流获得一个参数,诸如(例如)对话描述协议(SDP)的ptime参数。
在又一个示例的实施例中,在多个重放指针之间的选择取决于多种类型的媒体是否包括在该媒体流中。例如,当仅仅一种类型的媒体(例如,音频)包括在媒体流中的时候,多个重放指针的第一个被用于放出该媒体流,而当多于一种类型的媒体(例如,与音频相结合的视频)包括在媒体流中的时候,多个重放指针的第二个被用于放出该媒体流。
附图的简要说明从以下如在附图中说明的优选实施例的进一步特定描述中,本发明的先前和其他的目的、特点以及优势将更加清晰可见,其中参考字符涉及各个视图的相同部分。该附图没有必要是按比例的,而是重点放在说明本发明的原理上。


图1A是具有无线电接入网络的通用电信系统的示意图,其用作第一个示例环境,在该环境中可以应用本发明。
图1B是通用有线线路系统的示意图,该通用有线线路系统用作第二个示例环境,在该环境中可以应用本发明。
图2A是通用有代表性的无线终端的典型构成部件的示意图。
图3是说明抖动缓存器的多个重放指针方面,和由缓存管理器在控制抖动缓存器的过程中执行的某些逻辑的示意图。
图3A是说明将多个重放指针的第一个选择为有效重放指针的示意图。
图3B是说明将多个重放指针的第二个选择为有效重放指针的示意图。
图4是示出无线终端的各种各样的模式和状态的示意图。
附图的详细说明在下面的描述中,为了解释而不是限制的目的,阐述了诸如具体的结构、接口、技术等等细节,以便对本发明提供全面的理解。但是,对于那些本领域技术人员将显而易见的是,在脱离这些特定细节的其他实施例中可以实践本发明。在其他的例子中,公知设备、电路和方法的详细说明被省略,以便不会使本发明的描述具有多余的细节而难以理解。此外,在一些图中示出了单独的功能块。那些本领域技术人员将理解的是,该功能可以使用单独的硬件电路,使用与适合编程的数字微处理器或者通用计算机结合的软件功能,使用专用集成电路(ASIC),和/或使用一个或多个数字信号处理器(DSP)来实现。
图1A说明了作为第一个示例环境的通用电信系统,在该环境中可以应用本发明。第一个示例性的系统包括无线电接入网络10和核心网络14。该核心网络14显示为连接到服务节点或者服务网16。该服务网16(或者其他类似的实体)包括PoC服务器18,其便于先前描述的无线一键通(PoC)服务。
在一个特定的举例实施例中,该核心网络14是无连接的外部核心网络,并且包括服务GPRS支持节点(SGSN)20和网关GRPS支持节点(GGSN)21。通用分组无线电服务(GPRS)服务(SGSN)节点20适合于提供分组交换类型服务。该网关GRPS支持节点(GGSN)21对该分组交换网(例如,因特网,X.25外部网络)提供接口。该网关GRPS支持节点(GGSN)21变换数据格式、信令协议和地址信息,以便允许在不同的网络之间通信。服务GPRS支持节点(SGSN)20提供分组路由往返于SGSN服务区,并且服务物理上设置在SGSN服务区内的GPRS用户。服务GPRS支持节点(SGSN)20对该用户设备单元提供功能,诸如认证、加密、移动性管理、计费数据和逻辑链路管理。GPRS用户依赖于位置可以由在该网络中的任何SGSN服务。服务GPRS支持节点(SGSN)20和网关GRPS支持节点(GGSN)21的功能可以结合在相同的节点中,或者可以存在于单独的节点中,如图1A所示。
该核心网络14经由点划线22描绘的无线电接入网络接口连接到无线电接入网络10。该无线电接入网络10包括一个或多个控制节点26和一个或多个无线电基站(BS)28。在一个非限制性实施例的例子中,其中无线电接入网络10是UMTS陆上无线电接入网络(UTRAN),由点划线22描绘的该无线电接入网络接口被称为Iu接口,并且该控制节点26采取无线电网络控制器(RNC)的形式。在无线电接入网络10的其他实施例中,该控制节点26可以具有其他的名称,例如基站控制器(BSC)。总之,应该理解的是,为了简单起见,图1A的无线电接入网络10仅仅示出一个控制节点26,并且该控制节点26被连接到两个基站(BS)28。如那些本领域技术人员理解的,该无线电接入网络10典型地具有许多控制节点26,其可以经一个未举例说明的接口(诸如,Iur接口)连接。同样为了简单起见,仅仅示出了两个基站节点28,它们被连接到有代表性的控制节点26。应该理解,可以由每个控制节点26服务不同数目的基站28,并且控制节点26不需要服务相同数目的基站。此外,那些本领域技术人员还将理解,在该领域中基站有时也称为无线电基站、节点B或者B节点。
为了简便起见,在随后论述中假设每个基站28服务一个小区。但是,那些本领域技术人员将理解,基站可以在空中接口上为一个以上的小区提供通信服务。例如,两个小区可以利用位于相同基站站点上的资源。此外,每个小区可以被分成一个或多个扇区,并且每个扇区具有一个或多个小区/载波。
无线终端30经无线电或者空中接口32与一个或多个小区或者一个或多个基站(BS)28通信。在不同的实施例中,该无线终端30可以是通过不同的名称分辨的,例如移动站或者MS,移动终端或者MT,或者用户设备单元(UE)。当然,而为了容易说明,在图1A中仅仅示出了一个无线终端30,每个基站典型地服务许多的无线终端。
在如上所述的示例性UMTS实施例中,无线电访问优选地是基于具有使用CDMA扩展码分配的独立无线电信道的宽带码分多址(WCDMA)。当然,可以采用其他的访问方法。
在此处尤其重要的事实是,为了诸如无线一键通(PoC)之类的服务或者与诸如无线一键通(PoC)之类的服务结合,该无线终端30具有一个抖动缓存器40,如在下文中描述的其具有多个重放指针。
在图2A中说明了通用有代表性的无线终端30的典型构成部件和功能。该通用有代表性的无线终端30包括天线50,其连接到发射机/接收机52。该发射机/接收机52经由硬件接口54连接到协议栈56。由发射机/接收机52经空中接口31接收的媒体流的帧由协议栈56处理。该协议栈56通常包括与访问相关的协议、网际协议、传输协议和应用协议。在图2A中示出的特定典型协议栈56碰巧包括与访问相关的协议58、网际协议60、UDP协议62(作为传输协议)和实时协议(RTP)64(作为应用协议)。该协议栈56可以在其他的实施例中被不同地构成。
UDP(用户数据报协议)62是一种传输服务,其被提供给使用IP网络通信的软件应用(诸如,应用70)。该UDP传输服务在IP网络传输功能之上提供额外的功能。UDP传输服务对数据流端到端运行。该UDP协议62不包含在IP网络中的中间节点上,仅仅被包含在数据流发源和终止的节点上。
该实时协议(RTP)64是由应用70执行的。类似无线终端30的终端平台部分72的各种各样其他的功能(包括在协议栈56中的协议),该应用70优选地是由包括无线终端30的一个或多个处理器执行的。在一些示例性的实施例中,应用70和抖动缓存器40可以集成到终端平台72中。该应用70用来例如除去RTP头部,并且将帧和该帧的时间戳传送给抖动缓存器40。执行这样功能的应用的例子是网络音频会议工具、网络视频会议工具、IP电话工具和分组交换流传输工具。
该无线终端30的终端平台部分72包括抖动缓存器40,其在缓存管理器80的控制之下操作。该抖动缓存器40优选地是以软件(例如,通过由包括无线终端30的一个或多个处理器执行的指令)实现的,并且当在终端平台部分72上运行的时候使用分配给应用70的硬件存储器。在缓存管理器80的控制之下,抖动缓存器40以在媒体传送的过程中平滑间断的方式存储媒体流的数据,从而优选地对语音解码器82馈送连续的数据流。此外,在缓存管理器80的控制之下操作的抖动缓存器40执行分组的重新排序(如果需要的话),并且通过使用帧的时间戳除去或者丢弃复制的帧。
除了在此处描述的多个重放指针特征之外,该抖动缓存器40可以选择性地具有其他的性能或者特性,诸如自适应的,例如按照在其上接收媒体流的信道的一个或多个特性调整其深度。可以使用如输入给抖动缓存器40或者输入给缓存管理器80的服务知识以帮助某些任务,诸如确定应该以多少分组填充抖动缓存器40以保证来自抖动缓存器40连续的数据流。
无线终端30的终端平台部分72还可以包括采样缓存器86,其连接在语音解码器82和数字-模拟转换器(DAC)88之间。在一个示例性的实施例中,采样缓存器86可以缓存在语音解码器82和数字-模拟转换器(DAC)88之间的8kHz音频带宽的至少一百六十个语音采样,并且甚至可以是更大的,以便保持几毫秒额外的语音。对于VoIP,该采样缓存器86可以是大约480个采样,并且对于PoC,该采样缓存器86可以是高于1000个采样(160个采样=20毫秒)。该数字-模拟转换器(DAC)88被连接到一个(或多个)媒体重放设备90,诸如扬声器或者耳机(或许例如经由放大器)。
图1B说明了作为第二个示例环境的有线线路网络,在该环境中可以应用本发明。第二个示例性的系统包括网络节点10B,其包括媒体流源或者媒体流服务器18B。该网络节点10B经有线通信链路32B被连接到终端30B。
如图2B所示,图1B示例性环境的终端30B类似于具有各种各样例外情况的图2A的无线终端30。作为例外情况的例子,用作到网络节点10B接口的有线通信链路32B连接到终端30B的硬件接口54B。此外,终端30B的终端平台72B包括协议栈56B。终端30B的协议栈56B可以具有一个或多个协议,其不同于在图2A中说明的协议栈。例如,图2B的协议栈56B可以通过具有一组不同的与访问相关的协议58B而不同。对于该终端是由有线网连接的情况,当有线网包括以太网(IEEE802.3)的时候,与访问相关的协议58B可以是例如“MAC_client(802特定的)/MAC(802.3特定的)/Physical_layer(物理层)”。在其他方面,终端30B的其余部件及其操作基本上类似于终端30a相同编号的部件,包括抖动缓存器40。
在其他的实施例中,无论无线或者有线线路连接,该协议栈可以例如,取决于特定访问技术(例如,GSM/GPRS、WCDMA、以太网等等)的特性具有不同的组成。例如,对于GSM/GPRS系统,用于该终端的协议栈本质上将与图2A的协议栈是相同的,但是与访问相关的协议58是“GSM_RF(物理层)/MAC/RLC/SNDCP”。作为一个侧面,所属技术领域的专业人员将明白,通常采用各种各样额外的技术来获得对移动终端有用的网际协议,诸如在SIP中压缩P报头等等。
因为很明显,该终端可以采用或者无线或者有线线路形式,所以该终端可以是任何种类的设备或者器件,诸如配备有实时应用程序,诸如微软网络会议系统、一键通客户等等的移动电话、移动膝上型电脑、传呼机、个人数字助理或者其他类似的移动设备,SIP电话、固定的计算机和膝上型电脑,也将是明显的。
图3、图3A和图3B说明抖动缓存器40的多个重放指针方面,和由缓存管理器80在控制抖动缓存器40的过程中,并且尤其在控制多个重放指针的过程中执行的某些逻辑。在下文中,除了特别地或者作为环境之外,该抖动缓存器40及其操作的描述适用于或者无线终端30(图2A的终端和图1A的环境))或者有线线路终端30B(图2B的终端和图1B的环境)。在图3中示出的缓存管理器80的特定实施例包括重放控制功能100和重放指针选择器112。
图3进一步示出具有二个重放指针,即重放指针1和重放指针2的抖动缓存器40。应该理解,本发明涉及多个重放指针,并且为了方便起见,在图3中仅仅说明两个重放指针。但是,所属技术领域的专业人员将不难理解,可以提供两个或更多个重放指针,并且如在此处描述的那样操作。
缓存管理器80具有用于每个重放指针的定位器功能。尤其是,对于重放指针1,该缓存管理器80包括重放指针1定位器功能121,和对于重放指针2,该缓存管理器80包括重放指针2定位器功能122。无论哪个重放指针目前被选择是有效的时,相应的重放指针定位器功能指向、保持跟踪,或者表示在抖动缓存器40中的位置,从该位置媒体流将被检索、读取或者再现。
在抖动缓存器40中,从其该媒体流将被检索的位置可以例如根据时间、字节或者帧数目表示。在包括该终端平台的计算机/终端或者处理器中,存在一个存储器指针,其指向缓存器以及重放指针的开端或者开始。该重放指针指向从该缓存器的开端的某些字节。因此,当数据填充抖动缓存器40到由重放指针表示的位置的时候,上述的触发器除去和发送从抖动缓存器40到语音解码器82的数据。
作为一个任选特性,一个或多个,并且优选地是两个重放指针都是可调节的,以在不同的时间在抖动缓存器40中指向不同的位置。这个可调节性在图3中通过用于重放指针1的箭头131和用于重放指针2的箭头132说明,其示出重放指针沿着抖动缓存器40移动的性能。鉴于这个可调节性特征,该重放指针可以基于各种各样的更新因素被更新,如由一个(或多个)更新因素输入140说明的。在所说明的典型实施例中,多个重放指针中的至少一个的更新可以是以下的至少一个函数(1)传输延迟的经历路径的估算间隔;(2)媒体类型;(3)媒体类型的组合;(4)服务组合。可以使用更新因素的任何一个或者任何组合,或者其他可以证明与重放指针位置有密切关系的因素。鉴于这个重放指针更新的可选择性质或者可调节性特征,该更新因素是由作为对重放指针1定位器功能121和重放指针2定位器功能122输入的点线示出的。虽然在图3中示出更新因素从相同框块140中发出,应该理解的是,输入给重放指针1定位器功能121的该重放指针更新因素可以不同于输入给重放指针2定位器功能122的重放指针更新因素。
图3还说明了三个阈值。阈值A是用于最小化抖动缓存器重放指针设置,例如系统/服务默认的阈值。在这个例子中,这是重放指针1和重放指针2可以具有的最小值。阈值B是重放指针1的最大值,并且因此当使用一个专用信道的时候,该阈值可以是(例如)用于最大化抖动缓存器重放指针的阈值。阈值C是用于重放指针2的最大可能值,例如系统/服务默认的阈值。
图3进一步说明了二个间隔。间隔A是重放指针1可以改变的间隔。间隔B是重放指针2可以改变的间隔。
重放指针1和重放指针2的哪一个在任何给定时刻上是有效的是由重放指针选择器112确定的。因此,该缓存管理器80的重放指针选择器112在多个重放指针(例如,重放指针1、重放指针2和任何其他的重放指针)之间进行选择,以确定一个有效的重放指针,从该有效的重放指针中包括该媒体流的数据被从该抖动缓存器40中放出。在一个示例性的实施例中,该缓存管理器80的重放指针选择器112在多个重放指针之间进行选择作为以下一个或多个的函数(a)第2层交互作用;(b)媒体类型;(c)媒体设置;(d)服务类型;(e)时间。这些重放指针选择器因素在图3中被示出为从选择器因素方框150输入给重放指针选择器112。
在操作中,媒体流的帧是经由协议栈56接收和传送的。对于图1A的无线终端,该媒体流的帧是由发射机/接收机52的接收机部分经空中接口30接收的,并且经由硬件接口54发送给协议栈56。对于图1B的有线线路终端30B,该媒体流的帧是由硬件接口54B经有线链路18B接收的,并且应用于协议栈56B。该应用70用来例如除去RTP头部,并且将帧和该帧的时间戳传送给抖动缓存器40。该抖动缓存器40具有多个重放指针,诸如在图3中示出的重放指针1和重放指针2。
当诸如语音解码器82(其是由抖动缓存器40馈送的)的设备准备用于来自该媒体流的另一个数据的时候,缓存管理器80的重放控制功能100接收如由在图3中的重放提示箭头160表示的重放提示。然后该重放控制功能100在抖动缓存器40中取得、读取或者再现该媒体流的数据到一个位置,该位置是由作为有效重放指针的那个重放指针所表示的。该重放指针选择器112确定多个重放指针的哪一个是有效的重放指针,例如,或者重放指针1或者重放指针2。由重放指针选择器112作出的该确定是基于指针选择因素,诸如作为输入150示出的一个或多个因素。
然后来自该媒体流的数据从由该有效重放指针表示的位置再现。如果该重放指针选择器112确定重放指针1是有效重放指针,那么,从由重放指针1表示的位置中获得的数据被从抖动缓存器40读出,并且作为施加于下一个设备(例如,语音解码器82)的再现数据使用,如由在图3A中的双点划线161描述的。另一方面,如果该重放指针选择器112确定重放指针2是有效重放指针,那么,从由重放指针2表示的位置中获得的数据被从抖动缓存器40读出,并且作为施加于下一个设备的再现数据使用,如由在图3B中的双点划线162描述的。图3A和图3B未必意味着说明了数据行进的准确路径,而是按照一个有效重放指针的选择,选择性地从抖动缓存器40读出或者再现数据。
在一个示例性的实施例中,其中媒体是在不同的时间经专用信道和公共信道获得的。在上述的示例性实施例中,重放指针1可以是供专用信道使用的重放指针。在这个实施例的一个示例性版本中,该重放指针1可以在考虑到该抖动的通话脉冲期间由来自估算的抖动的输入设置。这可以通过监视抵达时间和RTP时间戳来完成。另一方面,在上述示例性的实施例中,该重放指针2可以是供公共信道使用的重放指针。在这个实施例的一个示例性版本中,该重放指针2可以由来自该信道切换的估算的输入设置。该估算可以当可以预料信道切换(参见图3的阈值B)的时候通过及时监视低频干扰来完成。
如上所述,通过监视抵达时间和RTP时间戳,该重放指针1可以在考虑到该抖动的通话脉冲期间由来自该估算抖动的输入设置。该RTP协议具有使用“采样”时钟的RTP时间戳。如果160个采样被发送,那么该RTP时间戳字段被增加160。例如,第一个分组具有时间戳160,第二个分组具有时间戳320,第三个分组具有时间戳480等等。由于巳知的采样频率,这些时间戳对应于20毫秒、40毫秒、60毫秒等等。同时,在该终端平台中的一个时钟可以测量该分组抵达的时间。该终端平台时钟可能对于第一个分组读取(例如)一个小时四分钟400毫秒;对于第二个分组读取一个小时四分钟423毫秒;对于第三个分组读取一个小时四分钟445毫秒等等,因此当接收第一个分组的时候,端到端延迟可以被认为是[(一个小时四分钟400毫秒)-20毫秒]=一个小时四分钟380毫秒。对于所有的分组进行类似的计算,并且减去一个小时四分钟380毫秒剩余0毫秒,3毫秒,5毫秒,这是该抖动缓存器40应该提供保护的抖动。
因此,该抖动缓存器40借助于如上概述的保持和操作的多个重放指针解决许多的问题,包括先前讨论的三个问题情形。第一个问题情形的解决方案是通过在具有PS-RAB的WCDMA上的音频对话(VoIP)举例说明的。如果当开始发送媒体的时候无线终端30预占的无线电信道是CELL_FACH(参见图4),该RTP传输将在公共信道上开始,然后切换到专用信道(CELL_DCH)。这个信道切换(例如,从公共信道到专用信道的切换)占用某个时间量,在该期间媒体传送被停止。因此,该重放指针需要被设置相当高,由于这个原因,图3的重放指针2可用于避免在重放的音频中的间隙。
如果当媒体传送开始的时候无线终端30驻留在专用信道上,则信道切换不需要时间耗费。因此,该重放指针可以被设置低,即,通过利用在图3中的重放指针1。可以使用重放指针1的理由是,在专用信道中的“自然”抖动将比由信道切换产生的抖动低得多。因此,如果使用重放指针2,那么,端到端音频延迟变为不必要的长。
在这个例子中,选择使用哪个重放指针可以通过计算自上次的媒体传送以后的时间进行。对此的理由是,在上次的媒体传输之后,执行信道切换(返回到公共信道)某个时间量tdownswitch。因此,通过跟踪在上次传输之后的时间tlast_media,选择哪个重放指针是有效重放指针的算法或逻辑是通过以下策略1反映的策略1如果tlast_media<tdownswitch,使用重放指针1如果tlast_media>tdownswitch,使用重放指针2如在此处使用的,tlast_media是在两个连续分组传输的可比性参考点(例如,起点或者终点)之间逝去的时间。例如,当第一个分组被发送或者接收的时候,参考系统时钟指示第一时钟时间。随后,当下一个或者第二个分组被发送或者接收的时候,参考该系统时钟指示第二时钟时间。在这二个测量之间的差值(例如,在第一时钟时间和第二时钟时间之间的差值)是tlast_media的值。因此,在相应的连续传输期间,tlast_media wmay的值对于语音来说可能是大约20毫秒。但是,在通话脉冲停止之后,在新的通话脉冲开始之前其可能是一会儿,结果是tlast_media wmay的值可能是大约10秒。另一方面,该数值tdownswitch是一个阈值。在UMTS的无线电层中,例如,存在一个控制信道切换的定时器。在经UMTS的PoC中寻找的是获得这个供作为tdownswitch的值之用的定时器值。如果当发送下一个数据分组的时候这个UMTS无线电层定时器没有期满,将没有信道切换,并且传送时间变化是相当短的,其隐含仅仅需要小的抖动缓存器。但是,如果该UMTS无线电层定时器已经期满,通话脉冲将触发信道切换,这意味着是在语音方面中断。该UMTS无线电层定时器期满的情形需要更加大规模的缓存。该tdownswitch阈值可以被预先配置、用信号通知或者测量。例如,该远程终端可以被预先配置,使得该tdownswitch阈值被设置为1秒。因此,在如上所述的两种情况的第一个中,当通话脉冲的时候,用于20毫秒的tlast_media小于1秒的tdownswitch阈值,重放指针1被使用。在如上所述的两种情况的第二个中,10秒大于1秒的tdownswitch阈值,使得重放指针2被使用。
作为一个变异,有可能以到无线电的第2层接口替换时间的测量。第2层信息在该无线电信令中交换。在某些实施例中,该tdownswitch定时器值可以用信号通知该远程终端(例如,经空中接口)。在其他的实施例中,该tdownswitch的值必须被测量或者预先配置。
具有其多个重放指针的抖动缓存器40还解决了先前讨论的第二个问题情形。回想一下,在第二个问题情形中,该SDP参数“ptime”(分组时间)描述在IP分组中该媒体重放将花费的时间量,并且在ptime参数中的变化可能影响媒体接收的频率以及媒体的数量。该ptime参数是SDP协议的一部分,其在该服务的对话建立期间在SIP消息中被发送。在这个第二个问题情形中,当ptime的值是较低的数字(诸如,20)的时候,重放指针1可以被作为有效重放指针使用。另一方面,当ptime的值是较高的数字(诸如,160)的时候,重放指针2可以被作为有效重放指针使用。在此情况下,选择重放指针的算法或逻辑是通过策略2反映的策略2如果ptime=低(例如,20),使用重放指针1如果ptime=高(例如,160),使用重放指针2具有其多个重放指针的抖动缓存器40还解决了先前讨论的第三个问题情形。回想一下,在第三个问题情形中,第一种类型的媒体(例如,音频或者语音)正在被接收,然后另一种类型的媒体(例如,视频)也被接收,并且视频典型地比语音需要更长的缓存时间。当仅仅音频正在被接收的时候,可以使用该重放指针1,而当音频与例如视频结合的时候,重放指针2可以被用于该音频缓存器。选择哪一个重放指针是有效重放指针的算法或逻辑是通过以下策略3反映的策略3如果仅仅音频,使用重放指针1如果音频+视频,使用重放指针2如以上解释和说明的,每个重放指针可以使用一个或者几个输入参数被连续地估算和更新。所提及的一个重放指针的连续更新可以始终被执行,或者只有当接收媒体时,或者只有当媒体缓存器使用特定的重放指针正在操作时执行。
用于估算重放点的输入参数可以是传输延迟的经历路径的估算间隔,媒体类型和/或媒体类型的组合,服务组合,诸如VoIP和存在(Presence)和与在该终端中的较低无线电特定层的相互作用。
该重放指针选择器112选择在每个时间点上使用哪一个重放点。这样做时,重放指针选择器112可以使用一个也取决于几个输入参数的算法。这些输入参数例如可以是第2层交互作用、媒体类型、媒体设置(例如,ptime)、业务类型和时间。
如上所述的结构和操作改善了端到端(E2E)内容传送性能。由于传送的媒体路径不是静态的,并且普通的自适应抖动缓存器解决方案既不能捕捉急剧的变化,又不能将重放/再现点设置为一个略述点。后者将会不必要的降低了决定性的(尤其对于PoC)E2E经历的内容传送时间。
虽然已经结合目前设想是最实际并且优选的实施例描述了本发明,应该理解,本发明不局限于公开的实施例,而是相反地,意图是覆盖包括在所附权利要求的精神和范围之内的各种各样的修改和等效方案。
权利要求
1.一种终端(30),其以媒体流的形式接收传输,该终端包括抖动缓存器(40),该抖动缓存器(40)接收包括媒体流的数据,并且其特征在于缓存管理器(80),其在多个重放指针之间进行选择以作为一个有效重放指针,包括该媒体流的数据从该有效重放指针处从该抖动缓存器(40)中放出。
2.根据权利要求1的终端,其中缓存管理器(80)更新多个重放指针的至少一个。
3.根据权利要求1的终端,其中缓存管理器(80)进行选择以作为以下一个或多个的函数(a)第2层交互作用;(b)媒体类型;(c)媒体设置;(d)服务类型;(e)时间。
4.根据权利要求1的终端,其中媒体流是由终端在不同的时间上经不同信道类型的信道获得的,并且其中缓存管理器(80)基于携带媒体流的信道的信道类型,在多个重放指针之间进行选择以作为有效重放指针。
5.根据权利要求4的终端,其中该终端是无线终端,并且其中当媒体流是经专用信道获得的时候,缓存管理器(80)使用多个重放指针的第一个用于放出媒体流,以及当媒体流是经公共信道获得的时候,使用多个重放指针的第二个用于放出媒体流。
6.根据权利要求8的终端,其中缓存管理器(80)以以下方式设置重放指针的第一个(1)在考虑到该抖动的通话脉冲期间由来自估算的抖动的输入,或者(2)使用抵达时间和媒体流的帧的RTP时间戳;和其中缓存管理器(80)使用信道切换的估算设置该重放指针的第二个。
7.根据权利要求5的终端,其中缓存管理器(80)通过计算自上次媒体传送以来的时间,在多个重放指针的第一个和多个重放指针的第二个之间选择。
8.根据权利要求7的终端,其中如果tlast_media<tdownswitch,则该缓存管理器(80)使用多个重放指针的第一个,或者如果tlast_media>tdownswitch,则使用多个重放指针的第二个,其中tdownswitch是信道切换阈值,并且tlast_media是在两个连续分组传输的可比性参考点之间逝去的时间。
9.根据权利要求1的终端,其中缓存管理器(80)进行关于重放媒体流的分组将花费的时间量的确定,并且基于该确定在多个重放指针之间进行选择。
10.根据权利要求9的终端,其中缓存管理器(80)通过从媒体流获得参数进行该确定,并且其中该参数优选地是对话描述协议(SDP)的ptime参数。
11.根据权利要求10的终端,其中当ptime参数具有第一个值的时候,缓存管理器(80)使用多个重放指针的第一个用于放出媒体流,并且当ptime参数具有第二个值的时候,使用多个重放指针的第二个用于放出媒体流,并且其中第一个值优选地是20,并且第二个值优选地是160。
12.根据权利要求10的终端,其中当该参数具有低值的时候,缓存管理器(80)使用多个重放指针的第一个用于放出媒体流,并且当该参数具有高值的时候,使用多个重放指针的第二个用于放出媒体流。
13.根据权利要求1的终端,其中缓存管理器(80)进行关于多种类型的媒体是否被包括在媒体流中的确定,并且基于该确定在多个重放指针之间进行选择。
14.根据权利要求13的终端,其中当仅仅一种类型的媒体被包括在媒体流中的时候,缓存管理器(80)使用多个重放指针的第一个用于放出媒体流,并且当多于一种类型的媒体被包括在媒体流中的时候,使用多个重放指针的第二个用于放出媒体流。
15.根据权利要求1的终端,其中该终端是通过无线电接口(32)接收媒体流的无线终端。
16.根据权利要求1的终端,其中该终端是有线线路终端。
17.一种操作终端的方法,包括以媒体流的形式接收传输,并且在抖动缓存器(40)中存储包括媒体流的数据,该方法其特征在于在多个重放指针之间进行选择以作为有效重放指针,包括该媒体流的数据从该有效重放指针处从该抖动缓存器(40)中放出;在有效重放指针上从抖动缓存器(40)中读出包括该媒体流的数据。
18.根据权利要求17的方法,进一步包括更新多个重放指针的至少一个。
19.根据权利要求17的方法,进一步包括进行该选择,以作为以下一个或多个的函数(a)第2层交互作用;(b)媒体类型;(c)媒体设置;(d)服务类型;(e)时间。
20.根据权利要求17的方法,进一步包括由该终端在不同的时间上经专用信道和公共信道获得该媒体流;当媒体流是经专用信道获得的时候,使用多个重放指针的第一个用于放出该媒体流;当媒体流是经公共信道获得的时候,使用多个重放指针的第二个用于放出该媒体流。
21.根据权利要求20的方法,进一步包括以以下方式设置重放指针的第一个(1)在考虑到该抖动的通话脉冲期间由来自估算的抖动的输入;或者(2)使用抵达时间和媒体流的帧的RTP时间戳;和进一步包括使用信道切换的估算设置重放指针的第二个。
22.根据权利要求20的方法,进一步包括通过计算自上次媒体传送以来的时间,在多个重放指针的第一个和多个重放指针的第二个之间选择。
23.根据权利要求22的方法,进一步包括如果tlast_media<tdownswitch,则使用多个重放指针的第一个,或者如果tlast_media>tdownswitch,则使用多个重放指针的第二个,其中tdownswitch是信道切换阈值,并且tlast_media是在两个连续分组传输的可比性参考点之间逝去的时间。
24.根据权利要求17的方法,进一步包括进行关于重放该媒体流的分组将会花费的时间量的确定;基于该确定在多个重放指针之间进行该选择。
25.根据权利要求24的方法,进一步包括通过从媒体流获得参数来进行该确定;和其中该参数优选地是对话描述协议(SDP)的ptime参数。
26.根据权利要求25的方法,进一步包括当ptime参数具有第一个值的时候,使用多个重放指针的第一个用于放出媒体流;当ptime参数具有第二个值的时候,使用多个重放指针的第二个用于放出媒体流;并且其中第一个值优选地是20,并且第二个值优选地是160。
27.根据权利要求25的方法,进一步包括当该参数具有低值的时候,使用多个重放指针的第一个用于放出媒体流;当该参数具有高值的时候,使用多个重放指针的第二个用于放出媒体流。
28.根据权利要求17的方法,进一步包括进行关于多种类型的媒体是否被包括在媒体流中的确定;基于该确定在多个重放指针之间进行该选择。
29.根据权利要求28的方法,进一步包括当仅仅一种类型的媒体被包括在媒体流中的时候,使用多个重放指针的第一个用于放出媒体流;当多于一种类型的媒体被包括在媒体流中的时候,使用多个重放指针的第二个用于放出媒体流。
30.根据权利要求17的方法,其中该终端是通过无线电接口(32)接收媒体流的无线终端。
31.根据权利要求17的方法,其中该终端是有线线路终端。
全文摘要
终端(30,30B)以媒体流的形式接收传输。该终端包括抖动缓存器(40)和缓存管理器(80),该抖动缓存器(40)接收包括媒体流的数据。该缓存管理器(80)在多个重放指针之间进行选择以作为一个有效重放指针,包括该媒体流的数据从该有效重放指针处从该抖动缓存器中放出。在一个示例性实施例中,该缓存管理器(80)更新多个重放指针中的至少一个。更新该多个重放指针中的最少一个的方式和时间可以以任何各种各样的方法发生。该终端(30,30B)可以采用不同的形式,并且可以是(例如)通过无线电接口接收媒体流的无线终端,或者可以是有线线路终端。
文档编号H04L1/18GK101048990SQ200580037051
公开日2007年10月3日 申请日期2005年10月18日 优先权日2004年10月27日
发明者P·辛纳格伦, H·汉努 申请人:艾利森电话股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1