首页> 中国专利> 基于传输控制协议(TCP)的视频流传输

基于传输控制协议(TCP)的视频流传输

摘要

用于无线设备处减少数据流传输中的延迟,同时改善重缓冲以及视频质量的技术被公开。缺失的数据片段可基于来自无线网络中的网络元件中的多个数据片段中接收的乱序数据片段而被检测。基于上下文信息,假确认(ACK)可被发送至无线网络中的网络元件,其确认缺失的数据片段在无线设备处被接收到。在没有缺失的数据片段的情况下,乱序数据片段被提供用于无线设备处的显示。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-04-21

    专利权的转移 IPC(主分类):H04L12/875 登记生效日:20200402 变更前: 变更后: 申请日:20140918

    专利申请权、专利权的转移

  • 2019-06-18

    授权

    授权

  • 2016-05-11

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

    实质审查的生效

  • 2016-04-13

    公开

    公开

说明书

相关申请

本申请要求于2013年9月30日递交的、案卷号为P56333的美国非临时专利申请No.14/041,446的优先权,其整个说明书被全部结合于此以用于所有目的。

背景技术

超文本传输协议(HTTP)流传输被广泛用于互联网视频的多媒体递送的形式。基于HTTP的多媒体递送由于广泛采用了HTTP和HTTP的底层协议(包括传输控制协议(TCP)/互联网协议(IP))而提供可靠性和部署简易性。此外,基于HTTP的多媒体递送通过避免网络地址转换(NAT)和防火墙穿越问题而使得能够进行简单和轻松的流传输服务。基于HTTP的流传输还提供使用标准HTTP服务器和高速缓存来代替专门的流传输服务器的能力,并且由于服务器侧上的最少状态信息而具有更好的可扩展性。在一个示例中,HTTP流传输可发生于节点(例如,传输站)和无线设备(例如,移动设备)之间。可替换地,HTTP流传输可发生于节点和有线设备(例如,台式计算机)之间。

无线移动通信技术使用各种标准和协议以在节点和无线设备之间发送数据。一些无线设备通过在下行链路(DL)传输中使用正交频分多址(OFDMA)、在上行链路(UL)传输中使用单载波频分多址(SC-FDMA)来进行通信。使用正交频分复用(OFDM)用于信号传输的标准和协议包括第三代合作伙伴计划(3GPP)长期演进(LTE)(例如,版本8、9、10、11或12)、电气和电子工程师协会(IEEE)802.16标准(例如,802.16e、802.16m)(行业团体通常将其称为WiMAX(全球微波互联接入)),以及IEEE802.11标准(行业团体通常将其称为WiFi,例如802.11-2012、802.11ac、或802.11ad)。

在3GPP无线接入网(RAN)LTE系统中,节点可以是演进型通用陆地无线接入网(E-UTRAN)节点B(通常也被表示为演进节点B、增强型节点B、eNodeB、或eNB)和无线网络控制器(RNC)的组合,其与被称为用户设备(UE)的无线设备通信。下行链路(DL)传输可以是从节点(例如,eNodeB)到无线设备(例如,UE)的通信,上行链路(UL)传输可以是从无线设备到节点的通信。

附图说明

通过下面的详细描述并结合附图,本公开的特征和优点将是显而易见的,附图通过示例的方式一起示出了本公开的特征;并且其中:

图1A根据示例示出了被传送到传输控制协议(TCP)缓冲器的多个TCP片段;

图1B根据示例示出了从传输控制协议(TCP)缓冲器传送出的多个TCP片段;

图1C根据示例示出了从传输控制协议(TCP)缓冲器传送出的、不存在缺失的TCP片段的多个TCP片段;

图1D根据示例示出了从传输控制协议(TCP)缓冲器传送出的、不存在缺失的TCP片段的多个TCP片段;

图2根据示例示出了使用上下文信息来传送传输控制协议(TCP)片段的系统;

图3根据示例示出了可操作以减少数据流传输中的延迟的传输控制协议(TCP)接收器的计算机电路的功能;

图4根据示例示出了无线设备处用于减少数据流传输中的延迟的方法的流程图;

图5根据示例示出了无线设备(例如,用户设备)的框图;以及

图6根据示例示出了无线设备(例如,用户设备)的图示。

下面将参考所示出的示例性实施例,并且这里将使用具体语言来描述这些示例性实施例。然而,应该理解的是此处不意图对本发明的范围进行任何限制。

具体实施方式

在本发明被公开和描述前,应该理解的是本发明不限于本文所公开的特定结构、处理步骤、或材料,而是被扩展至将被相关领域的普通技术人员认识到的其等同形式。还应该理解的是,本文所采用的术语仅被用于描述特定示例的目的并且不意图是限制性的。在不同图示中的相同参考标号表示相同元素。在流程图和处理中所提供的数字被提供用于清晰地说明步骤和操作,而不一定指示特定的次序或顺序。

示例实施例

下面提供了对技术实施例的初步概述,然后将在后面更详细地描述具体的技术实施例。该初步概述旨在帮助读者更快地理解技术,而并非意图标识技术的关键特征或必要特征,也不意图限制所要求保护的主题的范围。

超文本传输协议(HTTP)流传输是互联网视频(例如,直播视频或按需式视频)和音频内容(被称作多媒体内容、媒体内容、媒体服务等等)的多媒体递送的形式。在HTTP流传输中,多媒体文件可被划分为一个或多个片段(segment)并且使用HTTP协议被递送至客户端。基于HTTP的多媒体内容递送(流传输)由于HTTP和HTTP的底层协议(包括传输控制协议(TCP)/互联网协议(IP))二者的先前广泛采用而提供可靠性和简单的内容递送。基于HTTP的递送能够通过避免网络地址转换(NAT)和防火墙穿越问题而使得能够进行简单和轻松的流传输服务。基于HTTP的流式数据的传输还可提供使用标准HTTP服务器和高速缓存来代替专门的流传输服务器的能力。

此外,HTTP流传输能够提供若干益处,例如可靠的传输以及对网络条件的适应性以确保公正并避免拥塞。HTTP流传输由于服务器侧上的最少或被减少的状态信息而能够提供可扩展性。然而,因为拥塞控制和严格的流控制,HTTP流传输可导致延时和传输速率的波动。因此,基于HTTP的流传输系统包括缓冲器来缓解速率变动,但是作为结果,当视频被流传输时用户可经历高延时。

HTTP动态自适应流传输(DASH)是自适应多媒体流传输技术,其中多媒体文件可被划分为一个或多个片段并且使用HTTP被递送到客户端。DASH规定了媒体呈现描述(MPD)元数据文件的格式,该MPD元数据文件提供关于服务器中存储的媒体内容表示的结构和不同版本、以及片段格式的信息。例如,元数据文件包含关于媒体播放器的初始化和媒体片段的信息(媒体播放器可以查看初始化片段来理解容器格式和媒体定时信息),以确保片段到用于切换和与其他表示的同步呈现的媒体呈现时间轴的映射。DASH客户端可以通过经由一系列HTTP请求-响应处理下载片段,来接收多媒体内容。DASH可以提供在对于移动设备可用的带宽改变时在媒体内容的不同比特率表示之间动态切换的能力。因此,DASH可以允许对改变的网络和无线链路条件、用户偏好和设备性能(诸如显示器分辨率、所采用的计算机处理器的类型、存储器资源可用性等)的快速适应。DASH是能够用于解决基于实时协议(RTP)和RTSP的流传输以及基于HTTP的渐进式下载的缺点的一种示例技术。基于DASH的自适应流传输是基于RTSP自适应流传输的替代方法,其在第三代合作伙伴技术(3GPP)技术规范(TS)26.247各个版本(包括版本10和11)以及动态图像专家组(MPEG)ISO/IECDIS23009-1中被标准化。

HTTP的底层协议TCP是“连接导向的”数据递送服务,从而使得两个TCP配置的设备能够彼此建立TCP连接以使能这两个TCP设备之间的数据通信。一般地,“数据”可指代TCP片段或数据的字节。此外,TCP是全双工协议。因此,两个TCP设备中的每个设备可支持在相对方向上流送的一对数据流。因此,第一TCP设备可与第二TCP设备传送(即,发送或接收)TCP片段,并且第二TCP设备可与第一TCP设备传送(即,发送或接收)TCP片段。

TCP可向在第一TCP设备和第二TCP设备之间传送的每个TCP片段分配段号。发送TCP设备可在接收TCP设备接收TCP片段之后期待来自接收TCP设备的肯定确认(ACK)。换而言之,接收TCP设备可在接收到TCP片段之后向发送TCP设备传送ACK消息。如果未在超时区间内接收到ACK,则TCP片段可被重传。因此,如果发送TCP设备在超时区间内没有从接收TCP设备接收到ACK消息,则发送TCP设备可向接收TCP设备重新传送TCP片段。当TCP片段乱序地到达接收TCP设备处时,接收TCP设备可使用段号来重新安排TCP片段和/或使用段号来消除重合的TCP片段。

在接收TCP设备和发送TCP设备之间传送的ACK消息可包括接收TCP设备除了上次接收的TCP片段外能够从发送TCP设备接收的TCP片段的数目。换而言之,接收TCP设备可传送能够从发送TCP设备接收的最高片段数目,以使得接收到的TCP片段不产生接收TCP设备缓冲器中中的超载和溢出。一般地,TCP设备可在TCP片段被传送至显示器设备之前将从网络元件接收的TCP片段暂时存储在缓冲器中。可替换地,在TCP片段被提供给显示器设备之前,TCP片段可从TCP接收器缓冲器被传送至用户设备(UE)内的另一区域或模块进行处理。在一个示例中,乱序地到达的TCP片段可在TCP接收器缓冲器内被重新安排从而使得按序TCP片段可被递送至显示器设备。能够在TCP缓冲器中存储的TCP片段的数目可取决于TCP缓冲器大小。

此外,在接收TCP设备和发送TCP设备之间传送的ACK消息可包括下次期待的段号。下次期待的段号可以是接收TCP设备期待从发送TCP设备接收的下一段号。换而言之,下次期待的段号可在逻辑上跟随在接收TCP设备处成功接收的最后TCP片段。

在一个示例中,基于HTTP/TCP的视频流传输可通过使用视频数据和/或无线网络的特性来提升。结果,基于HTTP/TCP的视频流传输可经历减少的延迟和/或改善的视频质量。具体地,来自应用层和网络层的跨层信息可被并入以修改TCP接收器的功能。由于对TCP接收器的修改可被实现在客户端侧,对网络基础设施的修改可以是不必要的。对TCP接收器的修改可改善重缓冲、平均图片质量、速率切换数目等等。结果,用户的体验质量(QoE)也可被改善。

如将在下面更详细地论述的那样,TCP接收器可从网络元件(例如,TCP设备)接收多个TCP片段。TCP接收器可确定多个TCP片段中缺失了一TCP片段。换而言之,TCP接收器预期要接收该TCP片段,但该TCP片段未被传送至TCP接收器(即,缺失该TCP片段)。

一般地,缺失的TCP片段可从网络元件被重传至TCP接收器。当TCP接收器成功地接收到该缺失的TCP片段时,该缺失的TCP片段可被称为被延迟的TCP片段。TCP接收器了确定被延迟的TCP片段是否在预定时间阈值内被接收。在一个示例中,预定时间阈值可基于网络层信息和应用层信息被动态配置。

此外,TCP接收器可确定被延迟的TCP片段是否具有较低的优先级(与被传送至TCP接收器的其他TCP片段相比)。TCP接收器可使用应用层信息和网络层信息来确定被延迟的TCP片段具有较低的优先级。网络层上下文信息可包括以下各项中的至少一项:包括媒体访问控制(MAC)层分组丢失的明确丢失指示,由于经由TCP接收器缓冲器内容分析推断的拥塞的丢失,或者明确的网络拥塞信息。应用层上下文信息可包括以下各项中的至少一项:缓冲器状态、帧类型、视频帧的显著性(saliency)、视频内容的类型、以及诸如设备上下文信息或用户上下文信息之类的其他上下文。

如果被延迟的TCP片段(基于应用层和网络层信息)被确定为具有较低的优先级并且被延迟的TCP片段未在预定时间阈值内在TCP接收器处被接收到,则被延迟的TCP片段可被丢弃。换而言之,TCP接收器可向显示器设备递送具有缺失的TCP片段的多个TCP片段。此外,TCP接收器可向网络元件发送假确认(ACK)消息,该消息虚假地确认TCP接收器接收了先前缺失的TCP片段。此外,假ACK消息可包括接收TCP设备期待从发送TCP设备接收的下一TCP片段(即,逻辑上跟随被延迟的TCP片段的TCP片段)的段号。

图1A示出了被传送到TCP接收器的多个传输控制协议(TCP)片段110。具体地,TCP片段可在TCP接收器缓冲器中被接收。在一个示例中,TCP接收器缓冲器可从网络元件(例如,发送TCP设备)接收TCP片段。被传送至TCP接收器缓冲器的多个TCP片段可包括缺失的TCP片段。例如,片段1可在时间(TS_1)处被传送,片段2可能未被传送至TCP接收器缓冲器,片段3可在TS_3处被传送,片段4可在TS_4处被传送,并且片段5可在TS_5处被传送。因此,TCP接收器缓冲器可包括对应于缺失的片段2的空洞。

当TCP接收器缓冲器接收到片段3而没有接收片段2时,TCP接收器缓冲器检测到片段3是乱序片段。换而言之,片段3是在TCP接收器缓冲器处被乱序接收的,因为TCP接收器缓冲器应当在接收片段3之前已经接收到片段2。当TCP接收器接收乱序片段(例如,片段3)时,TCP接收器可向网络元件传送确认(ACK)消息,该消息证实该乱序片段在TCP接收器处被接收到。此外,ACK消息可包括下次期待的段号(即,TCP接收器期待从网络元件接收的下一TCP片段)。在一个示例中,下次期待的段号可指代被调度为要在该乱序片段(例如,片段3)前被接收的缺失TCP片段(例如,片段2)。因此,当TCP接收器从网络元件接收片段3时,TCP接收器可向网络元件传送片段2作为下次期待的段号的ACK消息。

网络设备可从TCP接收器接收指示了下次期待的段号(例如,片段2)的ACK消息。网络设备可重新发送该下次期待的段号(例如,片段2)到TCP接收器。由于片段2缺失,片段3、4和5可被暂时存储在TCP接收器缓冲器中直到片段2被成功重传到TCP接收器缓冲器。给定时间处可在TCP接收器缓冲器中被缓冲的片段的数目可由TCP接收器缓冲器大小限制。

在一个示例中,TCP接收器缓冲器可在片段3、4和5已经被成功递送至TCP接收器缓冲器之后的时间(TS_H)处接收片段2。TCP接收器缓冲器处的片段2的递送可填上由缺失的片段2造成的TCP接收器缓冲器中的空洞。因此,片段2可在被成功递送到TCP接收器缓冲器之后从缺失片段变为被延迟的片段。被缓冲的片段2-5可被例如传送至显示器设备。此外,在接收被延迟的片段2之后,TCP接收器可向网络元件发送ACK消息:(1)确认片段2在TCP接收器缓冲器处被接收以及(2)向网络元件通知下次期待的片段(例如,片段6)。

如前所述,被延迟的TCP片段可在TS_H处于TCP接收器缓冲器处被接收。TCP接收器缓冲器在向显示器设备传送被延迟的TCP片段(例如,片段2)以及乱序片段(例如,片段3-5)之前等待直到被延迟的TCP片段被接收到。因此,片段2-5可在TS_H(未在图1A中示出)处被传送至显示器设备。换而言之,片段2-5可在与片段2在TCP接收器缓冲器处被接收相对应的时间(即,TS_H)处被传送到显示器设备。被传送到显示器设备的片段2-5中的延迟(D)可等于TS_H-TS_1。结果,用户可在流传输视频时经历延时。

在一个示例中,TCP接收器可确定被延迟的TCP片段是否在时间阈值(Δ)内被接收。时间阈值(Δ)可被实现以减少被传送到显示器设备的片段的延迟。换而言之,可接受的延迟(D)的量可受限于时间阈值(Δ)。在一个示例中,时间阈值(Δ)可使用反馈机制、应用层信息、和/或网络层信息来确定。延迟可源自被乱序递送到TCP接收器缓冲器的一个或多个被延迟的TCP片段(即,被延迟的TCP片段被递送晚了),这进而影响了被延迟的TCP片段和/或乱序片段(例如,要在被延迟的TCP片段之后被递送的TCP片段)被递送给显示器设备的时间。

如图1B-1D所示,可存在描述与时间阈值(Δ)有关的、TCP片段被传送至显示器设备的延迟(D)的三种情形。在情形1中(如图1B所示),延迟(D)可少于或等于时间阈值(Δ)。在情形2中(如图1C所示),延迟(D)可大于时间阈值(Δ)。在情形3中(如图1D所示),时间阈值(Δ)可等于零。

图1B示出了多个TCP片段120(例如,片段1-5)从TCP接收器缓冲器到显示器设备的通信。片段1-5可从网络元件被传送至TCP接收器缓冲器。如图1A中所示,片段1可在TS_1处被传送,片段3在TS_3处,片段4在TS_4处,片段5在TS_5处,并且片段2在TS_H处。换而言之,片段2可以是被延迟的片段。

如图1B中所示,当片段2在时间阈值(Δ)内在TCP接收器缓冲器处被接收到(即,D≤Δ)时,则片段1-5可被按序传送至显示器设备。换而言之,被延迟的片段(例如,片段2)也可被传送至显示器设备。在此示例中,尽管片段2在TS_H处被接收,延迟(即,(TS_H-TS_1))是可接受的,因为它小于时间阈值Δ。片段1可在TS_1处从TCP接收器缓冲器被传送给显示器设备,并且片段2-5可在TS_H处被传送。此外,TCP接收器可向网络元件传送包括期待的段号(例如,期待的为6的段号)的确认(ACK)消息。

当被延迟的片段在时间阈值(Δ)内在TCP接收器缓冲器处被接收到时,TCP接收器可不确定与被延迟的片段相关联的优先级。一般地,被延迟的片段的优先级可使用应用层信息和/或网络层信息来确定。换而言之,在情形1中,TCP接收器可在被延迟的片段在时间阈值(Δ)内被传送至TCP接收器时向显示器设备递送TCP片段(没有使用被延迟的片段的优先级)。

图1C示出了多个TCP片段130(例如,片段1以及片段3-5)从TCP接收器缓冲器到显示器设备的通信。片段1-5可从网络元件被传送至TCP接收器缓冲器。如图1A中所示,片段1可在TS_1处被传送,片段3在TS_3处,片段4在TS_4处,片段5在TS_5处,并且片段2在TS_H处。换而言之,片段2可以是被延迟的片段。

如图1C中所示,当片段2未在时间阈值(Δ)内于TCP接收器缓冲器处被接收到(即,D>Δ)时,多个片段(除了被延迟的片段)可被传送至显示器设备。因此,被延迟的片段(例如,片段2)未被传送至显示器设备。在此示例中,当片段2未在时间阈值(Δ)内被接收到时,TCP接收器确定丢弃被延迟的片段。由于片段2未在时间阈值(Δ)内被接收到,延迟是不可接受的并且片段2被丢弃。

片段1可在TS_1处从TCP接收器缓冲器被传送给显示器设备,并且片段3-5可在TS_1+Δ处被传送,其中Δ表示TCP接收器等待片段2被递送的时间段。此外,TCP接收器可向网络元件传送包括期待的段号(例如,期待的为6的段号)的确认(ACK)消息。

如下文更详细地描述,当被延迟的片段未在时间阈值(Δ)内于TCP接收器缓冲器处被接收到时,TCP接收器缓冲器可确定与被延迟的片段相关联的优先级。例如,被延迟的片段的优先级可使用应用层信息和/或网络层信息来确定。在一种配置中,当被延迟的片段未在时间阈值(Δ)内被接收时,TCP接收器可基于被延迟的片段的优先级丢弃被延迟的片段(例如,片段2)。

图1D示出了多个TCP片段140(例如,片段1以及片段3-5)从TCP接收器缓冲器到显示器设备的通信。片段1-5可从网络元件被传送至TCP接收器缓冲器。如图1A中所示,片段1可在TS_1处被传送,片段3在TS_3处,片段4在TS_4处,片段5在TS_5处,并且片段2在TS_H处。换而言之,片段2可以是被延迟的片段。

如图1D中所示,当片段2在TCP接收器缓冲器处被较晚接收(即,D=0)时,多个片段(除了被延迟的片段)可被传送至显示器设备。换而言之,较晚的TCP片段可对应于当TCP接收器向显示器设备发送多个TCP片段时的空洞。因此,被延迟的片段(例如,片段2)未被传送至显示器设备。在此示例中,由于片段2被较晚接收,TCP接收器确定丢弃该被延迟的片段。

片段1可在TS_1处从TCP接收器缓冲器被传送给显示器设备,片段2在TS_3处,片段4在TS_4处,并且片段5在TS_5处。此外,TCP接收器可向网络元件传送包括期待的段号(例如,期待的为6的段号)的确认(ACK)消息。

当时间阈值(Δ)等于零时,TCP接收器可不确定与被延迟的片段相关联的优先级。换而言之吗,在情形3中,TCP接收器可将被延迟的TCP片段丢弃出被传送至显示器设备的多个TCP片段之外而无需使用被延迟的片段的优先级。

一般地,TCP接收器缓冲器中的TCP片段所经历的乱序延迟可以是:无序递送延迟(D=0)≤Δ≤有序递送延迟(D=TS_H-TS_1)。根据完全无序递送,所有较晚的乱序TCP片段可被看做空洞。换而言之,被延迟的片段可不被传送至显示器设备。根据有序递送,TCP片段可被无空洞地传送给显示器设备。因此,TCP分组丢失和延时之间的折中可根据应用层信息和网络层信息得出。

在一种配置中,TCP接收器可使用被延迟的片段(即,先前缺失但在后来的时间被递送的片段)的优先级来确定:当被延迟的片段未在时间阈值(Δ)内于TCP接收器处被接收时,是否丢弃被延迟的片段。可替换地,TCP接收器可使用被延迟的片段的优先级来确定:即使当被延迟的片段未在时间阈值(Δ)内于TCP接收器处被接收时,是否不丢弃被延迟的片段。一般地,应用层信息和/或网络层信息可指示视频质量的降低比源自被延迟的片段的视频延时重要。换而言之,相对于等待视频被加载,视频质量的降低是优选的。因此,与等待被延迟的片段被递送相反,TCP接收器可响应于对应用层和网络层信息的分析而完全丢弃被延迟的片段。

图2示出了使用上下文信息传送传输控制协议(TCP)片段的系统200。TCP接收器可接收TCP片段。上下文自适应判定块可确定接收到的TCP片段是否是乱序的。作为示例,当TCP接收器在没有接收片段2的情况下接收片段3时,TCP接收器可检测到该接收到的TCP片段(例如,片段3)是乱序的。TCP接收器然后可在接收该乱序片段之后接收被延迟的TCP片段(例如,片段2)。

在一个示例中,上下文自适应判定块202可确定被延迟的TCP片段是否包括应用上下文触发器。换而言之,应用上下文信息可使得TCP接收器能够确定被延迟的TCP片段是否应当被丢弃以使得多个TCP片段在没有被延迟的TCP片段的情况下被递送。关于多媒体信息的多种应用上下文信息可被识别,例如重放(playback)缓冲器状态、针对在重放缓冲器中期待的下一视频帧的帧类型或者其他显著性信息、关于由自适应流播放器执行的近期速率切换的历史信息等等。应用上下文信息可从对客户端上的DASH或其他HTTP自适应流播放器软件的客户端实现的修改中获得。

应用层上下文信息可包括缓冲器状态和历史、帧类型、显著性、内容类型、以及诸如设备上下文和/或用户上下文之类的其他上下文。例如,重放缓冲器和TCP接收器的缓冲器中的视频数据可针对数据流的不同部分具有不相等的优先级(例如,视频数据可具有取决于视频帧是I/P帧还是B帧的不相等优先级)。作为另一示例,当应用正在逼近播放缓冲器空乏(starvation)和/或从TCP接收器在重放缓冲器的末尾处期待的视频信息被确定为B帧时,上下文自适应判定块202可被提供此信息从而确定B帧是否应当被丢弃。

自适应流传输客户端可使用缓冲器状态和针对速率自适应判定的历史。除了当前的缓冲器状态之外,应用还可提供在刚刚过去的时间所做出的视频速率切换(例如,自适应)的历史。视频速率切换的历史可以是有用的,因为用户QoE还可受与速率切换相关联的频率的影响。

帧类型可影响是否可丢弃被延迟的TCP片段。I帧和P帧具有时间依赖性,其对后续的帧解码具有较大影响,而B帧不具有前面的时间依赖性并因此能够以更小的图片质量影响被丢弃。作为示例,I/P/B帧结构(“GOP”)可使得视频播放器能够确定序列中下一期待的P针对相对于下一I帧的位置。因此,潜在地丢弃此P帧的影响可被估计。帧类型信息可由视频播放器在帧头部明确可访问。

在一个示例中,就视觉影响方面的显著性(例如,给定帧的重要性)可被视频播放器使用。例如,如果H.264可扩展视频编码(SVC)被使用,则增强层数据可相比于基础层视频数据具有较低的重要性。关于显著性的应用层上下文信息可在帧头部明确可用或者可通过其他机制来提供。

此外,视频应用可依据内容是作为直播内容还是作为点播视频(VOD)被观看而不同地修改重缓冲与图片质量之间的折中。此外,视频应用可依据内容是否与体育、新闻等等相关来修改重缓冲与图片质量之间的折中。关于内容类型的应用上下文信息可被提供在内容元数据中。

在一个示例中,上下文信息可包括设备上下文信息。屏幕大小可在用户感知和期待中扮演角色。设备电池水平可被用作上下文输入,因为质量和吞吐量之间的折中可基于设备的剩余电池水平而不同。

作为附加示例,上下文信息可包括用户上下文信息。例如,与游动/固定用户相比,移动用户可面临相对于分组丢失、延迟和/或吞吐量的不同情况。此外,取决于内容是免费的还是基于订阅的,用户可具有不同的QoE期望。

在一个示例中,上下文自适应判定块202可确定被延迟的TCP片段是否包括网络层上下文触发器。换而言之,网络层上下文信息可确定被延迟的TCP片段是否应当被丢弃以使得多个TCP片段在没有被延迟的TCP片段的情况下被递送。网络层上下文信息可与TCP接收器处的TCP处理相合并。网络层上下文信息可包括来自网络接口的明确跨层信息(例如,MAC层重传失败指示)或者来自网络元件的明确拥塞通知。

此外,网络层上下文信息可基于对TCP接收器缓冲器内容的分析(例如,等待重传的缺失TCP片段的统计)来获得。网络拥塞相关的丢失可不同于由于上行链路/下行链路上的无线链路层误差的丢失。在一个示例中,网络层上下文信息可根据对网络接口卡(NIC)驱动器等待的修改而得出。此外,上下文自适应判定块202可分析网络上下文层信息(例如,分析TCP接收器缓冲器的片段空洞和相关联的统计信息,集成来自更低层的关于无线/拥塞丢失的反馈),并且调整针对可被释放的待定片段的阈值(Δ)。

因此,网络层上下文信息可使得TCP接收器能够确定被延迟的片段是否应当被丢弃。网络层上下文信息可包括对媒体访问控制(MAC)层分组丢失(例如,重传超时)的指示。该指示可来自指示缺失的IP分组的网络接口卡(NIC)或调制解调器。对MAC层分组缺失的指示对于TCP接收器可以是缺失的数据是由于无线链路误差而不是网络拥塞的明确信号。此外,网络层上下文信息可从TCP接收器缓冲器内容分析中获得。具体地,与TCP接收器缓冲器中的缺失片段相关联的统计可被检查以提供关于在TCP接收器缓冲器处正经历无线链路(例如,随机)丢失还是经历拥塞相关的(例如,大量突发的空洞)丢失的上下文信息。

在一个示例中,网络层上下文信息可包括在IP头部中标记的明确拥塞通知(ECN),从而向TCP接收器提供关于TCP片段空洞的网络层上下文信息。在一个示例中,网络层上下文信息可被用于丢弃被延迟的TCP片段并且当无线链路误差(而不是网络拥塞)导致视频播放器经历对QoE的影响时转发ACK。分组丢失的大量突发有可能是由网络拥塞造成的,因此不是进行ACK的可行候选,因为对图片质量潜在增加的影响。此外,分组丢失的较少的突发可能来自无线链路丢失并且可以是进行以下操作的可行候选:丢弃被延迟的TCP片段并发送ACK以继续进行除了与分组丢失相对应的空洞之外的TCP片段。

如果上下文自适应判定块202确定接收到的片段是有序的(即,不是乱序的),并且不存在应用上下文触发器或网络上下文触发器,则传统的TCP操作可被执行。如果上下文自适应判定块202确定了上下文触发器并且已经达到判定阈值(即,被延迟的TCP片段不满足延迟阈值),则乱序的片段可被递送至显示器设备,因而跳过了被延迟的TCP片段。

如前所述,超出延迟阈值(Δ)的、还基于应用或网络层上下文信息指示降低的优先级的被延迟的TCP片段可被丢弃。结果,多个TCP片段被具有空洞地递送,其中该空洞对应于被延迟的TCP片段。此外,确认(ACK)可被传送以除了空洞之外前进TCP片段。换而言之,ACK指示TCP接收器期待接收逻辑上跟随被延迟的TCP片段的TCP片段。因此,TCP接收器可通过允许针对定义的TCP片段的假ACK的选择性发放来放松关于信息的可靠递送的条件,该定义的TCP片段是基于应用层信息和网络层信息被确定为具有较低优先级的。因此,一旦达到延迟阈值(Δ),上下文自适应判定块202可释放待定的TCP片段并且TCP接收器可向前进行下一TCP片段的ACK。

另一示例提供了可操作以减少数据流传输中的延迟的传输控制协议(TCP)接收器的计算机电路的功能300,如图3中的流程图所示。该功能可以被实现为一种方法,或者该功能可以作为指令在机器上被执行,其中这些指令被包括在至少一个计算机可读介质或者一个非暂态机器可读存储介质上。计算机电路可以被配置为:在传输控制协议(TCP)接收器缓冲器处,从网络元件接收多个TCP片段(如在块310中)。计算机电路还可被配置为基于在多个TCP片段中接收的乱序TCP片段来检测缺失的TCP片段(如在块320中)。计算机电路还可被配置为:基于与数据流传输相关联的上下文信息,在TCP接收器处确定要在乱序TCP片段前被接收的缺失TCP片段可被丢弃(如在块330中)。此外,计算机电路可被配置为:在没有缺失的TCP片段的情况下,将乱序TCP片段从TCP接收器缓冲器提供至显示器设备(如在块340中)。

在一个示例中,计算机电路可被配置为:当缺失的TCP片段未在预定时间阈值内被接收时,基于上下文信息丢弃该缺失的TCP片段。在一种配置中,上下文信息包括网络层上下文信息和应用层上下文信息。在一个示例中,网络层上下文信息可包括以下各项中的至少一项:媒体访问控制(MAC)层分组丢失、TCP接收器缓冲器内容分析、或者网络拥塞信息。此外,应用层上下文信息可包括以下各项中的至少一项:缓冲器状态、视频帧的显著性、帧类型、视频内容的类型、或者诸如设备上下文信息或者用户上下文信息之类的其他上下文。

在一种配置中,计算机电路还可被配置为:基于上下文信息,向网络元件发送假确认(ACK)消息,该消息确认缺失的TCP片段在TCP接收器处被接收到。在一个示例中,假ACK消息包括针对逻辑上跟随乱序TCP片段的、要被传送至TCP接收器的TCP片段的请求。

在一种配置中,计算机电路还可被配置为向网络元件发送请求缺失的TCP片段被重新传送给TCP接收器的确认消息,其中基于上下文信息,该缺失的TCP片段不能够被丢弃。此外,计算机电路还可被配置为:当上下文信息指示无线链路误差导致乱序TCP片段被乱序地递送至TCP接收器缓冲器时,丢弃缺失的TCP片段。另外,计算机电路还可被配置为:当上下文信息指示网络拥塞导致乱序TCP片段被乱序地递送至TCP接收器缓冲器时,确定缺失的TCP片段不应该被丢弃。

在一种配置中,TCP接收器可操作于用户设备(UE)中。UE可包括天线、触摸显示器屏幕、扬声器、麦克风、图形处理器、应用处理器、内部存储器、或非易失性存储器端口。

另一示例提供了用于减少无线设备处的数据流传输中的延迟的方法400,如图4中的流程图所示。该方法可以作为指令在机器上被执行,其中这些指令被包括在至少一个计算机可读介质或者一个非暂态机器可读存储介质上。方法包括基于来自无线网络中的网络元件的多个数据片段中接收的乱序数据片段来检测缺失的数据片段(如在块410中)。方法可包括:基于与数据流传输相关联的上下文信息,确定要在乱序数据片段前被接收的缺失的数据片段可被丢弃(如在块420中)。方法的下一操作可包括:基于上下文信息,向无线网络中的网络元件发送假确认(ACK),其确认缺失的数据片段在无线设备处被接收到(如在块430中)。此外,方法可包括在没有缺失的数据片段的情况下提供乱序数据片段以用于无线设备处的显示(如在块440中)。

在一个示例中,上下文信息包括网络层上下文信息和应用层上下文信息。此外,数据片段可以是基于传输控制协议(TCP)的数据片段。

在一种配置中,方法可包括:当未在时间阈值内被接收时,丢弃缺失的数据片段。此外,方法可包括基于网络层上下文信息和应用层上下文信息来动态地配置时间阈值。另外,方法可包括识别所述无线设备处的上下文信息。在一种配置中,方法可包括识别无线网络中的无线元件处的上下文信息。此外,方法可包括:在传输控制协议(TCP)接收器处接收多个数据片段,其中TCP接收器被包括在无线设备中。在一个示例中,无线设备可从包括用户设备(UE)、移动站、蓝牙接收器、802.11接收器、以及它们的组合组成的集合中选择。

图5示出了被配置用于数据流传输的示例无线设备(例如,用户设备)500,如本发明的另一实施例所示。无线设备包括接收模块502,该模块被配置为在TCP接收器缓冲器512处从网络元件520接收多个传输控制协议(TCP)片段。检测模块504可被配置为基于在多个TCP片段中接收的乱序TCP片段,检测缺失的TCP片段。片段丢弃模块506可被配置为基于与数据流传输相关联的上下文信息,丢弃要在乱序数据片段前被接收的缺失的TCP片段。

在一种配置中,无线设备500可包括片段递送模块508,该模块可被配置为:在没有缺失的TCP片段的情况下,从TCP接收器缓冲器512向显示器设备530提供乱序TCP片段。此外,无线设备500可包括确认模块510,该模块被配置为基于上下文信息,向网络元件520发送假确认消息,该消息确认缺失的TCP片段在TCP接收器(例如,接收模块502)处被接收到。

在一种配置中,片段丢弃模块506还可被配置为基于上下文信息以及缺失的TCP片段未在时间阈值内被接收到来丢弃缺失的TCP片段。在一个示例中,上下文信息包括网络层上下文信息和应用层上下文信息。

图6提供了诸如用户设备(UE)、移动台(MS)、移动无线设备、移动通信设备、平板电脑、手持机、或者其他类型的无线设备之类的无线设备的示例图示。无线设备可以包括一个或多个天线,该一个或多个天线被配置为与诸如基站(BS)、演进节点B(eNB)、基带单元(BBU)、远程无线电头端(RRH)、远程无线电设备(RRE)、中继站(RS)、无线电设备(RE)、或者其他类型的无线广域网(WWAN)接入点之类的节点或传输站通信。无线设备可以被配置为使用包括3GPPLTE、WiMAX、高速分组接入(HSPA)、蓝牙、以及WiFi在内的至少一种无线通信标准进行通信。无线设备可以使用针对每个无线通信标准的不同天线、或者针对多个无线通信标准的共享天线进行通信。无线设备可以在无线局域网(WLAN)、无线个人域网(WPAN)、和/或WWAN中进行通信。

图6还提供了可以被用于无线设备的音频输入和输出的麦克风和一个或多个扬声器的图示。显示屏可以是液晶显示(LCD)屏或其他类型的显示屏,如有机发光二极管(OLED)显示器。显示屏可以被配置成触摸屏。触摸屏可使用电容、电阻或另一种类型的触摸屏技术。应用处理器和图形处理器可以被耦合到内部存储器以提供处理和显示能力。非易失性存储端口也可以被用于向用户提供数据输入/输出选项。非易失性存储端口还可以被用于扩展无线设备的存储能力。键盘可与无线设备相集成或无线地连接到无线设备以提供附加的用户输入。虚拟键盘也可使用触摸屏被提供。

各种技术或其某些方面或部分可采取诸如软盘、CD-ROM、硬驱动器、非暂态计算机可读存储介质或任何其他机器可读存储介质之类的有形介质中体现的程序代码的形式,其中当程序代码被加载到诸如计算机之类的机器中并由该机器运行时,所述机器成为用于实施各种技术的设备。电路可包括硬件、固件、程序代码、可执行代码、计算机指令、和/或软件。非暂态计算机可读存储介质可以是不包括信号的计算机可读存储介质。在程序代码运行在可编程计算机上的情况下,计算设备可包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。易失性和非易失性存储器和/或存储元件可以是RAM、EPROM、闪驱、光驱、磁硬驱或用于存储电子数据的其他介质。节点和无线设备还可包括收发器模块、计数器模块、处理模块和/或时钟模块或计时器模块。可实施或利用本文描述的各种技术的一个或多个程序可使用应用编程接口(API)、可重用控件等等。这种程序可用高级过程或面向对象编程语言实现以与计算机系统通信。然而,(一个或多个)程序可用汇编或机器语言实现,如果期望的话。任何情况下,语言可以是编译或解释型语言,并与硬件实现方式相结合。

应该理解,为了更具体地强调其实现方式独立性,本说明书中描述的很多功能单元已被标记为模块。例如,模块可被实现为包括定制VLSI电路或门阵列、诸如逻辑芯片、晶体管或其他离散组件之类的现成半导体的硬件电路。模块还可用诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等可编程硬件设备实现。

模块还可用由各种类型的处理器执行的软件来实现。可执行代码的被识别模块例如可包括例如可被组织成对象、过程或功能的计算机指令的一个或多个物理或逻辑块。然而,被识别模块的可执行体无需物理上在一起,而是可包括在不同位置存储的不同指令,这些指令当逻辑上结合在一起时,包括所述模块并实现该模块的宣称的目标。

实际上,可执行代码的模块可以是单个指令或多个指令,并且甚至可以分布在若干不同的代码段上、不同程序之间和若干存储设备上。简单地,操作数据可在本文中被识别并例示在模块内,并且可以提供任何适当的形式来体现并被组织在任何适当类型的数据结构内。操作数据可被收集为单个数据集,或者可分布在包括不同存储设备的不同位置上,并且可至少部分地仅作为系统或网络上的电子信号存在。模块可以是被动或主动的,包括可操作来执行期望的功能的代理。

本说明书各处对“示例”的引用意味着结合该示例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。因此,本说明书各处出现的短语“在一个示例中”不一定全部指代同一实施例。

如本文所使用的,为了方便起见,多个项目、结构元素、组成元素和/或素材可被呈现在共同的列表中。然而,这些列表应被解释成仿佛该列表的每个成员各自被识别为分开且唯一的成员。因此,在没有相反指示的情况下,这种列表的任何一个成员不应仅基于它们与同一列表的任何其他呈现呈现在共同的群中而被解释成该其他成员的实际上的等同物。另外,本发明的各种实施例和示例在本文中可与它们的各种组件的替代物一起被指代。将理解,这种实施例、示例和替代物不被解释为彼此的实际上的等同物,而是被考虑成本发明的分开且自治的表示。

另外,所描述的特征、结构或特性可通过任何适当方式在一个或多个实施例中组合。在一些说明书中,提供了许多具体细节(如布局示例、距离、网络示例等)以提供对发明的实施例的完整理解。然而,本领域技术人员将认识到发明可以不用一个或多个具体细节或利用其他方法、组件、布局等等来实施。在其他实例中,已知的结构、素材或操作未被示出或详细描述以免模糊发明的方面。

虽然前述示例在一个或多个特定应用中例示了本发明的原理,但是本领域普通技术人员将明白,可以在不发挥发明能力并且不脱离发明的原理和概念的情况下进行形式、用法和实施细节的很多修改。因此,不打算对发明进行所附权利要求以外的限制。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号