使用智能聚集的低等待时间wifi显示的制作方法

文档序号:7791139阅读:247来源:国知局
使用智能聚集的低等待时间wifi显示的制作方法
【专利摘要】某些实施例涉及用于为802.11?MAC实现协调视频帧/切片边界内的MAC协议数据单元(A-MPDU)帧边界的系统和方法。这些实施例通过利用MAC聚集而不产生过度的等待时间惩罚的方式来促成更高的吞吐量和MAC效率。某些实施例确保块确收窗与视频帧边界对齐,以使得没有块确收窗跨骑连续的视频帧。
【专利说明】使用智能聚集的低等待时间WIFI显示
[0001]相关申请的交叉引用
[0002]本申请要求于2012年I月31日提交的美国临时申请N0.61/592,894的权益,其全部内容通过引用包含在本申请中。

【技术领域】
[0003]此处公开的系统和方法一般涉及对802.11 MAC实现的优化,尤其涉及利用MAC聚集而不产生过度的等待时间。
[0004]发明背景
[0005]跨无线网络对媒体(诸如流送视频内容)的传输可采用数种不同的协议,包括IEEE 802.11协议。所述802.11协议将媒体断为信息“分组”,这些信息“分组”然后被个体地传送到接收设备。在分组传输期间,接收机将周期性地向发射机确认收到分组,并将调节其网络参数(诸如其网络地址)以容适网络上的其他设备。为了提高效率,发射机可以将分组群聚成组,以便接收机不需要个体地确认每个特定分组的收到。将分组群聚成这些组或者块称为聚集。由接收机提供的单个群确收被称为块确收。经由块确收来进行的聚集和确收提高了 802.11实现的吞吐量和效率,因为它们是由设备的介质接入控制(MAC)层处置的。块确收还减少了压缩和来自隐藏节点的冲突概率。
[0006]遗憾的是,尽管有这些益处,但是聚集还可能产生额外的端到端等待时间。端到端等待时间对于其中通信必须迅速地在两个或更多个方向上发生的“镜像”应用程序(诸如对于游戏应用程序和交互式显示应用程序)而言可能是不利的。因此,存在要采用没有不想要的过度等待时间惩罚的无线数据确收聚集的需要。
[0007]附图简述
[0008]图1是基于可以实现各种所公开实施例的各种无线传送和接收计算机系统的基于一般概念的解说。
[0009]图2描绘了根据某些实施例的组织成块的视频帧段序列。
[0010]图3描述了实现各种所公开实施例的通信系统阶层结构。
[0011]图4是解说了可在某些所公开实施例中执行以用于将MAC层与传输流对齐的某些步骤的逻辑流程图。
[0012]详细说明
[0013]各种当前实施例通过减少与在设备的MAC层中发生的确收信号聚集相关联的等待时间惩罚来提高设备的MAC层中的802.11协议吞吐量。特别是,某些实施例将MAC层和传输流对齐,以使得经聚集的MAC服务数据单元(MSDU)的块的确收(块确收事件)得以与视频帧的第一个和最后一个MSDU对齐。众所周知,MSDU是从逻辑链路控制(LLC)子层接收到的服务数据单元,而逻辑链路控制(LLC)子层在协议栈中位于媒体接入控制(MAC)子层的上面。将所述确收与视频帧MSDU对齐避免了某些不想要的延迟。例如,当MAC和运输流没对齐时,接收设备可能延迟MAC释放直到发生块确收事件,或者可以与MAC层的操作异步地来解码视频。而对齐则会消除要MAC层和解码器独立地对它们的操作进行定时和延迟的需要。这可提高系统的整体效率。
[0014]系统综览
[0015]系统硬件综览
[0016]图1提供对MAC地址802.11系统的一般性综览。如图中所描绘的,多个设备1la-C使用802.11标准彼此通信。每个设备101a_c经由传输102、103来向另一设备传送分组。这些传输可以例如包括流送视频内容。在这些传输期间,每个设备1la-C可发送多个MAC协议数据单元(MPDU)。MPDU是基于分层OSI模型的通信系统中的MAC实体(诸如设备lOla-c)之间交换的消息。在MPDU可能比MSDU大的系统中,MPDU可作为分组聚集的结果而包括多个MSDU。在MPDU比MSDU小的系统中,则作为分组分段的结果,一个MSDU可产生多个MPDU。信息(诸如流送视频内容)可以经由MPDU来传输。
[0017]每个设备1la-C可以使用块确收来发送多个MPDU,而不需要每MPDU的L2 ACK。就是说,块确收可被用来聚集MPDU。这提高了传输效率,因为更大量的数据可以无需等待确收就被传送。遗憾的是,如上面讨论的,这种方法可能也导致额外的等待时间,因为接收设备被迫在内部缓冲由传输错误导致的脱序MSDU。
[0018]此外,接收设备可能延迟MAC释放直到发生块确收事件。因为块确收事件被延迟直至发射机耗尽(或终止)传送操作,所以这可能会引入不想要的通信延迟。在接收机处的这种额外延迟甚至可能使解码器管道停滞。
[0019]某些实施例通过仅在整个视频帧被投递之后才让解码器开始解码来缓解这个问题。这些实施例还可以寻求避免块确收序列跨骑接连帧。
[0020]块序列
[0021]图2描绘了组织成块的视频帧段203a_d序列200。为避免块确收序列201a跨骑接连帧203a-d,某些实施例将块确收窗201a-b与视频帧边界对齐,如图2所示。就是说,块确收序列201a与该视频巾贞传输的第一段203a和最后一段203c对齐。在这些实施例中,发射机可确保:尽管任何单个视频帧可能由一个或者多个块确收序列构成,但是块确收序列无论何时只要遇到包含与视频帧对应的最后一段203c的终接MSDU时就无条件终止。在一些实施例中,MAC DATASAP) (MAC数据SAP)可被进一步增强以用旗标标示MSDU 202是否应当结束块确收窗,或者MSDU 202是否是视频帧或者切片中的终接MSDU。
[0022]阶层结构
[0023]图3描述了实现各种所公开实施例的通信系统阶层结构。该通信系统可以例如是显示系统的一部分,该显示系统实现针对W1-Fi显示的L2低等待时间聚集控制。该阶层结构包括在信息(诸如视频内容流)的传输之前执行各种功能的一系列功能块300。媒体(诸如视频301)基于其中的内容的帧速率或其他定时因子来确定时钟308的周期。视频301随后可以被传递经过编解码器302和分组打包器303,然后进入实时协议(RTP)304流。媒体时钟308可被用于促成在RTP中的摆放。然后,媒体可经过UDP/IP层305。在某些实施例中,在进入MAC层306处前,系统可随后确定该帧是否对齐309,并强制执行如以上在图2中所讨论的块确收序列控制310。媒体(其已按强制实施块确收对齐所需地被改动)可随后前行至MAC层306。该媒体随后可在物理层307处被传送至接收设备。
[0024]簋法
[0025]图4是解说可在某些所公开实施例中执行以用于将MAC层与传输流对齐的某些步骤的逻辑流程图。图中所指变量被一般定义如下:
[0026]T [η]=第η个RTP分组中的时间戳;
[0027]Te =参考时间戳;
[0028]C = RTP流中使用的视频时钟[KHz];
[0029]R =视频帧速率[帧/秒];和
[0030]?1&8(旗标)=用于启动新的块确收序列的布尔旗标。
[0031]图4仅提供了这一过程的一个示例实现。相应地,本文中所使用的变量的具体选择不是实现所描述的功能性所必需的。例如,本文中所描述的旗标仅用于解释目的,并且人们将很容易地认识到布尔值和控制流质询可被反转,用布尔变量来代替整数I或O等,或者任何其它其中以硬件或软件实现旗标变量以指示特定状态的方式(加以必要的改动)。在图4中提供的特定说明是为了解释,并且该算法本身可以通过用其他变量和控制流结构作为代替来实现,正如本领域技术人员显而易见的。
[0032]该过程在步骤402开始,在那里变量可被初始化。在此实施例中,计数器η被设置为0,Tk被设置为初始参考值(诸如RTP时间戳的值),并且旗标可被设置为真,以使得在步骤405处开始新的块序列。在步骤403,该系统可等待直至收到RTP分组。一旦接收到了RTP分组,该系统就在步骤404递增计数器η。然后,该系统可在步骤405确定旗标是否为真。由于该旗标在步骤402被初始地设置为真,因此该系统将转移至步骤406,在那里开始新的块确收序列。为避免在下一轮迭代之际开始新的序列,该系统在步骤407将旗标设置为假。
[0033]在确定了是否要开始新的块确收序列之后,该系统随后在步骤408确定最近接收到的RTP分组的时间戳与参考时间戳之间的差量D。在步骤409,该系统随后确定该块确收序列是否应被终止。在此实施例中,该系统确定该差量D是否大于O并且D是否是视频时钟频率除以视频帧速率的倍数。如果这两个条件都满足,则该系统转移到状态410,并且终止此块确收序列。该系统随后还可在步骤411将该旗标设置为真以便在下一轮迭代之际发起新的块确收序列。该系统也可在步骤412将参考时间戳Tk设置为当前分组的时间戳。
[0034]在步骤413,该系统随后可确定此流是否完整。如果此流还不完整,则该系统可进而回到状态403并且等待下一个RTP分组的接收。以这种方式,该系统可确保块确收序列被开始和终止,以使得MAC层与传输流对齐。
[0035]示例
[0036]下面是以上算法的示例应用。对于包括90ΚΗζ时钟的视频有效负载格式,C = 90KHz0如果视频帧速率为30帧/秒,则R = 30。由此得到C/R = 3,000。在此示例中,RTP时间戳将每视频帧被增大正好3,000。MAC DATA SAP可检查RTP分组中的时间戳,并将块确收序列操作与视频帧边界对齐。在一些实施例中,该系统可这样做,而无论是使用了哪种压缩编解码方案。
[0037] 这个对齐机制可以确保接收机MAC在接收下一个视频帧的部分的同时不会延迟视频帧任何部分的递送。相应地,解码、后期处理、和渲染视频帧的行为将不会被下一个视频帧的正在进行中的无线传输所延迟。此外,该算法不强加显著的开销,尤其是当使用切片时。例如,720p30的全视频帧压缩到1Mbps需要每~42K字节进行BA对齐。因此,采用8K字节聚集,终止BA窗口的开销相对较小。
[0038]实现了切片的系统(如管线化单元)可能需要在这些帧切片的边界处实现块确收对齐。然而,MAC效率考量可能为管线单元规定了下限。就是说,当使用切片时,聚集本身可能变成有问题的。例如,对每16条扫描线进行切片会导致?926字节数量级的MSDU。
[0039]权益
[0040]向编码器反馈指示视频帧(或幻灯片)中的终接MSDU的成功传输的信号可约束由意外的越空传输错误率引起的延迟。在这种情形中,所述发射机应用可以通过跳帧、或通过缩放其他编码器参数来调适。
[0041]当经由上述实施例向视频帧应用块确收对齐时,可由发射设备为每个视频帧的终接MSDU计算一 TX-完成时间戳。这个时间戳可经由增强型MAC SAP提供回编码器。联同其他统计数据,该时间戳可为检测TX等待时间累积提供基础,并在多媒体发射机应用中触发合适的调适策略。
[0042]关于术语的注释
[0043]除非另有指示,否则在此使用的术语将被理解为意味着它们惯常和普通的意思。结合本文中公开的实施例描述的方法或算法的步骤可以直接实施于硬件中,实施于由处理器执行的软件模块中,或者实施于两者的组合中。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或任何其他形式的该领域已知的存储介质中。示例性存储介质可耦合到处理器,以便处理器可以从存储介质读取信息,或者向存储介质写入信息。在替换方案中,存储介质可以整合到处理器。处理器和存储介质可能驻留在ASIC中。ASIC可驻留在用户终端中。在替换方案中,处理器和存储介质可作为分立组件驻留在用户终端中。
[0044]所有上面所述过程的可实施在由一个或者多个通用或者专用的计算机或者处理器执行的软件代码模块中,并经由其来全自动化。代码模块可存储在任何类型的计算机可读介质或其他计算机存储设备或存储设备集合中。一些或所有方法也可替换地实施于专用计算机硬件中。
[0045]本文中描述的所有方法和任务可由计算机系统执行,并且经由其来全自动化。在某些情形中,该计算机系统包括多个相异的计算机或计算设备(例如,物理服务器、工作站、存储阵列等),其通过网络来通信和互操作,从而执行所描述的功能。每个此类计算设备通常包括处理器(或多个处理器,或者电路系统或电路组合(例如,模块)),其执行存储在存储器或其它非易失性计算机可读存储存储介质中的程序指令或模块。本文中公开的各种功能可实施在此类程序指令中,虽然一些或所有所公开的功能可替换地实现在计算机系统中的专用电路系统(例如,ASIC或FPGA)上。在计算机系统包括多个计算设备的场合,这些设备可以(但不是必须)处于一地。所公开的方法和任务的结果可能通过使物理存储设备(诸如固态存储器芯片和/或磁盘)转换成不同的状态来得以被持久地存储。
[0046]在一个实施例中,上面解说的过程、系统和方法可被部分或全部地实施在计算设备上运行的软件中。为计算设备中的组件和模块所提供的功能性可包括一个或多个组件和/或模块。例如,计算设备可以包括多个中央处理单元(CPU)和大容量存储设备,诸如可实现在服务器阵列中。
[0047]一般而言,在本文中使用的措辞“模块”是指实施在硬件或固件中的逻辑,或指软件指令的集合,其有可能有进入和退出点,用编程语言(例如Java、C或C++或类似语言)编写。软件模块可以被编译并链接成可执行程序,被安装在动态链接库中,或可用解释性语言(例如BASIC、Perl、Lua或Python)编写。将可领会,软件模块可以是可从其它模块或者从其自身进行调用的,和/或可响应于检测到的事件或中断而被调用。软件指令可被嵌入在固件中,诸如EPR0M。更将可进一步领会,硬件模块可由连接着的逻辑单元(诸如门和触发器)构成,和/或可由可编程单元(诸如可编程门阵列或处理器)构成。本文中描述的模块优选实现为软件模块,但也可以在硬件或固件中表示。一般而言,本文中所描述的模块是指逻辑模块,其可与其他模块相组合或被划分为子模块,而不管其物理组织或存储如何。
[0048]上述所有方法和过程可被实施在由一个或者多个通用计算机或者处理器执行的软件代码模块中,并经由其来全自动化。代码模块可以存储在任何类型的计算机可读介质或其它计算机存储设备中。一些或所有方法也可替换地实施于专用计算机硬件中。
[0049]虽然以某些实施例的形式来讨论了本发明,但应当领会本发明不受此所限制。这些实施例在本文中借助于示例来进行解释,并且有众多可被采用且仍将落在本发明范围内的修改、变动和其他实施例。
【权利要求】
1.一种流传输与MAC层数据对齐系统,包括: 处理模块,配置为: 基于旗标启动块确收序列; 确定视频时钟频率与视频帧速率之间的关系,所述视频时钟频率与实时协议(RTP)流相关联; 确定第一 RTP时间戳与第二 RTP时间戳之间的差量,至少所述第一 RTP时间戳是从所述RTP流中的分组推导出的;以及 如果所述差量大于零并且所述差量是该关系的整数倍,则停止块确收序列。
2.如权利 要求1所述的系统,其中所述关系包括所述视频时钟频率除以所述帧速率。
3.如权利要求1所述的系统,其中所述处理模块进一步配置为递增计数器。
4.如权利要求1所述的系统,其中所述第二RTP时间戳是参考RTP时间戳。
5.如权利要求1所述的系统,其中所述处理模块被进一步配置为如果所述块确收序列被停止,则重置所述旗标。
6.一种使用一个或多个计算机系统实现以用于将流传输与MAC层对齐的方法,包括: 基于旗标来启动块确收序列; 确定视频时钟频率与视频帧速率之间的关系,所述视频时钟频率与RTP流相关联; 确定第一 RTP时间戳与第二 RTP时间戳之间的差量,至少所述第一 RTP时间戳是从所述RTP流中的分组推导出的;以及 如果所述差量大于零且所述差量是所述关系的整数倍,则停止块确收序列。
7.如权利要求6所述的系统,其中所述关系包括所述视频时钟频率除以所述帧速率。
8.如权利要求6所述的系统,其中所述处理模块进一步配置为递增计数器。
9.如权利要求6所述的系统,其中所述第二RTP时间戳是参考RTP时间戳。
10.如权利要求6所述的系统,其中所述处理模块被进一步配置为如果所述块确收序列被停止,则重置所述旗标。
11.一种包括指令的非暂态计算机可读介质,所述指令在被执行时使处理器执行如下方法: 基于旗标来启动块确收序列; 确定视频时钟频率与视频帧速率之间的关系,所述视频时钟频率与RTP流相关联; 确定第一 RTP时间戳与第二 RTP时间戳之间的差量,至少所述第一 RTP时间戳是从所述RTP流中的分组推导出的;以及 如果所述差量大于零且所述差量是所述关系的整数倍,则停止块确收序列。
12.如权利要求11所述的系统,其中所述关系包括所述视频时钟频率除以所述帧速率。
13.如权利要求11所述的系统,其中所述处理模块进一步被配置为递增计数器。
14.如权利要求11所述的系统,其中所述第二RTP时间戳是参考RTP时间戳。
15.如权利要求11所述的系统,其中所述处理模块被进一步配置为如果所述块确收序列被停止,则重置所述旗标。
16.—种流传输与MAC层对齐系统,包括: 用于基于旗标来启动块确收序列的装置;用于确定视频时钟频率与视频帧速率之间的关系的装置,所述视频时钟频率与RTP流相关联; 用于确定第一 RTP时间戳与第二 RTP时间戳之间的差量的装置,至少所述第一 RTP时间戳是从所述RTP流中的分组推导出的;以及 用于如果所述差量大于零且所述差量是所述关系的整数倍则停止块确收序列的装置。
17.如权利要求16所述的系统,其中所述关系包括所述视频时钟频率除以所述帧速率。
18.如权利要求16所述的系统,其中所述处理模块进一步配置为递增计数器。
19.如权利要求16所述的系统,其中所述第二RTP时间戳是参考RTP时间戳。
20.如权利要求16所述的系统,其中所述处理模块被进一步配置为如果所述块确收序列被停止,则重置所 述旗标。
【文档编号】H04L1/16GK104081746SQ201380007160
【公开日】2014年10月1日 申请日期:2013年1月18日 优先权日:2012年1月31日
【发明者】V·K·琼斯四世, D·S·金 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1