实时无线业务的信道编码的制作方法

文档序号:13909870阅读:225来源:国知局
实时无线业务的信道编码的制作方法

相关申请的交叉引用

本专利申请要求于2015年6月29日提交的序列号为14/754,147的美国实用专利申请的优先权。序列号为14/754,147的申请通过引用全部并入本文。



背景技术:

现代电信系统包括第二代、第三代和第四代(2g、3g和4g)蜂窝无线接入技术的异构混合,其可以是交叉兼容的并且可以共同操作以提供数据通信服务。全球移动通信系统(gsm)是2g电信技术的示例;通用移动通信系统(umts)是3g电信技术的示例;而长期演进(lte),包括lte升级版和演进高速分组接入(hspa+)是4g电信技术的示例。

构成现代电信网络的基础设施包括多个不同组件或设备,其被配置为发送、接收、中继和/或路由数据包,使得数据服务可以被用户设备(ue)请求并提供给用户设备(ue),该用户设备(ue)订购由实现电信网络的一个或更多服务提供商或网络通信提供商提供的计划。

一些ue可以被配置为连接到wi-fi网络以发送或接收无线数据。然而,由于wi-fi网络未被配置用于实时无线业务(例如,实时音频和/或视频),所以使用wi-fi网络可能降低ue处的网络的服务质量(qos)和/或最终用户的用户体验质量(qoe)。相反,网络和ue可能经历不可接受的延迟、数据通信瓶颈、网络拥塞、数据传输过载等,使得实时通信不现实。

附图说明

具体实施方式参照附图进行阐述。在这些附图中,参考标号最左边的数字表示参考标号首次出现的附图。在不同的附图中使用相同的参考标号表示相似或相同的项目或特征。

图1示出了根据本公开的实施例的示例环境,其中用户设备(ue)可以使用多个接入点连接到网络。

图2a示出了根据本公开的实施例的用于在计划传输环境中进行数据包传输的示例时序图。

图2b示出了根据本公开的实施例的在机会传输环境中进行数据包传输的示例时序图。

图3示出了根据本公开的实施例的被配置为提供网络性能度量的示例远程服务设备。

图4示出了根据本公开的实施例的被配置为实现实时无线业务的信道编码的示例通信设备。

图5示出了根据本公开的实施例的用于确定信道编码和发送数据的示例过程。

图6示出了根据本公开的实施例的用于发送信道编码数据的示例过程。

图7示出了根据本公开的实施例的用于确定性能度量和信道编码以及接收信道编码数据的示例过程。

具体实施方式

本文描述的技术为服务提供商和/或网络提供商提供了通过wi-fi网络优化实时语音或视频通信的服务质量(qos)和/或用户体验质量(qoe)的机会。

在各种实施例中,用户设备(ue)被配置为经由多种类型的接入点以及经由多种通信协议来选择性地与网络进行通信。当蜂窝网络存在时,ue可以通过蜂窝网络进行通信。蜂窝网络可以通过计划去往和来自ue和蜂窝网络的数据传输来提供实时语音或视频数据传输。然而,当蜂窝网络和wi-fi网络可用时,或者只有wi-fi网络可用时,ue可以通过wi-fi网络提供通信。在一些实施例中,wi-fi网络数据交换可以被描述为以机会方式进行操作,也就是说,不提供计划来保证以规则的间隔、以常规的速率或者以规则的吞吐量进行数据交换。换句话说,在wi-fi网络中运行的ue(例如,设备)可以仅在给定机会时才发送,而不是根据发送时间表来发送。当在拥塞的wi-fi网络中操作时,ue可以使用信道编码来以机会方式对正在发送的数据包进行编码。

在一些实施例中,本文描述的技术包括接收信道和/或时隙以发送数据,收集要发送的数据包,将信道编码应用于数据包,并在信道和/或时隙中发送数据包。在一些实施例中,信道编码允许发送比实时通信严格所需的更多数据,和/或提供数据包传输中的冗余数据。因此,当不能定期调度数据,当丢失数据包或当数据包延迟时,信道编码可允许实时通信在机会网络中继续。

本文描述的技术和系统可以以多种方式来实现。下面参考后面的附图提供示例的实现方式。

图1示出了根据本公开的实施例的示例环境100,其中用户设备(ue)可以使用多个接入点连接到网络。环境100可以包括通信设备102、基站104、接入点106、一个或更多网络108、包括性能度量模块112和信道编码模块114的一个或更多远程服务设备110,以及一个或更多各种通信设备116。在一些实施方式中,基站104、接入点106、一个或更多网络108和一个或更多远程服务设备110可以统称为移动电信网络(mtn)。

如上所述,通信设备102可以被称为ue,并且可以是能够与其他远程设备进行无线通信的任何种类的设备。因此,通信设备102可以包括但不限于智能电话、移动电话、手机、平板电脑、便携式电脑、膝上型电脑、个人数字助理(pda)、电子书设备或任何其他可以通过一个或更多网络108产生、请求、接收、发送或交换语音、视频和/或数字数据的便携式电子设备。一个或更多通信设备116也可以被称为ue,并且可以是能够与其他远程设备进行有线或无线通信的任何种类的设备,并且可以包括但不限于智能电话、移动电话、手机、平板电脑、便携式电脑、膝上型电脑、个人数字助理(pda)、电子书设备或可以通过一个或更多网络108生成、请求、接收、发送或交换语音、视频和/或数字数据的任何其他电子设备。一个或更多通信设备116还可以包括,但不限于有线或无线设备,诸如可以发送和/或接收模拟语音通信的传统电话。在各种实施例中,通信设备102可以是发送设备,并且通信设备116可以是接收设备,反之亦然。

网络108可以包括被配置为实现上面讨论的第二、第三和第四代(2g、3g和4g)蜂窝无线接入技术中的一个或更多的mtn。因此,mtn可以实现gsm、umts和/或lte/lte升级版电信技术。gsm、umts、lte、lte升级版和/或hspa+电信技术中的基站104、接入点106和一个或更多远程服务设备110可以包括但不限于以下的组合:基站收发器bts(例如nodeb、增强型nodeb),无线网络控制器(rnc),服务gprs支持节点(sgsn),网关gprs支持节点(ggsn),代理,移动交换中心(msc),移动性管理实体(mme),服务网关(sgw),分组数据网络(pdn)网关(pgw),演进的分组数据网关(e-pdg)或任何其他被配置为在通信设备102和一个或更多通信设备116之间通信、转换和/或路由数据包的数据业务控制实体。网络组件可以配置有硬件和软件,以提供指示网络的qos和/或qoe的网络性能度量和/或基于网络性能度量提供信道编码反馈,以便提供实时通信。尽管图1示出了基站104、接入点106、一个或更多网络108和一个或更多远程服务设备110,但是在本公开的上下文中理解的是,本文所讨论的技术还可以以其他联网技术来实现,诸如作为广域网(wan)、城域网(man)、局域网(lan)、邻域网(nan)、个域网(pan)等的一部分的节点。

在一些实施例中,基站104可以包括蜂窝基站,一个或更多网络108可以包括诸如因特网之类的网络,接入点106可以包括wi-fi基站(例如,使用诸如802.11a/b/g/n等的wi-fi标准),并且在一些实施例中,一个或更多远程服务设备110可以包括演进的分组网关(e-pdg)。

在各种实施例中,通信设备102可以被配置为经由基站104和/或接入点106选择性地提供语音、视频和/或数据服务。例如,当仅基站或者接入点之一(例如,基站104或接入点106)可用于通信设备102时,通信设备102可以与可用基站或接入点通信。然而,当多个基站104和/或接入点106可用于通信设备102时,通信设备102可以基于基站或接入点优先级、订阅计划、用户偏好、由每个接入点提供的对qoe或qos的确定、通信设备模式等来选择基站104或接入点106。

本文中讨论的数据服务和数据访问应用程序可以包括但不限于网页浏览、视频流、视频会议、网络游戏、社交媒体应用程序或通信设备102上的任何应用程序或设置,其被配置为生成数据并通过网络108与一个或更多通信设备116或其他数据服务器交换数据。

在一些实施例中,例如,一个或更多远程服务设备110的性能度量模块112可以监视一个或更多网络108,以便确定通信设备102的qos和/或qoe。在各种实施例中,性能度量模块112可以监视网络性能度量,例如丢包,包延迟或包延迟抖动。在一些实施例中,丢包可能是由于拥塞和/或比特错误。在一些实施例中,包延迟可以包括从发送方到(最终)接收方的端到端延迟,而在一些实施例中,包延迟可以包括往返延迟。在一些实施例中,包延迟抖动可以包括在预期的到达时间内包的延迟的变化。

在一些实施例中,性能度量模块112可以确定每个组件和/或网络操作的允许的时间延迟,以便确保通信设备102和一个或更多通信设备116之间的实时通信。例如,为了使用户将通信感知为实时通信,针对数据包的传输点(例如,一个或更多通信设备102)和接收点(例如,一个或更多通信设备116)之间的最大延迟可以是500毫秒(ms)。例如,如果语音包的总延迟高于500ms,则用户可能不会感知到实时通信,而是可能感知到通信中的显著延迟,类似于例如通过对讲机的通信。因此,为了从发送点向接收点发送信息包,可容许的总延迟量可以在100-200ms之间。

在一些实施例中,可以根据关键性能指标来测量qos和/或qoe,所述关键性能指标包括但不限于网页加载时间、域名系统(dns)查找时间、传输控制协议(tcp)连接时间、tcp往返时间(rtt)、超文本传输协议(http)响应时间、应用程序开始时间、搜索延迟、视频开始延迟、快进和快退延迟、缓冲事件的数量、每个缓冲事件的持续时间、再缓冲率、视频帧率、平均/最小/最大比特率、业务突发性、传输的数据字节数、tcp重传和tcp重置、物理重传、物理rtt等。上面提供的指标是作为示例给出的,因此,所列并不是穷尽的。相反,服务提供商和/或网络提供商可以考虑大量不同的指标,这些指标有助于测量与所提供的数据服务相关的qos和qoe。

性能度量模块112可以通过测量网络中的包的包特性来监视连接到一个或更多网络108的每个通信设备102或116的qos。例如,性能度量模块112可以测量从通信设备102发送到接入点106,通过一个或更多网络108和/或一个或更多远程服务设备110路由,以及发送到一个或更多通信设备116的包的网络性能度量。在一些实施例中,性能度量模块112可以通过从通信设备102或116接收直接的qos或qoe反馈来确定性能网络,而在一些实施例中,性能度量模块112可以确定独立于来自通信设备102或116的任何反馈的性能度量。在一些实施例中,性能度量模块112可以监测来自通信设备102的经由接入点106的上行链路传输,并且可以确定上行链路传输的性能度量并且将该性能度量作为反馈提供给通信设备102。

在一些实施例中,当从通信设备102向一个或更多通信设备116发送实时包(rtp)时,通信设备116可以将与rtp相关联的网络性能度量提供给性能度量模块112。在一些实施例中,性能度量模块112可以确定网络性能度量,而不需要来自一个或更多通信设备116和/或通信设备102的反馈。在各种实施例中,rtp可以指代与实时语音、视频或数字数据相关联的一个或更多数据包。

信道编码模块114可以响应于由性能度量模块112确定的网络性能度量来确定将被应用于由通信设备102发送的数据的信道编码,并且在一些实施例中,信道编码模块114可发送、指示、请求、建议或作为反馈提供所确定的信道编码算法,以由通信设备102用来发送rtp。在一些实施例中,信道编码算法可以包括但不限于turbo编码、具有迭代解码的turbo编码、chase组合、传输时间间隔(tti)绑定、卷积编码、速率匹配或低密度奇偶校验(ldpc)编码。在一些实施例中,信道编码模块114可以基于来自通信设备102或116的反馈来确定信道编码算法,而在一些实施例中,信道编码模块114可以独立于来自通信设备102或116的任何反馈来确定信道编码算法,并且可以替代地基于从通信设备102或116接收的通信数据来确定信道编码算法。

图2a示出了用于在计划的传输环境中进行数据包传输的示例时序图200,而图2b示出了根据本公开的实施例的用于在机会(即,非计划的(unscheduled))传输环境中进行数据包传输的示例时序图216。

图2a示出了根据通信设备202和基站204之间的传输的时序图200。通信设备202可以对应于图1的通信设备102,基站204可以对应于图1的基站104,并且可以指代蜂窝基站。时序图200包括例如时间轴206,其包括时间间隔t1、t2、t3和t4。时间间隔t1、t2、t3和t4的每一个表示通信设备202可以向基站204发送实时包(rtp)的时间帧。例如,t1和t2之间的时间间隔可以对应于20ms。时间间隔可以取决于通信设备202使用的特定编码器-解码器(编解码器)。

基站204可以通过在每个时间间隔t1、t2、t3和t4内计划(schedule)rtp的传输来与通信设备202进行通信。也就是说,基站204可以为通信设备202分配或者预留特定的信道和/或时隙,这可以允许通信设备202定期计划rtp传输,从而保证实时通信。例如,在时间间隔t1内发送rtp208,在时间间隔t2内发送rtp210,在时间间隔t3内发送rtp212,并且在时间间隔t4内发送rtp214。如图2a所示,rtp208、210、212和214可以在各自的时间间隔内的任何时间被发送。

在一些示例中,rtp208、210、212和214可以包括65.6字节的数据,并且可以使用自适应多速率宽带(amr-wb)编解码器以23.85kbps的比特率进行编码。如在本公开的上下文中可以理解的是,通信设备202可以使用任何编解码器或比特率。

图2b示出了根据通信设备238和接入点240之间的传输的时序图216。在各种实施例中,通信设备238可以对应于图2a的通信设备202和/或图1的通信设备102。在一些实施例中,接入点240可对应于图1的接入点106且可以指代wi-fi接入点。在一些实施例中,数据在通信设备238和接入点240之间以机会传输方式交换。

虽然时间轴236包括时间间隔t1、t2、t3和t4,但是这些时间间隔可以不指代由接入点240分配的时间帧,而是可以对应于时间轴206的时间间隔。也就是说,当通信设备需要传输rtp时,如果通信设备以计划的、实时的方式通信,则时间轴236的时间间隔可以对应于时间间隔。

然而,如上所讨论的,接入点240可以不是定期计划通信设备238发送数据的时间间隔,而是接入点240可以以机会为基础向通信设备238分配信道和/或时隙。当接入点240不拥塞时(即,少数通信设备连接到接入点240,或者接入点240的少量资源被预留),通信设备238可能有机会在每个时间间隔t1、t2、t3和t4内发送数据包。然而,随着接入点240变得拥塞(即,许多设备连接到接入点240和/或连接的设备正在利用接入点240的资源),通信设备238可能没有机会在每个时间间隔t1、t2、t3和t4内发送数据包。如图2b中所示的非限制性示例,通信设备238可以不在时间间隔t2和t4中发送数据包。在常规系统中,数据包的机会传输可能导致丢包、包延迟和/或延迟抖动,这可能导致降低的qos和/或qoe。

如图2b所示,通信设备238可以使用信道编码来生成信道编码的rtp218、220、222和224。在一些实施例中,通信设备238可以从接入点240接收信道和/或时隙,在其中发送数据包。通信设备238然后可以缓冲数据包(例如,包1、2、3和4)以形成rtp218。rtp218可以包括任何数量的包。接下来,通信设备238可以将rtp218发送到接入点240,并且随后,rtp218可以通过一个或更多网络108和/或一个或更多远程服务设备110路由到一个或更多通信设备116处的其目的地。

因为接入点240以机会方式操作,所以当接入点240拥塞时,在一些实施例中,接入点240在t1时间间隔的剩余时间期间和/或在随后的时间间隔t2和t3中可以不为通信设备238分配信道和/或时隙以供用于发送。然而,在一些实施例中,rtp218可以在特定的时间间隔内包括比实时通信所严格需要的更多的数据。在该示例中,因为rtp218可能已经缓冲了多个数据包(例如,包1、2、3和4),所以接入点240、一个或更多远程服务设备110或一个或更多通信设备116可以解码rtp218以便保持实时通信(例如,以便维持qos或qoe)。

在一些实施例中,rpt218可以不包括包1、2、3和4中的一些或全部的全部数据。例如,rtp226示出了数据包的信道编码的示例。如在图2b中所示,rtp226可以包括包228(包1)的全部数据,包230(包2)的三分之二,包232(包3)的三分之一(第一个三分之一)和包234(包4)的三分之一(最后三分之一)。rtp220、222和224可以以与rtp218类似的方式被编码。例如,rtp222可以被编码为rtp242,其可以包括包3的完整数据,包4的三分之二,包5的三分之一和包6的三分之一。以这种方式,信道编码算法可以发送部分包数据,使得如果特定包丢失,包可以被重建。

例如,考虑通信设备238发送rtp218、220和222的情况,rtp220可能不被接收(丢包),或者rtp220可以在rtp222之后被接收(包延迟)。如上所讨论的,通信设备238可以包括信道编码,使得rtp218和222可以分别被表示为rtp226和242。就包4而言,该包可以由接入点240、一个或更多远程服务设备110或一个或更多通信设备116基于作为rtp234接收的包4的最后三分之一和在rtp242中接收到的包4的第一个三分之一和中间三分之一以及由接入点240、一个或更多远程服务设备110或一个或更多通信设备116使用的编解码器来重建。以这种方式,尽管在机会的基础上进行发送,并且尽管经历了丢包、包延迟和/或包抖动,实时通信也可以被保持。

在一些实施例中,通信设备238使用的信道编码算法可以基于当前的、历史的或预期的网络性能度量来确定。在一些实施例中,信道编码算法可部分由从一个或更多通信设备116、一个或更多远程服务设备110和/或接入点240接收的网络性能度量来确定。在一些实施例中,信道编码算法基于要发送的数据包,和/或可以基于之前发送的数据包。例如,用于rtp242的信道编码可以取决于用于rtp226的信道编码,例如以在丢包、包延迟和/或延迟抖动的情况下最大化恢复数据的可能性。

图3示出了根据本公开的实施例的被配置为提供网络性能度量的示例性远程服务设备300。在一些实施例中,远程服务设备300可以对应于图1的一个或更多远程服务设备110或者接入点106。尽管远程服务设备300在图3中被表示为单个设备,但在本公开的上下文中将理解,远程服务设备300可以是具有分布在其中的模块和数据的多个设备。例如,性能度量模块304、信道编码模块306、编解码模块308和/或网络延迟模块310可以在一个或更多远程服务设备110的不同设备300上实现。在一些实施例中,性能度量模块304可以对应于图1的性能度量模块112。在一些实施例中,信道编码模块306可以对应于图1的信道编码模块114。

如图所示,远程服务设备300包括存储性能度量模块304、信道编码模块306、编解码模块308和网络延迟模块310的系统存储器302。另外,一个或更多远程服务设备300包括一个或更多处理器312、可移除存储314和不可移除存储316、一个或更多输入设备318、一个或更多输出设备320和一个或更多收发器322。

在各种实施例中,系统存储器302是易失性的(诸如ram)、非易失性的(诸如rom、闪存等)或这两者的一些组合。存储在系统存储器302中的性能度量模块304、信道编码模块306、编解码模块308和网络延迟模块310可以包括方法、线程、进程、应用程序或任何其他种类的可执行指令。性能度量模块304、信道编码模块306、编解码模块308和网络延迟模块310还可以包括文件和数据库。性能度量模块304和信道编码模块306的进一步描述结合上面图1的性能度量模块112和信道编码模块114提供。

当通信设备与基站104或204和/或接入点106或者240通信时,编解码模块308可以确定通信设备102、116、202和/或238要使用的一个或更多编解码器。在一些实施例中,部分地基于网络的当前、预期或历史qos和/或qoe来确定编解码器。在一些实施例中,部分地基于待发送或接收的数据的类型和/或数据的优先级(例如,语音、视频和/或数字数据)来确定编解码器。

网络延迟模块310可以分析设备和网络的组件和操作,以部分地贡献形成qos和qoe的准确和精确的评估。在一些实施例中,网络延迟模块310可以查询通信设备102、一个或更多通信设备116、基站104、接入点106和/或一个或更多网络108的各个方面,以确定实际的、预期的、历史的或平均的延迟。在一些实施例中,网络延迟模块310可以确定与特定传输路径或通信设备对相关联的容许延迟的阈值量。在一些实施例中,网络延迟模块310可以确定与单个操作相关联的延迟,诸如与通过接入点106将包从通信设备102发送到一个或更多远程服务设备110相关联的延迟。在一些实施例中,网络延迟模块310可以确定与操作相关联的延迟,诸如与从一个或更多远程服务设备110向一个或更多通信设备116发送包相关联的延迟。在一些实施例中,网络延迟模块310可以向设备主动查询延迟数据或者可以被动地接收延迟数据,并且在一些实施例中,网络延迟模块310可以估计延迟数据(例如,在一个或更多通信设备116是模拟的电话设备,不能提供反馈的情况下)。在一些情况下,可以将延迟数据推送到网络延迟模块310,或者在一些情况下,延迟数据可以从网络组件中提取。

在一些实施例中,一个或更多处理器312是中央处理单元(cpu)、图形处理单元(gpu)或cpu和gpu二者,或本领域已知的其他处理单元或组件。

远程服务设备300还包括附加数据存储设备(可移除的和/或不可移除的),例如磁盘、光盘或磁带。这种附加存储在图3中通过可移除存储314和不可移除存储316示出。有形的计算机可读介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质,所述信息诸如计算机可读指令、数据结构、程序模块或其他数据。系统存储器302、可移除存储314和不可移除存储316都是计算机可读存储介质的示例。计算机可读存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字多功能盘(dvd)、内容寻址存储器(cam)或其他光存储,磁带盒、磁带、磁盘存储或其他磁存储设备或可用于存储所需信息并可由远程服务设备300访问的任何其他介质。任何这样的有形的计算机可读介质可以是远程服务设备300的一部分。

远程服务设备300还可以包括一个或更多输入设备318,诸如键盘、光标控制器、触敏显示器、语音输入设备等,以及一个或更多输出设备320,诸如显示器、扬声器、打印机等。这些设备在本领域中是公知的,因此不需要在这里详细讨论。

如图3所示,远程服务设备300还包括一个或更多有线或无线收发器322。例如,一个或更多收发器322可以包括网络接口卡(nic)、网络适配器、lan适配器或者连接到一个或更多网络108或基站104或接入点106的物理的、虚拟的或逻辑的地址。为了在交换无线数据时增加吞吐量,收发器322可以使用多输入/多输出(mimo)技术。一个或更多收发器322可以包括能够参与无线射频(rf)通信的任何种类的无线收发器。收发器322还可以包括其他无线调制解调器,例如用于参与wi-fi、wimax、蓝牙或红外通信的调制解调器。

图4示出了根据本公开的实施例的被配置为实现实时无线业务的信道编码的示例通信设备400。在一些实施例中,通信设备400可以对应于图1的通信设备102或一个或更多通信设备116。如图所示,通信设备400包括存储性能度量模块404、信道编码模块406、编解码模块408和网络延迟模块410的系统存储器402。而且,通信设备400包括一个或更多处理器412、可移除存储414和不可移除存储416、一个或更多输入设备418、一个或更多输出设备420和一个或更多收发器422。在一些实施例中,通信设备可包括麦克风、照相机、gps、电子罗盘、热传感器、生物传感器、化学传感器、一个或更多加速度计、一个或更多陀螺仪、一个或更多压力传感器和/或光度计。

在各种实施例中,系统存储器402是易失性的(诸如ram)、非易失性的(诸如rom、闪存等)或这两者的一些组合。存储在系统存储器402中的性能度量模块404、信道编码模块406、编解码模块408和网络延迟模块410可以包括方法、线程、进程、应用程序或任何其他类型的可执行指令。性能度量模块404、信道编码模块406、编解码模块408和网络延迟模块410还可以包括文件和数据库。

在一些实施例中,性能度量模块404、信道编码模块406、编解码模块408和网络延迟模块410可对应于图3中的性能度量模块304、信道编码模块306、编解码模块308和网络延迟模块310。在一些实施例中,通信设备400中的模块操作可以与远程服务设备300中的模块操作并行地执行。在一些实施例中,各种模块可以用于检查由其他模块确定的处理。

在一些实施例中,性能度量模块404可以接收从远程服务设备300经由接入点106到远程服务设备300的上行链路传输的qos的反馈。在一些实施例中,性能度量模块404可以通过确定从远程服务设备300经由接入点106到通信设备400的下行链路传输的qos,来确定经由接入点106到达远程服务设备300的上行链路传输的qos。此外,信道编码模块406可以基于从远程服务设备300接收的反馈来确定信道编码算法,或者独立于从远程服务设备300接收的任何反馈来确定信道编码算法。

在一些实施例中,一个或更多处理器412是中央处理单元(cpu)、图形处理单元(gpu)或者cpu和gpu二者,或者本领域已知的其他处理单元或组件。

通信设备400还包括附加的数据存储设备(可移除的和/或不可移除的),诸如例如磁盘、光盘或磁带。这种附加的存储在图4中通过可移除存储414和不可移除存储416示出。有形的计算机可读介质可以包括以用于存储信息的以任何方法或技术实现的易失性和非易失性、可移除和不可移除的介质,所述信息诸如计算机可读指令、数据结构、程序模块或其他数据。系统存储器402、可移除存储414和不可移除存储416都是计算机可读存储介质的示例。计算机可读存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字多功能盘(dvd)或其他光存储,磁带盒、磁带、磁盘存储或其他磁存储设备或者可以用于存储期望的信息并且可以由通信设备400访问的任何其他介质。任何这样的有形的计算机可读介质可以是通信设备400的一部分。

通信设备400可以包括一个或更多输入设备418,诸如键盘、光标控制器、触敏显示器等。而且,通信设备400可以包括一个或更多输出设备420,诸如显示器、扬声器等。这些设备在本领域中是公知的,在这里不需要详细讨论。

如图4所示,通信设备400可以包括一个或更多有线或无线收发器422。在一些无线实施例中,为了增加吞吐量,一个或更多收发器422可以使用多输入/多输出(mimo)技术。一个或更多收发器422可以是能够参与无线射频(rf)通信的任何种类的无线收发器。一个或更多收发器422还可以包括其他无线调制解调器,诸如用于参与wi-fi、wimax、蓝牙或红外通信的调制解调器。在一些实施例中,一个或更多收发器422还可以识别一个或更多收发器422连接到的一个或更多基站或一个或更多接入点(诸如基站104或接入点106),并且可以将这些身份暴露给通信设备400的平台或应用,诸如性能度量模块404、信道编码模块406、编解码模块408和网络延迟模块410。

图5-7示出了根据本公开的实施例的示例过程。这些过程被图示为逻辑流程图,其中的每个操作表示可以用硬件、软件或其组合来实现的一系列操作。在软件的上下文中,操作表示存储在一个或更多计算机可读存储介质上的计算机可执行指令,其当由一个或更多处理器执行时,实施所述操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数量的所描述的操作可以以任何顺序和/或并行地组合以实现所述过程。

图5图示了根据本公开的实施例的用于确定信道编码和发送数据的示例过程500。示例过程500例如可以由通信设备102或238来执行。

在502处,该过程发起实时通信。例如,该操作可能包含在wi-fi网络上发起呼叫,诸如当通信设备102连接到wi-fi接入点106时。在一些实施例中,发起实时通信包括发起语音通信、视频通信和/或数字数据的通信。

在504处,接收性能度量。例如,在该操作中接收到的性能度量可以是由一个或更多远程服务设备110或300确定的网络性能度量。在一些实施例中,性能度量可以反映在操作502中发起的实时通信的qos和/或qoe。在一些实施例中,所接收到的性能度量可以包括当前网络性能度量、预期性能度量、历史性能度量和/或与例如与关联于接入点106的一个或更多其他通信设备相关联的性能度量。在一些实施例中,性能度量可以指通信设备102或238经由接入点106到一个或更多远程服务设备110或300的上行链路传输的qos。在一些实施例中,通信设备102或238的上行链路传输的性能度量可以通过确定通信设备102或238的下行链路传输的性能度量来确定或估计。

在506处,该过程包括基于在操作504中接收到的性能度量来确定信道编码。例如,如果特定接入点(诸如接入点106)拥塞,则qos和/或qoe可能受损。作为响应,信道编码可以应用于经由以机会方式操作的接入点发送的实时通信。作为一个非限制性示例,信道编码可以应用于实时包(rtp),与应用于图2b中的rtp218、220、222、224或rtp226和242的类似。在一些实施例中,信道编码可以基于同时连接到机会接入点(例如,接入点106)的设备的数量,并且在一些实施例中,例如,信道编码可以基于通信设备102中使用的编解码器或者降级的特定性能度量。例如,如果性能度量指示丢包增加,则可以选择信道编码以便在丢包情况下重建包数据。在一些实施例中,信道编码包括但不限于turbo编码、chase组合和tti绑定。

在508处,该过程发送已经使用在操作506中确定的信道编码编码的数据。在一些实施例中,数据从通信设备102发送到接入点106。

在一些实施例中,过程500中的操作对于每个实时通信被重复一次。在一些实施例中,针对通信设备102可以向接入点106发送的每个传输机会,重复过程500中的操作。例如,可以针对分配给通信设备102的每个信道和/或时隙执行过程500。在一些实施例中,过程500中的操作可以由通信设备102执行。

图6示出了根据本公开的实施例的用于发送信道编码数据的示例过程600。示例过程600例如可以由通信设备102或238来执行。

在602处,保留信道和/或时隙用于数据传输。在一些实施例中,信道和/或时隙由接入点(例如wi-fi接入点106)以机会方式提供。例如,当接入点106拥塞时,可能无法保证通信设备102可以接收足以保证实时的语音、视频和/或数据通信的信道和/或时隙。在一些实施例中,操作602包括由通信设备102对信道和/或时隙的请求,而在一些方面,信道和/或时隙由接入点106提供。

在604处,收集准备要被发送的包。在一些实施例中,包可以包括实时包(rtp),其包括语音、视频和/或数据通信。在一些实施例中,操作604可以收集准备好要被发送的一个或更多包。在一些实施例中,准备要被发送的包可以包括图2b中的包1-7:rtp218、220、222、224、226和/或242。在一些实施例中,准备要被发送的包对应于已经在滑动时间帧内生成的包,或者可以对应于在先前的过程600已经被执行之后生成的一些或全部的包(例如,在先前传输后生成的所有包)。在一些实施例中,要收集的包的数量基于通信设备102使用的编解码器、在操作602中预留的信道和/或时隙的大小或者指示qos和/或qoe的网络性能度量。在一些实施例中,在操作604中收集的包可以被缓冲在一个或更多存储器、队列和/或缓冲器中,诸如图4的可移除存储414或不可移除存储416。

在606处,丢弃过期的包。在一些实施例中,过期的包被丢弃、删除或从存储器中移除,以便减少实时通信需要发送的数据量。在一些实施例中,数据包被存储在通信设备102中,直到通信设备接收到接入点106、一个或更多远程服务设备110和/或一个或更多通信设备116已经接收到特定数据包的回执或确认。在一些实施例中,已经被发送预定次数的数据包可以被丢弃。例如,如图2b所示,包3可以在时间间隔t1中被包括在rtp218、220和222中(以及还在rtp226和242中),并且可以在时间间隔t3之前被丢弃。在一些实施例中,当确定包高于或低于包被接收的置信度阈值或概率阈值时,则包被丢弃。

在608处,信道编码被应用到多个包。在一些实施例中,在操作608中操作的多个包可以是在操作604中收集的包,但是没有在操作606中丢弃的包。在一些实施例中,要在操作608中应用的信道编码可以包括但不限于turbo编码、具有迭代解码的turbo编码、chase组合、传输时间间隔(tti)绑定、卷积编码、速率匹配或低密度奇偶校验(ldpc)编码。举例来说,操作608的结果可以在图2b中看到,如rtp218、220、222、224、226和/或242。

在610处,发送数据。在一些实施例中,操作610可对应于图5中的操作508。在一些实施例中,如前所述,由通信设备102以机会方式向接入点106发送数据。

在612处,可以恢复先前的包。例如,在一些实施例中,可以在整个实时通信中执行操作612,可以针对每个机会传输时段执行操作612,或者可以针对通信设备102设置的每个包执行操作612。在某些先前的包丢失或延迟的情况下,操作612可以包括基于发送和接收的包恢复或重建丢失的或延迟的包。作为示例而非限制,如果使用过程600发送rtp218、220和222,但是rtp220丢失或延迟,则过程600可以基于包含在rtp218和222中的数据来恢复或重建包220,如本领域普通技术人员基于本公开将理解的那样。在一些实施例中,操作612可以包括接收重新发送已经丢失或延迟的包的请求。

图7示出了根据本公开的实施例的用于确定性能度量和信道编码以及接收信道编码数据的示例过程700。在一些实施例中,过程700可以由接入点106或240执行,而在一些实施例中,过程700可以由一个或更多远程服务设备110或300执行。在一些实施例中,接入点106或240可以并行地执行过程700或作为核验来验证在一个或更多远程服务设备110或300上操作的过程700。

在702处,操作经由机会网络接收通信。在一些实施例中,机会网络是wi-fi接入点106,或者不为实时通信提供计划的任何wan或lan。在一些实施例中,机会网络可能不保证实时通信。在一些实施例中,操作702包括接收语音、视频、数字数据和/或网络探测。

在704处,确定性能度量。在一些实施例中,性能度量包括指示实时通信的qos或qoe的网络性能度量,例如丢包、包延迟或延迟抖动(即,方差)。在一些实施例中,确定性能度量704可以包括确定当前的、预期的、历史的或平均的性能度量,包括至少一个网络组件。在一些实施例中,确定性能度量704可以包括确定从通信设备102或238经由接入点106到一个或更多远程服务设备110或300的上行链路传输的qos。

在706处,接收一个或更多网络状态。在一些实施例中,网络状态可以包括实时通信中涉及的每个网络设备的身份和/或配置,所述网络设备诸如通信设备102、接入点106、一个或更多网络108、一个或更多远程服务设备110和/或一个或更多通信设备116。在一些实施例中,一个或更多网络状态可以包括关于设备的反馈能力、设备的操作状态、当前流量级别、连接到设备(在接入点的情况下)的设备数量等的信息。在一些实施例中,在706接收到的一个或更多网络状态可以结合或代替在操作704中确定的性能度量来使用。

在708处,确定信道编码。在一些实施例中,基于在操作704中确定的性能度量和/或在操作706中接收到的一个或更多网络状态来确定信道编码。在一些实施例中,信道编码可以包括但不限于turbo编码、具有迭代解码的turbo编码、chase组合、传输时间间隔(tti)绑定、卷积编码、速率匹配或低密度奇偶校验(ldpc)编码中的至少一个。在一些实施例中,操作708可以包括确定是否使用或实现信道编码。在一些实施例中,确定信道编码可部分取决于存在的网络业务量。例如,如上所讨论的,在一些实施例中,信道编码可以包括冗余数据和/或比执行实时通信所严格需要的更多的数据。因此,操作708可以部分地基于网络通信量水平来确定信道编码,从而不进一步降低qos或qoe。在一些实施例中,关于所确定的信道编码的信息可以被发送到网络设备,诸如通信设备102或接入点106。在一些实施例中,除了在操作708中确定的信道编码以外或代替在操作708中确定的信道编码,在操作704中确定的性能度量可以被发送到网络设备,诸如通信设备102或接入点106。在一些实施例中,操作708可对应于图5中的操作506。

在710处,确定编解码器。在一些实施例中,部分地基于所确定的性能度量704、接收到的一个或更多网络状态706、所确定的信道编码708、可用带宽、用户设备(诸如通信设备102)的类型、订阅类型、期望的qos和qoe、数据类型和/或信号与干扰加噪声比(sinr)来确定编解码器。在一些实施例中,关于所确定的编解码器的信息可以被传送到网络设备,诸如通信设备102或接入点106。

在712处,接收数据包。在一些实施例中,在一个或更多远程服务设备110或300处接收数据包,而在一些实施例中,在接入点106处接收数据包。在一些实施例中,操作712包括验证接收到的数据包是及时的,并且如果数据包不及时(例如,由于丢包或包延迟),则操作可以包括丢弃一个或更多包。在一些实施例中,数据包在被发送到另一个网络设备之前,被接收并临时存储在缓冲器中。在一些实施例中,数据包被接收并被存储在易失性或非易失性存储器中。在一些实施例中,数据包被接收并存储在诸如图3中的可移除存储314或不可移除存储316之类的存储中。

在714处,恢复数据包。在一些实施例中,过程714可以对应于图6中的过程612。在一些实施例中,操作714可以包括分析在操作712中接收到的包并确定一个或更多包丢失或延迟。如以上结合图2b和图6所解释的,使用信道编码发送的rtp可允许在实时传输不能被计划和/或保证的机会环境中恢复丢失的或延迟的数据包。

结论

尽管已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于所描述的具体特征或动作。相反,具体的特征和动作被公开为实现权利要求的示例性形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1