具体实施方式
一些实施例提供用于可在基站或其它装置中实施的多元控制系统的系统和方法。控制系统可被配置来用于减轻在容量与频谱受限的多址通信网络中各种干扰情境的效应。在其它实施例中,控制系统可被配置来用于进行对总带宽需求的调整或改变总带宽需求。本文中提供的系统和方法可使用控制响应来驱动通信系统中的改变。一种此控制响应包括在容量受限条件下网络数据包的最佳丢弃(在本文中也称为“智能丢弃”)。一些实施例通过选择性地丢弃数据包以增强所感知的和实际的系统吞吐量来提供交互式响应,其它实施例通过基于数据包对服务质量的相对影响来选择性地丢弃数据包以减轻超额订阅来提供反应式响应,其它实施例通过基于预测到的超额订阅而丢弃数据包来提供主动式响应,且其它实施例提供其组合。
根据实施例,提供交互式响应技术,其允许传输和无线接入网络(RAN)/射频(RF)参数为了抵抗来自相邻小区的干扰的健壮性而被最优化且为了对相邻小区的干扰的减轻而被最优化。通过确定和考虑用于一组活动服务的吞吐量等级和相关联质量分数来执行这些最优化。可维持高质量用户体验,其中通过选择性地丢弃数据包来控制所感知的和实际的系统吞吐量。
根据实施例,提供反应式响应技术,其允许基于选定数据包对服务质量的相对影响来丢弃选定数据包以便减轻由传输参数的修改或由变化RAN/RF参数引起的超额订阅,从而减轻相邻小区之间的干扰。响应于变化可用带宽来反应式地丢弃数据包可提供针对给定量的带宽,用户体验的所感知的质量的增加,且可提供针对给定量的带宽可维持的服务的数目的增加。
根据实施例,提供主动式响应技术,其可通过预测超额订阅且在预计到超额订阅之前选择性地丢弃数据包或标记数据包以进行有效率的丢弃来提高用户体验的质量和系统吞吐量。响应预计到的超额订阅来主动式地丢弃数据包可提供针对给定量的带宽,用户体验的所感知的质量的增加,且可提供针对给定量的带宽且针对给定量的带宽的改变,可维持的服务的数目的增加。在实施例中,选择性地主动式地丢弃数据包可用来最优化传输和RAN/RF参数,以增加抵抗来自相邻小区的干扰的健壮性,且在预计到引起对此类参数改变的需要的事件时减轻对相邻小区的干扰。主动式地应用智能丢弃和考虑智能丢弃以在宽带事件发生之前主动式地修改传输和RAM/RF参数可以提供更好的用户体验转变,所述更好的用户体验转变可通过等待直到带宽限制事件之后才应用智能丢弃以及修改传输和RAN/RF参数来实现。
一些实施例提供用于可在基站中实施的多元控制系统的系统和方法。控制系统可被配置来减轻在容量与频谱受限的多址通信网络中各种干扰情境的效应。在其它实施例中,控制系统可被配置来用于进行对总带宽需求的调整或改变总带宽需求。
本文中公开的系统和方法可应用于各种容量受限通信系统,包括但不限于,导线传输线和无线技术。例如,本文中公开的系统和方法可由蜂窝式2G、3G、4G(包括长期演进(“LTE”)、高级LTE、WiMax)、WiFi、超级移动宽带(“UMB”)、电缆调制解调器,和其它导线传输线或无线技术使用。尽管本文中用来描述具体实施例的短语和术语可应用于特定技术或标准,但本文中描述的系统和方法不局限于这些具体标准。
尽管用来描述具体实施例的短语和术语可应用于特定技术或标准,但所描述的方法仍然可适用于所有技术。
根据实施例,本文中公开的包括数据包的智能丢弃的系统和方法可在执行调度的通信系统内的任何实体内实践。这包括下行链路带宽通过任何形式的基站的调度,任何形式的基站包括宏小区、微微小区、企业毫微微小区、家庭毫微微小区、中继站或任何其它形式的基站。根据实施例,智能丢弃可由在上行链路方向上传输的任何形式的装置执行,任何形式的装置包括用户装置(固定的和移动的)和中继装置。根据实施例,智能丢弃可通过收纳在核心网络中的调度算法或模块执行,核心网络在中心指导装置的行动。根据实施例,智能丢弃可由诸如基站的实体预测性地执行,诸如基站的实体分配上行链路带宽以供另一实体(诸如己知能够进行智能丢弃的用户装置)使用。基站与用户装置可协商用户装置是否具有智能丢弃能力,或在一些实施例中,可基于用户装置的型号识别来确定用户装置是否具有智能丢弃能力。
基本部署
图1是根据实施例的可实施本文中公开的系统和方法的无线通信网络的框图。图1图示包括宏小区、微微小区和企业毫微微小区的通信系统的典型基本部署。在典型部署中,宏小区可在与由小波形因数(SFF)基站(包括微微小区和企业或家庭毫微微小区)使用的一个或多个频率信道分离的一个或多个频率信道上传输和接收。在其它实施例中,宏小区和SFF基站能共享相同频率信道。地理与信道可用性的各种组合可产生可影响通信系统的吞吐量的多种干扰情境。
图1图示通信网络100中的的典型微微小区和企业毫微微小区部署。宏基站110通过标准回程170连接到核心网络102。用户站150(1)和150(4)可通过宏基站110连接到网络。在图1中图示的网络配置中,办公楼120(1)造成覆盖阴影104。可经由标准回程170连接到核心网络102的微微站130可提供对覆盖阴影104中的用户站150(2)和150(5)的覆盖。
在办公楼120(2)中,企业毫微微小区140提供对用户站150(3)和150(6)的楼中覆盖。企业毫微微小区140可通过利用由企业网关103提供的宽带连接160经由ISP网络101连接到核心网络102。
图2A是根据实施例的可实施本文中公开的系统和方法的另一无线通信网络的框图。图2A图示通信网络200中的典型基本部署,通信网络200包括部署在住宅环境中的宏小区和家庭毫微微小区。宏小区基站110可通过标准回程170连接到核心网络102。用户站150(1)和150(4)可通过宏基站110连接到网络。在家庭220内部,家庭毫微微小区240可向用户站150(7)和150(8)提供家中覆盖。家庭毫微微小区240可通过利用由电缆调制解调器或DSL调制解调器203提供的宽带连接260经由ISP网络101连接到核心网络102。
图2B是接入点或基站的高级功能框图。应注意,相同的或相似的功能块也在无线通信系统的其它元件(例如,宏小区、微微小区、企业毫微微小区和用户站)中呈现,且本文对图2B中描绘的系统的引用意欲也适用于此类其它元件。基站包括调制解调器部分272,其传输且接收无线信号。调制解调器272有时也称为RF卡。调制解调器还可测量和确定所接收信号的各种特性。控制与管理部分270通常负责基站的操作。控制与管理部分270包括较高级控制部分274和一个或多个MAC(媒介接入控制)层或模块276和PHY(物理)层或模块280。一般而言,MAC层276通过协调到共享无线电信道的接入且利用增强无线媒介上的通信的协议来管理且维护各个站(用户站接入点/基站)之间的通信。在MAC层276内的是调度器278。一般而言,PHY层280负责比特在无线链路上的传输。在本文中描述的一些实施例中,控制与管理部分270实施本文中描述的系统和方法。
干扰情境
各种干扰情境可导致通信网络的所感知的和实际的性能的减少。例如,第三代合作伙伴计划(3GPP)已识别技术报告(3GPP TR25.967)中的许多干扰情境,其通过引用整体并入本文中。干扰情境的一些实例包括:(1)自用户站到SFF基站的上行链路(UL)传输干扰宏小区基站的UL;(2)SFF基站的下行链路(DL)传输干扰宏小区基站DL;(3)自用户站到宏小区基站的UL传输干扰SFF基站上行链路;(4)宏基站的DL传输干扰SFF基站DL;(5)从用户站到SFF基站的UL传输干扰SFF站的UL;(6)SFF基站的DL传输干扰SFF基站DL;和(7)对其它技术的系统和来自其它技术的系统的干扰。
避免与减轻技术
图3是图示根据实施例的多元控制系统的功能元件的实例的逻辑框图,其用于减轻在诸如上文所述的容量与频谱受限的多址通信网络中的各种干扰情境的效应。系统的功能性在图3中显示为分解成多个模块以更清楚地图示控制系统的功能性。控制系统可在宏小区基站、微微小区或毫微微小区(诸如图1、图2A和图2B中图示的宏小区基站110、微微站130和家庭毫微微小区240)中实施。或者,各个部分可分布到基站控制器(BSC)或核心网络102的其它元件。在一个实施例中,控制系统实施于图2B中所示的基站的MAC层276中。
在实施例中,控制系统可被配置来提供以下区域中的最佳响应:(1)干扰避免和(2)干扰减轻。控制系统可通过RF/RAN参数的最佳控制来避免射频(RF)接口。控制系统还可以在干扰不能避免或在干扰避免或减轻导致减少的带宽可用性时保持数据包的服务质量(“QoS”)。
根据实施例,可由控制系统使用各种类型的输入参数。在实施例中,这些输入参数可划分成策略参数和环境参数。策略参数模块310可被配置来接收策略参数,且环境参数模块320可被配置来接收环境参数。由策略参数模块310接收的策略参数是由(例如)网络提供商定义的操作要求。这些策略参数可分解成两组系统要求:QoS策略和干扰策略。在实施例中,策略参数可包括在应用层级下、按照时间/天、按照服务水平协议(SLA)的QoS策略、手动地定义的QoS参数,或其组合。策略参数也可包括与各种干扰有关参数有关的策略,诸如接收信号强度指示(RSSI)、每比特能量与噪声功率谱密度的比率(Eb/N0),载波干扰比(C/I)、噪声地板(从所有噪声源与不需要的信号的总和产生的信号的测量)或其它干扰有关参数。控制系统可使用策略参数来确定当干扰无法避免时可采取以避免干扰且减轻干扰的行动类型。
由环境参数模块320接收的环境输入参数包括描述RF网络和系统环境的操作状态的实时信息。此信息可在基站(例如,如图1、图2A和图2B中描绘的宏小区、微微小区或毫微微小区)处获得,或由用户站报告,且也可包括关于相邻小区的信息。环境输入参数320可进一步划分成两个输入参数类别:自环境参数和远程环境参数。自环境参数是与在其中控制系统被实施的站有关的环境参数或通过该站获得的环境参数。例如,在一个实施例中,自环境参数可包括RF和回程毫微微小区或微微小区端口两者的层1-7参数。远程环境参数与可具有对基站的操作环境的影响的基站附近的其它小区和/或用户设备操作有关或由该操作获得。例如,在实施例中,远程环境参数可包括由基站定义的用户设备(UE),核心网络和其它相邻小区的层1-7参数,诸如演进节点B(eNB或eNodeB),以及微微站和毫微微小区,诸如演进家庭节点B装置(eHNB或家庭eNodeB),统称为e(H)NB装置。
根据策略参数和环境参数,可导出额外参数集合,包括控制设定点、实时轮廓和图案。控制设定点模块315被配置来从由策略参数模块310从网络提供商接收的策略输入导出控制设定点,或可手动地导出。控制设定点包括可用作控制回路目标值的量化参数。这些量化参数可划分成QoS参数和干扰参数。针对视频内容,QoS参数的一些实例包括帧尺寸和帧速率,和按照数据包类型的帧误差率(FER)。针对语音内容,QoS参数的一些额外实例包括平均意见得分(“MOS”)、延迟和抖动。针对数据内容,QoS参数的额外实例是吞吐量和比特误差率(BER)。干扰有关参数可包括(但不限于)各种干扰有关参数,诸如接收信号强度指示(RSSI)、每比特能量与噪声功率谱密度的比率(Eb/N0),载波干扰比(C/I)和噪声地板(从所有噪声源与不需要的信号的总和产生的信号的测量)。控制设定点可由控制系统的评定模块330使用来基于RF网络和系统环境的实时轮廓325评定通信网络的当前状态,且确定是否应产生反馈信号来调整网络的操作状态。
实时轮廓模块325被配置来基于由环境参数模块320接收的环境输入参数产生通信系统的实时轮廓。在实施例中,实时轮廓包括反映通信网络的当前操作条件的量化参数。实时轮廓可包括QoS和干扰有关参数。QoS有关参数的一些实例包括BER、吞吐量、延迟/抖动、协议有关参数和应用有关参数。干扰有关参数可包括,但不限于,各种干扰有关参数,诸如接收信号强度指示(RSSI)、每比特能量与噪声功率谱密度的比率(Eb/N0),载波干扰比(C/I)和噪声地板(从所有噪声源与不需要的信号的总和产生的信号的测量)。根据实施例,实时轮廓可包括数据报、电子表格,或通信网络的当前操作条件的其它表示。
图案模块335被配置来产生图案,该图案包括可用来产生前馈控制响应的一组历史量化参数图案。可从由环境参数模块320接收的环境参数和由实时轮廓模块325产生的实时轮廓导出该等图案。这些图案可在网络上反映使用图案。例如,在实施例中,图案可包括与日期和/或时间有关的具体驱动器、具体应用或协议,和/或具体UE。
由控制设定点模块315产生的控制设定点和由实时轮廓模块325产生的实时轮廓可由评定模块330评定,以比较在实时轮廓中表示的通信网络的当前操作参数与控制设定点,来确定网络的当前操作条件是否满足策略参数中包括的操作要求。如果网络的当前操作条件不满足策略参数中陈述的要求,那么评定模块330可产生指示需要调整通信系统的操作参数的反馈信号。
控制响应模块被配置来从评定模块330接收反馈信号。控制响应模块340(在本文中也称为最优化模块)被配置来在试图满足运营商策略的要求时最优化通信网络的操作参数。控制响应模块340可被配置来基于从评定模块330接收的反馈信号而产生控制信号。该控制信号分成两个类别:“自的”和“远程的”。自控制信号可应用于基站自身(e(H)NB)以改变基站的操作参数,且远程控制信号可应用于网络的远程装置或组件(包括UE、核心网络和其它e(H)NB)以改变网络的远程装置或组件的操作参数。
图4是根据实施例的可用来通过使用图3中图示的系统产生RF网络和系统环境的前馈和反馈调整的方法的流程图。获得经更新环境输入,其表示RF网络和系统环境的当前状态或新的当前状态(步骤410)。环境输入对应于由通信系统的环境参数模块320产生的环境参数。如上文所描述,环境参数可包括与从微微小区或毫微微小区、用户站和包括宏小区、微微小区和毫微微小区的相邻小区获得的RF网络和系统环境有关的实时信息。也从经更新环境输入导出实时轮廓(步骤415)。在实施例中,实时轮廓对应于由实时轮廓模块325产生的实时轮廓,且可由在步骤410中获得的环境输入参数产生。
可进行关于实时轮廓是否匹配由控制设定点模块315产生的设定点的确定(步骤420)。如上文所描述,控制设定点包括可用作控制回路目标值的量化参数。可从由网络提供商定义的策略参数导出控制设定点。如果实时轮廓与设定点不匹配,那么与RF网络和系统环境有关的所收集的实时信息指示网络的操作状态已脱离从网络提供商的运营商策略导出的设定点。作为响应,可产生反馈调整控制信号(步骤440)来引导通信网络朝向与策略参数一致的操作状态。
图案模块335可从实时轮廓和环境输入参数导出图案(步骤425)。在实施例中,图案包括一组历史量化参数图案。进行关于图案是否已改变的确定(步骤430),且如果图案已改变,那么可使用历史量化参数图案来产生前馈控制响应(步骤435),前馈控制响应可用来调整可用来引导通信网络朝向所期望状态的各种操作参数。
可使用在步骤440中产生的反馈信号和在步骤435中产生的前馈信号来产生一组控制信号(步骤450),该组控制信号可应用于‘自’e(H)NB和远程装置,包括UE、核心网络和其它e(H)NB。
进行关于网络提供商是否已进行运营商策略的改变的确定(步骤470)。如果网络运营商已进行策略参数的改变,那么在返回到步骤410之前可通过控制设定点模块315从运营商策略产生新设定点(步骤475)。否则,方法返回到步骤410,在步骤410中收集环境输入。
输入
SFF基站能够接入可在产生用于控制响应模块340的反馈和前馈信号时使用的各种环境信息。此信息可以是环境参数320的一部分,环境参数320可用来产生由实时轮廓模块325产生的实时轮廓和由图案模块335产生的图案。信息可在图4中图示的方法的步骤410期间由SFF基站收集。例如,根据实施例,以下环境输入数据对SFF基站来说通常是可用的(感测到,报告给,等等):(1)来自宏BTS的信号强度,(2)来自其它SFF基站的信号强度,(3)宏基站和SFF基站是否是共信道(或邻近信道)的知识;(4)相邻的小区识别数据;和(5)宏网络具体信息和系统参数阈值。SFF基站可用的额外信息的一些实例包括:DL共信道载波RSSI、DL邻近信道载波RSSI、每码片公用导频信道(CPICH)能量比总噪声功率(Ec/No)、宽带接收总功率(RTWP)、公众陆地移动网络(PLMN)ID、小区ID、本地区域码(LAC)、路由区域码(RAC)、扰码、共信道CPICH接收信号码功率(RSCP)、邻近信道CPICH RSCP、P-CPICH传输器功率、宏小区数据速率和宏小区盲区覆盖。宏小区数据速率和宏小区盲区覆盖可考虑各种信息,包括宏站负载、活动SFF基站的数目、SFF基站与宏站的距离、衰减环境,和时段。SFF基站可具有SFF基站可用的宏站参数信息,包括目标SNR、测量的SNR和接收功率。
调整
以下项是可在步骤450中通过SFF基站响应于经由感测接收的环境信息而调整的参数类型的一些实例:(1)DL功率,(2)UL噪声升高目标(UL调度器),(3)UL功率,(4)控制信道/数据信道功率比,(5)接收器增益,(6)载波频率,(7)DL扰码,(8)LAC,和(9)RAC。
额外输入
SFF基站能够接入额外输入信息。此信息可以是环境参数320的一部分,其可用来产生实时轮廓325和图案335。信息可在图4中图示的方法的步骤410期间由SFF基站收集。例如,诸如实时流量度量的额外输入对于SFF基站来说也可以是可用的,且可用来产生实时轮廓325。例如,实时流量度量,诸如活动UE的数目、空闲UE的数目、UE移动性和位置改变的指示符、聚集UL使用、聚集DL使用、层4-7轮廓(语音、视频、网、远程传输(FTP)等等)、回程容量和每一连接BER。每一连接BER数据可在混合自动重复请求(HARQ)之前或在其它重试机制之前或在HARQ或其它重试机制之后获得。在一些实施例中,每一连接BER可在无HARQ的情况下获得。在一些实施例中,每一连接BER数据可包括关于重试的统计信息。
历史图案数据(诸如图案335)对于SFF基站来说也可以是可用的,诸如一天中的时间数据、一周中的某天数据、当地假日数据、进入网络的已知/未知UE、典型使用速率和典型使用期限。该历史数据可用来产生图案335,图案335可用来产生如上所述的前馈控制信号。
策略输入数据对于SFF基站来说也可以是可用的,诸如QoS要求数据、优先权数据、数据包检查数据和高级天线输入。此策略信息可以是以上描述的运营商策略数据310的一部分。QoS要求数据可包括延迟容忍数据、抖动容忍数据、BER/PER容忍数据、最小接受速率数据和/或其它QoS有关数据。优先权输入数据可包括与用户之间、服务类之间、连接之间、和/或来自同一服务类的数据包之间的优先权有关的数据。数据包检查数据和高级天线输入数据对于SFF基站来说也可以是可用的。
额外参数调整
可在尝试纠正超额订阅时在步骤450中调整额外参数。在一个实施例中,可使用RAN/RF参数(诸如调制编码、子信道化、帧内时间、子信道与时间跳跃、多重输入多重输出(MIMO)参数和波束形成)来纠正通信系统上的超额订阅。在另一实施例中,可使用流量监管来纠正超额订阅。可使用各种类型的流量监管,包括速率限制、数据包阻断、数据包丢下和/或智能丢弃。在下文描述用于智能丢弃的各种技术,可使用智能丢弃来纠正超额订阅。
最优化性能
根据实施例,所描述系统和方法包括最优化模块,最优化模块用来通过基于QoS、优先权和策略来变化扩展RAN/RF参数以最优化性能(在本文中也称为“最优化模块”)。根据实施例,最优化模块可在基站(包括宏小区、微微小区或毫微微小区基站)中实施。
在一个实施例中,最优化模块被配置来建立用于每一服务类(CoS)或连接的BER/PER或其它质量度量级。在一个实施例中,可基于已知/未知的用户设备对质量度量进行优先次序排定,其中可向己知用户设备给予比未知用户设备高的优先权。用户设备可包括移动、瞬变和固定用户站。在另一实施例中,可基于具体UE身份来对质量度量进行优先次序排定,且在又一实施例中,可基于应用来对质量度量进行优先次序排定。
根据实施例,最优化模块被配置来建立用于每一服务类或连接的所需/所期望吞吐量。可基于UE是否是已知的或未知的、基于具体UE身份或基于具体应用可选地修改所需/所期望吞吐量。
根据实施例,最优化模块被配置来使用基于标准的方法来导出基准线干扰情境和基准线RAN/RF参数。
根据实施例,基准线干扰情境和基准线RAN/RF参数可随着在通信网络中条件改变而实时地改变。例如,改变条件中的一些包括:活动/不活动UE的数目、相邻小区中的流量和UE位置中的改变的指示符(诸如往返延迟、RSSI和经由接收波束形成的追踪)。
根据实施例,最优化模块可随着条件改变而实时地变化实际情境和实际RAN/RF参数。例如,在一个实施例中,如果服务的BER或质量度量下降低于阈值,那么服务的所需物理参数可设定为比基准线值更健壮。例如,可改变MIMO且可应用波束形成高级天线技术。此外,可进行调制编码改变来改良健壮性。或者,可进行关于是否超过基准线干扰情境和/或RAN/RF参数的确定。例如,确定可以是基于感测数据、来自中心控制器的许可/与中心控制器的协商、来自相邻BTS的许可/与相邻BTS的协商的,或使用空间多路传输(波束形成等)来最小化干扰。或者,可选择子信道和帧中的时间位置(例如,正交频分复用(OFDM)码元、时间槽等等)来避免常规干扰。或者,可随机化子信道和帧中的时间位置来在统计上避免干扰或选择性地增加潜在引起的干扰,但通过随机化来减轻影响。
在实施例中,如果需求超过新的最大聚集吞吐量(DL或UL,包括用于管理活动UE和空闲UE的带宽),然后最优化模块可采取步骤来减轻超额订阅。在一个实施例中,延迟容忍流量可延迟来暂时地降低需求。例如,一种方法包括延迟和缓冲内容,诸如实况转播视频。实况转播视频可延迟且缓冲,只要时延(抖动)的变化保持在时延/抖动缓冲的容量/时间限制之内。在另一实施例中,使用“下载以供稍后使用”内容的实质迁延来减少网络上的需求。例如,在一个实施例中,随着内容被接收(例如,非流式内容)而不被耗尽的音乐和/或视频内容的下载可暂时地迁延,直到网络上的需求减少。
在另一实施例中,如果需求超过新的最大聚集吞吐量,那么最优化模块可选择性地丢弃服务内的帧以减少网络上的需求。例如,一些运动图片专家组(MPEG)帧与其它帧相比是较不重要的,且可选择性地丢弃以便减少通信系统上的需求。在另一实例中,可丢弃具有高于用于服务的最小可接受速率的速率的数据包以降低需求。
在又一实施例中,如果需求超过新的最大聚集吞吐量,那么可使用呼叫准入控制(CAC)来缩减服务。在一些实施例中,可基于优先权来缩减服务,而在一些实施例中,可基于应用来缩减服务。
根据实施例,当条件改良时,如果需求超过新的最大聚集吞吐量,那么可撤消所采取的各种减轻行动。例如,在一个实施例中,可使用滞后来使反应平滑。
图5是图示根据实施例的可由上文描述的最优化模块实施的方法的流程图,最优化模块用来通过基于QoS、优先权和策略来变化扩展RAN/RF参数以最优化性能。在实施例中,图5中图示的方法可由图3中图示的(例如)在MAC和PHY部分中的控制系统实施。在实施例中,图5的方法可在图4的步骤450中实施。
方法开始于步骤501,其中相并行地,方法确定系统的RAN/RF方面(步骤510、512和514)和系统的QoS与流量管理方面(步骤520、522、524和526)。
在步骤510中,导出且监控基准线干扰情境,且产生用于RAF/RF参数设定的基准线。在实施例中,用来导出基准线干扰情境的输入可包括典型输入,诸如在3GPP TS25.967中提出的输入,和如在本文件中提出的额外输入或两者。经调整的RAN/RF参数可包括典型输入,诸如在3GPP TS25.967中提出的输入,和如在本文件中提出的额外RAN/RF参数或其组合。在一个实施例中,可由评定模块330执行步骤510。
在步骤512中,实时地进行关于影响干扰情境和表示RF网络和系统环境的当前状态的RAN/RF参数的因素中的任何者是否已改变的确定。如果这些因素未改变,那么此并行活动继续,其中方法前进到步骤530。如果因素已改变,那么方法前进到步骤514,其中修改基准线干扰和RAN/RF参数以考量观察到的改变,且方法前进到决策步骤530。在一个实施例中,可由评定模块330执行步骤512,且可由控制响应模块340执行步骤514。
可与步骤510并行地开始管理对服务类和个别连接的影响,和反过来管理个别服务和其相关联服务类对接口环境的影响的过程。在步骤520中,针对每一服务类或每一个别服务或连接建立最大或目标比特误差率(BER)或数据包误差率(PER)(或其它质量度量)。可监控每一个别服务或连接的实际BER、PER或其它质量度量。可基于由网络提供商提供的运营商策略信息310确定最大或目标BER和PER值。另外,在步骤520中,还可确定服务的吞吐量需要或目标。这些吞吐量目标可具有多个等级,从而对应于需要吞吐量的不同等级的QoS的多个等级。吞吐量目标还可基于在通信协议的各种层处使用的应用或输送机构的知识来考虑预期的再传输。在一个实施例中,可由控制设定点模块315执行步骤520。
在步骤522中,进行关于实际误差率(诸如BER或PER)或其它实际质量度量是否超过在步骤510中确定的用于连接的目标阈值的确定。如果BER或其它质量度量超过连接的阈值,那么方法前进到决策步骤524以开始采取校正行动的过程。否则,如果质量度量不比目标差,那么方法前进到决策步骤530。在一个实施例中,可由评定模块330执行步骤522。
在步骤524中,进行关于受影响服务提供商以可超过基准线干扰情境和基准线RAN/RF参数的方式操作是否是可接受的判定,其可引起对在相邻小区中活动的服务的较大干扰。例如,传输功率的暂时轻微增加(例如,0.5dB)可增加对相邻小区中的服务的干扰的可容忍增加。如果受影响服务提供商以可超过基准线干扰情境和基准线RAN/RF参数的方式操作是是可接受的,那么方法前进到步骤514,其中可暂时地调整基准线干扰情境和RAN/RF参数以适应对用于服务的改良的QoS的需要。根据实施例,可针对受影响服务或连接单独地允许此调整,或可针对小区总体地允许此调整。在一个实施例中,可由评定模块330和/或控制响应模块340执行步骤524。
如果在决策步骤524中,做出不能超过基准线干扰情境的确定,那么方法前进到步骤526,其中在不侵犯当前基准线干扰情境的情况下修改服务的传输参数以获得目标BER/PER或质量度量。在实施例中,这可包括调制编码、传输功率或其它可调整传输参数中的任一者的改变。在一个实施例中,可由控制响应模块340执行步骤526。
根据实施例,在调整参数时,存在满足需求的带宽要求能超过小区的当前可用聚集吞吐量的可能性。因此,方法的两个并行路径前进到决策步骤530,其中进行关于需求是否超过当前可用聚集吞吐量的确定。如果不超过小区的当前可用聚集吞吐量,那么方法返回到步骤501且可连续地重复。否则,方法在继续到步骤501以进行重复之前继续到步骤540。在步骤540中,选择且应用用来减轻超额订阅的方法。在下文描述减轻超额订阅的若干方法。在一个实施例中,可由控制响应模块340执行步骤530和540。
根据实施例,图5中图示的方法可包括(例如)在频分双工(FDD)系统中独立地操作的上行链路实例和下行链路实例。反过来,在其它实施例中,上行链路实例和下行链路实例可需要共享时分双工(TDD)系统中的信息,其中上行链路和下行链路在相同频率上且可因此在某些情形下促成干扰。这对于动态地适配上行链路/下行链路比率的TDD系统来说可以是尤其真实的。
根据实施例,最优化模块还可以实施另一方法来基于历史数据最优化性能以执行预计适配,从而降低潜在的超额订阅。根据实施例,最优化模块可实施此第二方法,第二方法可用来更新运营商策略310。干扰的历史可通过感测和/或通过使用从其它网络元件(例如,核心网络、BTS、UE)接收的共享度量来建造。干扰数据可按照日期和/或时间来分组,以便建造用于各种时间帧的干涉图案的图片。例如,干扰数据可按照一天中的时间、一周中的某天或按照将数据标记为假日或非假日来分组。感测和/或共享度量还可包括用于SFF基站的自身小区和/或用于相邻小区的流量度量。这还可包括“使用记忆逐渐减弱来更新”,其中使用加权平均、指数平均或某种其它方法来给予较新数据更高重要性。
可基于已建造的干扰的历史来进行抢先决策。例如,可进行关于更多或更少严格CAC、策略和/或功率控制是否会帮助降低超额订阅的可能性的确定。在实施例中,可做出是否有可能取舍健壮性与BER/PER的确定。
根据实施例,在不期望使用图案扰乱第二方法中描述的预测性干扰方法的情况下,可使用基于上文描述且图5中图示的第一方法的实时监控。在实施例中,预测性数据可用于基准线情境,且第一方法可用于系统的实时最优化。在另一实施例中,使用第二方法产生的预测性数据可用来更新运营商策略310,且第一方法可用来应用经更新策略。
智能丢弃
参看图5,可将智能丢弃用作方法步骤540的技术中的一个,其用来减轻由步骤526中的传输参数的修改引起的超额订阅或由步骤514中的变化干扰情境和RAN/RF参数引起的超额订阅。这是智能丢弃的反应式形式。这是智能丢弃的反应式形式。或者,可使用可用智能丢弃技术的知识来影响步骤520中的吞吐量等级目标、步骤526中的传输参数修改,和步骤514中的干扰情境和RAN/RF参数的改变。这是智能丢弃的交互式形式。交互式形式可进一步通过使用其它系统信息来主动式地进行以预测带宽的未来超额订阅。
根据实施例,可由通信网络的执行调度的任何实体来实践智能丢弃。此可包括下行链路带宽通过任何形式的基站的调度,任何形式的基站包括宏小区、微微小区、企业毫微微小区、家庭毫微微小区、中继站或任何其它形式的调度。智能丢弃可由在上行链路方向上传输的任何形式的装置执行,任何形式的装置包括用户装置(固定的和移动的)和中继装置。在实施例中,智能丢弃可通过在核心网络中实施的调度算法或模块执行,核心网络在中心指导装置的行动。在另一实施例中,智能丢弃还可由诸如基站的实体预测性地执行,诸如基站的实体分配上行链路带宽以供另一实体(诸如能够进行智能丢弃的用户装置)使用。基站与用户装置可协商用户装置是否具有智能丢弃能力,或此基于用户装置的型号识别可为已知的。根据实施例,此方法可被称为合作式智能丢弃,其中分配带宽以供网络中能够智能丢弃的另一实体使用的实体(诸如基站)可与该另一实体协调。
反应式智能丢弃
在图5的步骤530中,进行关于针对带宽的应用层吞吐量需求当前是否超过可用聚集吞吐量或具体会话或连接是否超过其已分配吞吐量的确定。例如,在步骤520中,可针对由讨论中的基站服务的活动连接来建立吞吐量等级目标。这些目标等级可以诸如比特/秒或字节/秒的量化术语表达。在实施例中,这些目标等级可包括对再传输的宽裕度。基于在步骤526中选择的传输参数和在步骤510和514中选择的RAN/RF参数,吞吐量等级可转变为所需物理层资源,诸如在3GPP LTE中使用的资源块、QAM码元、OFDM码元、子信道、UL/DL比率或其组合。所需物理层资源可包括对HARQ或其它再传输的宽裕度。一旦转换为物理层资源,那么吞吐量等级目标或需求可与可用物理层资源进行比较,如步骤530中所指示。该比较可返回控告关于物理资源的需求当前超过可用物理资源的结果。在这种情况下,为了不超过可用物理资源,物理资源需求的降低是有必要的。这进而确定在会话、连接和/或应用处带宽的当前需求的必要减少。
根据替代实施例,可使用其它方法来确定关于物理资源的需求是否超过可提供可用于反应式智能丢弃的可用吞吐量度量的可用物理资源。
一旦作出应用层吞吐量需求超过可用物理资源的确定,那么可在步骤540中使用智能丢弃来降低需求,同时最小化缩减个别服务的需要且同时最大化由最终用户感觉到的质量。
例如,如果关于VoIP服务的资源需求超过可用物理资源10%,那么随机(不智能)丢弃会引起连续不断的或接近连续不断的VoIP数据包被丢弃。相反,反应式智能丢弃可识别可丢下以便减少针对带宽的超出需求的至少一部分同时保持呼叫的所感知质量的数据包的数目。例如,在一个实施例中,在智能丢弃系统中,调度器278(参见图2B)可丢弃每第十个数据包。此可包括已经由调度器排列的数据包,或如所正排列的数据包,或两者。与通过随机丢弃算法的所丢弃数据包的聚集成团相比,通过智能丢弃方法进行的经丢弃数据包的均匀分布可较不容易被最终用户注意到。根据实施例,可使用其它图案来选择待丢弃的数据包,只要该选定的图案使被丢弃的连续不断的和接近连续不断的数据包的数目最小化。
根据实施例,丢弃方法还可视所使用的具体语音协议和编码解码器而定来进行调整。智能丢弃可允许呼叫以如由质量分数所确定且与运营商、系统或本地策略相比较的可接受质量继续。
在另一实例中,在MPEG-2传输中,音频数据包是比视频数据包更重要的,因为与人们注意到视频质量的改变相比,人们更容易注意到MPEG-2传输中的音频质量的改变。另外,视频数据包包括帧内编码帧(“I帧”)、预测性编码帧(“P帧”)和双向预测性编码帧(“B帧”)。与P帧或B帧的损失相比,I帧的损失对MPEG-2传输的质量通常是更有害的。事实上,I帧的损失可导致接收装置不能够使用P帧,即使已正确地接收P帧。因此,在MPEG-2中,智能丢弃可相对I帧优先地丢弃P帧和B帧,且可相对音频帧优先地丢弃所有形式的视频帧。
关于MPEG-4传输,除了自MPEG-2继承的帧之间的区别之外,存在11个空间可扩展性等级、3个时间可扩展性等级和取决于视频应用的可变数目的质量可扩展性等级。细粒度可扩展性将这些可扩展性等级组合成11个可扩展性等级。在实施例中,可执行数据包使用信息的“标记”,且标记可由智能丢弃使用来允许随着可用物理资源改变的质量的细粒度变化。
正如VoIP实例一样,在MPEG实例中,智能丢弃可执行已经排列好的数据包的丢弃,以及紧接着进入到调度队列之后的丢弃。一定百分比的数据包的智能丢弃可允许更多服务由系统的呼叫准入控制(CAC)方法维持和接受。
在步骤540中,可存在一个以上服务选择,其可具有经应用来满足物理层资源限制的智能丢弃。存在可用来选择智能丢弃所应用于的服务或多个服务的很多准则。例如,智能丢弃可以循环方式应用,类似地影响所有服务或选定服务类或集合内的所有服务。可基于某一组中最终用户的身份或最终用户的会员资格来应用智能丢弃。例如,针对与网络的运营商的不同服务等级契约,不同用户可支付更多或更少。具有较低等级契约的用户可相对具有较高等级契约的用户优先地受到影响。从另一网络漫游的用户可相对直接地预订到网络的用户优先地由智能丢弃影响。决策可以是基于服务类型或应用的。例如,经由第三方应用程序(诸如Skype)进行的VoIP呼叫可相对经由直接由运营商提供的VoIP服务进行的VoIP呼叫优先地受到影响。可用算法的方式确定哪个服务受到影响以使总吞吐量最大化。关于如何应用智能丢弃的决策是基于系统、运营商或自发策略的。例如,装置可具有可由系统或运营商策略修改或逾越的缺省策略。
关于哪些服务受到影响的决策可以是基于相对降级的,从而首先影响(例如)所观察到的质量最少由智能丢弃影响的服务,而与所丢弃数据的相对量无关。为促进此,步骤540可计算针对各种服务的关于可能吞吐量等级中的每一者的分数。这些分数表示关于每一吞吐量等级的所观察到的质量的相对等级。这些分数可以是基于主观准则的,诸如用来评价语音质量的MOS分数,或可以是量化的,诸如从服务除去特征。可在步骤540中将分数用作关于哪个服务将应用智能丢弃和在什么范围上的确定的一部分。例如,一旦用于一组可能服务吞吐量等级的一组分数要求带宽,那么可基于关于各种吞吐量等级计算的分数组为服务的一者或多者选择目标带宽等级,且可选择性地丢弃与每一服务相关联的数据包以将与服务中的每一者相关联的吞吐量降低到与该服务相关联的目标吞吐量等级。
可在系统的任何部分中执行反应式智能丢弃,该系统可进行关于数据包的传输或处置的选择。例如,在一个实施例中,基站、微微站、毫微微站或中继站可包括用于传输且接收数据包的收发器。根据优选实施例,这些站可包括负责带宽在上行链路和/或下行链路上的分配的MAC层276(参见图2B)。MAC层优选地可包括调度器(例如,图2B中的调度器278)和用于在传输之前存储数据包的缓冲器,或可与调度器和缓冲器相关联。在一个实施例中,本文中公开的智能丢弃技术可在MAC层的负责缓冲和调度数据包的传输的部分(其在本文中也称为调度器)中实施。或者,MAC调度器的等效者可位于执行集中的调度和可能地缓冲的核心网络元件中。例如,在一个实施例中,可实施MAC调度器的等效者以协调数据(诸如广播视频或音频)在两个或两个以上基站或其它相似装置上的同时传输。
在实施例中,智能丢弃技术还可在用户装置的MAC调度器中实施,MAC调度器在数据在上行链路中传输之前调度且缓冲数据。根据实施例,核心网络或基站(或等效装置)可被配置来在缓冲之前标记数据包以促进在下行链路方向上进行较容易丢弃决策。或者,为了由用户装置中的MAC调度器功能作出较容易丢弃决策,在由用户装置进行上行链路传输的数据包的缓冲前的功能可标记数据包。
交互式智能丢弃
除了先前描述的反应式智能丢弃之外,智能丢弃方法可与系统控制的其它方面相互作用来获得改良的性能。例如,现参看图5,在一个实施例中,改变特定RAN/RF网络操作参数(例如在步骤510中降低最大传输功率)可通过减少那些小区的观察到的干扰而使相邻小区受益。
或者,在步骤526中选择更健壮的调制方案也可具有相似效果。在典型系统中,归因于可用物理资源的所得到的减少,这些改变可以是不受欢迎的,从而引起应用层吞吐量需求超过可用带宽。相反,在使用交互式智能丢弃的系统中,在步骤520中,可针对活动服务计算一组吞吐量等级。在考虑步骤526的可能传输参数选择和步骤510的可能RAN/RF参数时,吞吐量等级组表示较大范围的物理资源需求。质量等级、传输和RAN/RF参数的这些可能组合的知识允许步骤510和526中的系统选择参数,参数可在牺牲一个或多个服务的较小量质量的情况下实质上暂时地或永久地增加系统的健壮性。
交互式智能丢弃的可选实施
图6是图5中图示的方法的改良版本的流程图,其启动网络操作的其它方面(诸如干扰减轻和电力控制)以利用智能丢弃来进一步最优化系统性能。在步骤620中,并非产生用于服务或连接的单个质量(例如,BER或PER)和吞吐量等级(如在图5的步骤520中),而是可产生量化质量阈值(例如,BER和PER)的一组吞吐量等级和/或范围(605)。分数可应用于吞吐量等级中的每一者。分数表示关于每一吞吐量等级的所观察到的质量的相对等级。根据实施例,分数可应用于吞吐量等级中的每一者以指示每一吞吐量等级的所观察到的质量的相对等级。分数可以是基于主观准则的,诸如用来评价语音质量的MOS分数,或分数可以是量化的,诸如从服务除去特征。可在步骤640中将分数用作关于哪个服务将应用智能丢弃和在什么范围上的确定的一部分。
吞吐量等级和分数组(由数据块605例证)可由步骤610、决策步骤612和修改步骤614使用来进行服务质量与其它系统操作因素之间的取舍。其它步骤(诸如步骤626)还可使用吞吐量等级和分数组来最优化性能选择。例如,基于吞吐量等级和分数,在已知个别服务的性能降级相对于对相邻小区引起的干扰的减少将为较小的时,步骤610中的方法可选择应用针对服务的更健壮的调制和较低功率、基准线参数。事实上,RAN/RF参数的改变可以是对以下各者的反应:对来自相邻小区的干扰减少的请求,或对来自网络管理实体或其它在中心定位的控制功能的干扰减少或噪声地板减少的命令或请求,或降低功率、潜在干扰或网络操作的一些其它方面的自发决策。以此方式,步骤610和相似功能可评定由吞吐量影响暗示的质量影响,吞吐量影响是由可应用于选择适当的RAN/RF参数的先前独立任务的潜在可替代行动造成的。
在优选实施例中,交互式智能丢弃方法实施MAC层调度器(例如,图2B中的调度器278)的等效者中的丢弃功能,和在由站、用户装置的收发器传输之前的数据包缓冲能力,或实施交互式智能丢弃的网络功能。质量阈值、吞吐量等级和分数的集合的导出可由可在核心网络、基站(宏、微微或毫微微)或用户装置中实施的功能来执行,且向与MAC层中的缓冲与调度相互作用来执行智能丢弃的交互式智能丢弃功能提供信息。交互式智能丢弃功能还可与物理层功能相互作用,物理层功能监控RF环境,且与核心网络功能或其它基站或网络元件上的功能相互作用来交换关于相邻小区的RF环境的信息。交互式智能丢弃内的网络面对功能可将关于服务、用户装置和RF环境的信息提供给核心网络功能或提供给相邻装置上的交互式智能丢弃功能。交互式智能丢弃方法可将信息提供给调整用于某些信息数据包的传输的RAN/RF参数的RF或物理层(PHY)控制模块。
主动式智能丢弃
根据一实施例,主动式智能丢弃是一种用于在预计到超额订阅状况时预测性地执行智能丢弃以及用于在超额订阅状况实际发生之前执行丢弃的技术。主动式智能丢弃可用来在对网络带宽的预计需求超过预计可用带宽时减少预计需求。
主动式智能丢弃可反应式地应用。例如,随着移动台接近小区的边缘,越区切换的预期产生了对更稳健的调制且因此对每物理层资源单元的较低吞吐量的预期。主动式智能丢弃可用来在实际事件发生之前进行丢弃,从而允许进行较平稳的越区切换,同时数据的丢弃受到控制,而非由于拥塞而造成数据的随机损失。
主动式智能丢弃可交互式地应用。例如,从历史数据可知对相邻小区的干扰或来自相邻小区的干扰会在一天中的某一时间(每天上下班时等等)增加。在主动式智能丢弃中,步骤612可确定影响RAN/RF参数的因素将要改变,且在步骤614中,可基于将需要发生改变的假设并结合由步骤620产生的吞吐量等级和分数的集合来修改RAN/RF参数以便主动地修改系统参数,使得智能丢弃可基于关于质量和吞吐量的系统策略来保持最佳吞吐量和质量。
主动式智能丢弃可基于各种刺激或触发事件来执行。可用来触发主动式智能丢弃的执行的刺激或触发事件的类型的一些实例包括:
(1)运动--如果确定装置不是固定的或它正超过某一速度阈值,那么主动式智能丢弃可基于影响吞吐量可用性的物理参数因运动而发生改变的预期而预计到需要执行智能丢弃。
(2)越区切换的预期--如果确定越区切换发生的可能性超过某一阈值量度,那么智能丢弃可按照受控方式来主动丢弃数据以便将预测到的资源减少造成的质量影响降至最低。
(3)一天中的时间、一周中的某天、或其它历史样式--历史数据可展示在可预测的时间点可预期到资源的减少。主动式智能丢弃可使系统准备好平稳地转变到较少资源。
(4)小区中的活动/不活动用户装置--小区中的用户装置的数目可用来预测需求的波动,所述需求波动将会使得采取反应式智能丢弃。
(5)预留资源--主动式智能丢弃主动地执行智能丢弃以为其它功能例如呼叫准入控制预留资源,从而可有助于服务质量保持,所述呼叫准入控制能够在应用智能丢弃时服务更多的主动呼叫。
(6)邻居小区的改变--关于相邻小区的数量和配置的改变的信息,包括但不限于:邻居小区的数目、邻居小区的位置、小区运营商、操作的频率和带宽、活动/闲置UE的数目、RF/RAN参数。
另外,主动式智能丢弃可使得从一个丢弃层级较平稳地转变到另一丢弃层级,从而将对服务质量参数(例如,抖动和个别数据包延迟)的影响降至最低。
在实施例中,主动式智能丢弃也可用于丢弃发生在需要之前的实施方案中,在预计到资源缺少时应用了较低的吞吐量。在替代性实施例中,主动式智能丢弃可用于以下实施方案中,其中将在所预期的资源缺少的周期期间丢掉的数据包被打上了标签以便快速地丢弃,但是只有在所预计的资源缺少实际发生的情况下才会被丢弃。
在实施例中,智能丢弃也可起到相反的作用:在容量极限到来之前加速数据包到信道中的传输。这可允许避免将来发生短期资源约束。
用来产生用来主动实施智能丢弃的样式或历史的历史数据或其它数据可来自各种来源。例如,RF模块可收集关于物理环境的信息。在另一实例中,MAC层可收集关于数据包需求和吞吐量的信息,以及活动或不活动用户装置和服务的数目。在一个实施例中,所述信息可在装置上在本地进行处理,以将输入转换成历史趋势,或在替代性实施例中,所述信息可被转递到核心网络中的某功能或任何其它处理器以便转换成历史趋势和样式。所述历史趋势和样式可由装置在本地使用或可在装置之间分享,例如在主动地应用交互式智能丢弃的情况下。
在以下段落中,描述了与丢弃数据包有关的各种额外实施例。所述实施例中的一些是引用特定标准来描述的。然而,应了解,本文中所描述的实施例可应用于其它系统和标准。还应了解,下文描述的智能丢弃的实施例可使用上述系统和方法来实施,包括反应式智能丢弃、主动式智能丢弃以及交互式智能丢弃。例如,下文描述的实施例可结合上文相对于图4至图6所描述的智能丢弃的实施例来使用。进一步地,下文描述的实施例可使用上述系统的实施例来实施,诸如相对于图1至图3所描述的系统。
明确地说,根据下述一个或多个实施例的丢弃数据包操作可通信系统内的执行调度的任何实体内进行实践。这包括通过任何形式的基站(包括宏小区、微微小区、企业毫微微小区、家庭毫微微小区、中继站,或任何其它形式的基站)对下行链路带宽的调度。在另一实施例中,根据下述一个或多个实施例的丢弃数据包操作可由在上行链路方向上进行发射的任何形式的装置执行,包括用户装置(固定和移动的)以及中继装置。根据另一实施例,根据下述一个或多个实施例的丢弃数据包操作可由包括在核心网络中的调度算法或模块执行,所述调度算法或模块集中式地指导装置的动作或对多个终端用户装置共有的服务(例如,多播或广播视频服务)进行调度。
根据另一实施例,根据下述一个或多个实施例的丢弃数据包操作可由某一实体例如基站来预测性地执行,所述实体将上行链路带宽分配给另一实体例如用户装置使用。基站与用户装置可对用户装置是否能够根据本文所述的一个或多个实施例来丢弃数据包进行协商,或在一些实施例中,可基于用户装置的型号识别来确定用户装置是否具有智能丢弃能力。
根据另一实施例,下文描述的数据包优先次序排定可在一个装置中执行,例如执行深度数据包检查的装置,且可导致对数据包所作的标记,其中此类标记由正在执行智能丢弃的另一装置例如无线基站使用。
图7是图3的控制响应模块340的一个实施例的功能框图。如上文所述,在一个实施例中,如果需求超过了网络的最大总计吞吐量,那么控制响应模块340便可通过选择性地丢弃服务内的多个帧来作出响应,从而减少对网络的需求。在图7的实施例中,控制响应模块340包括优先权/负担确定模块744(“确定模块”)和帧/切片选择模块746(“选择模块”)。如下文中更详细描述,当帧或切片时,选择丢弃哪个帧或切片可能会对所得视频的观看体验的质量具有重大影响。在一个实施例中,确定模块744确定表示所述帧与其它帧相比的相对重要性的值,例如负担或优先权。选择模块746接着基于所确定的值来选择要丢弃或丢掉的一个或多个帧或切片。将在下文更详细地描述确定模块744和选择模块746的操作。
针对智能丢弃的优先次序排定
如上文部分地论述,在MPEG-2、MPEG-4和H.264-AVC(MPEG-4,第10部分)中,视频流被编码成不同类型的帧:帧内译码帧或I-帧(有时被称作帧内帧)、预测性译码帧或P帧,以及双向预测性译码帧或B帧。帧表示在观看屏幕上以观看装置的帧速率显示的内容。例如,美国所用的NTSC标准是以每秒29.97个帧的速率来操作。帧包括宏块。宏块对应于帧的16×16的像素区。
不同的帧类型具有不同的相依性,所述相依性可影响到视频信号中的误差传播。I帧被编码,使得它们不依赖于任何其它帧。这样使得I帧通常含有最大量的数据。P帧是基于I帧或P帧来编码的。这样会允许主要对当前P帧与其所依赖于的I或P帧之间的差异进行编码。这样又反过来允许P帧通常含有比I帧少的数据,即,它们较小且消耗较少的带宽来进行传输。然而,P帧所依赖于的帧中的误差将使误差传播到P帧的解码中,即便它是无差错地被接收。B帧依赖于前一个I或P帧以及后一个I或P帧。此双重相依性允许B帧通常含有比I帧或P帧少的数据,但是误差传播会更进一步。I帧和P帧通常被称作锚定帧或参考帧。
这些相依性是在宏块层级处实现的。I帧仅含有不依赖于其它帧中的宏块来进行编码的I宏块。P帧可含有I宏块或P宏块,或其两者。P宏块是基于前一个或(下一个)I帧或P帧来进行编码的。B帧可含有I、P或B宏块或任何组合。B宏块是基于前一个和后一个I或P帧两者来双向地编码。
I帧、P帧和B帧的样式以及相关联的解码相依性被称作图片群组(GOP)或预测性结构。如稍后所描述,进行预测的能力或对GOP以及帧或帧各部分的相关误差传播或信息携载可能性的了解可用来产生用于丢弃数据包的规则,所述规则将此丢弃对所述服务造成的以及与其它服务相关的服务质量降级考虑在内。
另外,H.264-AVC扩增了与多引用预测性结构的容许相依性,使得P帧可依赖于多个I或P帧。它还增加了阶层式预测性结构,所述阶层式预测性结构允许B帧依赖于其它B帧而非仅依赖于I和P帧。涉及基线实施和扩增两者的实施例在下文进行描述。
GOP以I帧开始且可由两个数字来表征:M,即锚定帧(I或P帧)之间的距离,以及N,即I帧之间的距离。锚定帧之间的间隙用B帧来填充。普通的GOP结构是图8A中所示的M=3、N=12的开放GOP。GOP被视为开放的,是因为GOP的后几个B帧依赖于当前GOP的最后一个P帧以及下一个GOP的I帧。
图8A展示GOP中帧的观看次序。观看次序由帧编号1到12来指示。帧编号1’指示下一个GOP中的第一个帧。每一观看次序帧编号下面的字母指示所述帧编号处的帧类型,I、P或B。箭头指示特定帧依赖于哪个帧。例如,帧4是依赖于I帧1的P帧。帧10是依赖于P帧7的P帧。帧5和6是依赖于P帧4和7的B帧。可看到,I帧1中的误差可传播通过GOP中的所有其它十一个帧以及前一个GOP的后两个B帧。更糟糕的是,帧1的丢失将会使帧2到12以及前一个GOP的后两个B帧不能为解码器所用。使帧1延迟到其显示时间之后可以具有与帧1的丢失相同的效果。相反地,在该实例中,B帧的丢失或有差错接收不会传播误差,而只会影响到个别B帧。请注意,在H.264中存在多种模式,在所述模式中,B帧可依赖于其它B帧,从而产生更复杂的阶层性,但是将存在“叶节点”帧,没有其它帧依赖于所述叶节点帧。
在一些系统中,控制和管理区段270通过对I帧应用比P帧和B帧更大的保护来解决此误差传播问题,从而减少弱的信号质量对解码器解码并显示视频的能力的影响。然而,虽然这是有益的,但会使本来已经够大的I帧消耗更多的带宽。这种方法还可能会引起帧的无序传输的问题,帧的无序传输并没有得到许多视频解码器的支持。
在其它系统中,控制响应模块340可通过将帧丢掉来作出响应。一个方法是使控制响应模块340基于正被传输的帧的类型来选择要丢掉的帧。例如,假定在I帧、P帧和B帧之间进行选择,控制响应模块可被配置来在P帧之前丢掉B帧且在I帧之前丢掉P帧。可以例如随机地决定同一类型的几个帧之间要丢弃哪个帧。
相反,在本文所述的其它实施例中,控制响应模块340分析帧相依性且利用所述帧相依性来保持观看者的体验质量(QoE),同时智能地使视频数据的传输的服务质量(QoS)降级以使用较少带宽来对传输媒体中发生的拥塞作出反应或在所述媒体上同时允许更多的视频或数据服务。
在一个实施例中,控制模块340并不止对I、P和B帧进行分类,还确定帧的相对重要性。如上所述,存在与误差传播以及编码器使用后续帧的能力有关的重要性。但是,也存在基于具有相等误差传播重要性的帧的分布的重要性的元素。这些都将参考图8B来描述。在确定帧的相对重要性之后,可针对视频流个别地确定要丢掉哪个帧。或者,如稍后所描述,控制响应模块340可不仅考虑所丢掉的帧对单个流的影响,而是还考虑丢掉来自两个不同流中的一个流或另一流的帧的相对影响,选择丢掉总体影响最小的那个。
图8B展示图8A中所使用的具有相同相依性的相同GOP。另外,在一列中,每一帧次序编号和帧类型是指示优先权、负担以及替代负担公式的值。在一个实施例中,优先权、负担和替代负担值由确定模块744确定。在下文更详细地描述确定模块744确定优先权和负担值的方式。
在一些实施例中,所示的帧优先权和负担值适合于例如通过在传输装置之前的深度数据包检查(DPI)装置来进行标记。因此,本文中相对于确定模块744所描述的功能性可由另一装置执行,所述另一装置中包括的装置不同于包括相对于图3所描述的系统的装置。在此类情况下,选择模块746使用先前确定的优先权负担值来选择将要丢掉的帧。然而,为了解释之目的,相对于确定模块744来描述优先权和负担确定功能性。在一些实施例中,确定模块744的所描述功能性可包括和实施在实时简档模块325中,或可有利地使其功能性分布在以下各模块之间:环境参数模块320,其可例如确定数据流是视频流;实时简档模块325,其可例如实时地评定视频帧的优先权;以及样式模块335,其可例如通过随时间进行观测而确定GOP结构。
在当前的描述中,较低优先权数字指示较高的帧重要性,但应清楚可使用相反的关系。这些优先权指示将允许传输装置在面临传输媒体发生拥塞或超额订阅时智能地丢弃帧。具有较高优先权数字的帧可先于具有较低优先权数字的帧而被丢弃。
关于图8B的GOP,在一个实施例中,必需传输I帧以使所有其它帧为有用的,使得确定模块给帧1处的I帧指派优先权值1。P帧使其对I帧的相依性形成链条,使得确定模块给第一个P帧指派比I帧低(较高数字)但比后续P帧高的优先权(较低数字)。遵照此样式,确定模块将优先权数字2、3和4分别给予GOP中的P帧。本领域技术人员将会认识到,较低优先权数字可改为映射到较低的实际优先权,且较高优先权数字可映射到较高的实际优先权。
在一个实施例中,由于B帧依赖于其它帧,因此确定模块给B帧指派比它们所依赖于的任何帧低的优先权(较高数字)。这对于按传输次序编号为8、9、11和12的B帧运作良好,因为它们全都依赖于具有优先权4且是最低优先权的P帧的编号为10的P帧。然而,编号为2和3的B帧也不如P帧4重要,尽管它们并不依赖于P帧4。这种情况的发生存在两个原因。第一,如先前所描述,丢弃B帧2或B帧3并不会传播误差,而丢弃P帧4要求也丢弃B帧8、9、11和12。第二,P帧均匀地分布在GOP中。丢弃P帧倾向于使一行中的众多帧丢失,而不仅是一行中的一个帧。因此,在一个实施例中,确定模块给B帧指派比任何P帧低的优先权(较高数字)。
重要的是,所有B帧的重要性本身就不是完全相等的。明确地说,B帧的重要性可基于邻近的B帧是否被丢弃而改变。这样的情况会发生是因为,在某些情形下,丢掉多个相连的帧比丢掉并不相连的帧对视频质量造成更坏的影响。例如,如果丢弃了B帧5,那么随后丢弃B帧6将会导致一行中的2个帧被丢弃。然而,B帧12的随后丢弃改为不会导致此情况发生。
有利的是,确定模块可预测并考量此重要性改变。为此,在一个实施例中,确定模块给GOP中的所有B帧指派初始优先权数字5。然而,在存在相连B帧的情况下,GOP中具有较高帧编号的B帧被确定模块指派了较低优先权(较高数字)。因此,在图8B的实例中,确定模块给B帧指派交替优先权5和6,以预测在丢弃了相邻B帧之后其重要性的改变。在另一实施例中,确定模块给所有B帧指派相同的优先权值,且如果丢弃是必需的且在丢弃是必需时,选择模块746可均匀地而非成群地选择B帧来丢弃。
确定模块用于确定优先权的功能性可总结如下:给I帧指派优先权1。给依赖于具有优先权y的帧的P帧指派优先权y+1。如果z是任何P帧的最高优先权数字,那么:给所有B帧指派优先权z+1,或给两个锚定帧之间的B帧指派优先权z+1、z+2、…z+(M-l),其中M是锚定帧之间的间距。或者,给两个锚定帧之间的B帧指派优先权z+(M-l)、z+(M-2)、…、z+1。
在另一实施例中,确定模块可至少部分基于有多少其它帧依赖于某一帧来确定所述帧的重要性。例如,图8B的GOP中的位置1处的I帧具有13个其它帧直接地或间接地依赖于其。这里面包括此GOP中的其它11个帧,且因为此GOP是开放的,所以也包括前一个GOP中依赖于所述I帧的后两个B帧。B帧全都没有其它帧依赖于其。P帧4、7和10分别具有10、7和4个帧依赖于其。此基于相依性的值确定在本文中称作负担。图8B展示GOP中的帧的负担值。
图9描述用于确定GOP中的帧的负担的方法910的一个实施例。如上所述,所述方法可由确定模块744实施。在另一实施例中,所述方法可由另一装置或模块实施。为了解释之目的,相对于决策模块来描述所述方法。在步骤915处,决策模块确定值N,即GOP中的帧的数目,以及M,即GOP中的锚定(I或P)帧之间的距离。在图8B的实例GOP中,N=12M=3。此确定可通过分析GOP中的帧来进行。或者,如果先前已经确定了这些值,那么确定模块可获得先前确定的值。
在决策步骤920处,确定模块确定正考虑的当前帧是否为B帧。如果是,那么方法前进到步骤925,且确定模块给当前B帧指派负担0。在一个实施例中,所指派的负担可存储在与帧或GOP相关联的数据结构中。在指派之后,对GOP中的下一个帧进行确定,当前帧和方法返回到决策步骤920之前的点927。
返回到决策步骤920,如果当前帧不是B帧,那么方法前进到步骤930。在步骤930处,确定模块确定当前帧的帧观看次序(FVO)。再次,可通过分析GOP中的帧或通过获得先前确定的FVO来确定此值。在步骤935处,确定模块给当前帧指派等于方程式1的结果的负担:
方程式1)负担=(N-l)+M-FVO
在指派之后,对GOP中的下一个帧进行确定,当前帧和方法返回到决策步骤920之前的点927。此过程继续直到确定模块已为GOP中的每一帧指派了负担值为止。
如图8B中所示,在确定负担时,确定模块也可选地将每一帧计算为自身的负担。在此实施例中,确定模块给每一B帧指派负担1。锚定帧则是根据方程式2被指派负担:
方程式2)负担=N+M-FVO
使用任一负担计算,选择模块746都可通过先丢弃那些具有最低负担的帧来智能地选择多个帧来丢弃。对于具有相同负担的帧来说,在需要进行丢弃时,选择模块可均匀地进行丢弃,即,不是成群的邻近帧。或者,选择模块可基于尺寸来在具有相同负担的帧之间选择帧来丢弃。例如,两个B帧可能具有不同尺寸,因为一个较之另一个包含更多的I宏块或P宏块。如果可用带宽资源允许传输较大B帧,那么相较于较大B帧,选择模块可优先选择丢弃较小B帧,因为较小B帧含有较少信息,因此其丢失所造成的视频质量降级比丢弃较大B帧所造成的视频质量降级小。然而,如果可用带宽资源由于较大B帧的尺寸而不适应较大B帧的传输,那么选择模块可丢弃较大B帧而非较小B帧。
图10图示不含有任何B帧的GOP。上文相对于图9所描述的方法适用于这些类型的GOP,例如那些来自MPEG-1和H.264-AVC基线档次或MPEG-2、MPEG-4或H.264-AVC GOP的GOP,用于不想要由B帧造成的额外解码延迟的应用。这些帧本身并不是开放的,因为没有B帧没有双向相依性。确定模块可使用相同的方法来分析此类型的GOP。
图11图示在锚定帧之间有三个B帧(M=4)的另一种类型的GOP。上文相对于图9所描述的方法也适用于这些类型的GOP。明确地说,确定模块可使用相同的方法来分析此类型的GOP。
阶层式和多引用预测性GOP结构
如先前所提到,在例如H.264-AVC等标准内存在多个特征,所述特征允许存在阶层式或多引用GOP预测结构。在阶层式GOP的情况中,B帧可依赖于先前的和/或后续的B帧。多引用GOP的使用允许P帧依赖于一个或多个P或I帧。
图12图示阶层式GOP的一个实例。明确地说,图12按观看次序展示了12帧(N=12)阶层式GOP结构。所述序列以I帧开始,且作为开放式GOP,包括对下一个GOP的I帧1’的引用。没有P帧,且B帧子集引用其它B帧。例如,B4引用I1和B7,且B3引用I1和B4。关系的阶层式集合产生了在分析非阶层式GOP时看不出的在B帧间的目的和重要性的区别。此提供了额外的信息以供确定模块在分析误差在整个GOP中的传播时且在计算帧负担和优先权时加以考虑。
例如,在一个实施例中,控制响应模块340可要求丢弃单一B帧以满足可用容量,那么帧B2、B3、B5、B6、B8、B9、Bll或B12将比帧B4、B7和B10更可取,因为前一个列表含有了被丢弃也不会对后续的帧具有影响的所有‘叶’节点。在此实施例中,控制响应模块340丢弃叶节点而非其它帧所依赖于的节点。
图13图示多引用GOP的一个实例。在该实例中,帧P2只具有一个引用帧I1。然而,帧P3引用两个前面的帧,P2和I1。帧P4引用P3、P2和I1。这些额外引用改善了数据压缩且减少了GOP内后面的P帧的尺寸。
在一个实施例中,确定模块将替代确定过程应用于阶层式和多引用GOP结构,例如图12和图13中的GOP。在一个实施例中,确定模块基于GOP内依赖于每一帧的帧的数量来给每一帧指派负担。在进行此评定时,确定模块考虑两类相依性:直接和间接。为了进行论述,图14图示一组4个一般的帧Fl到F4。帧F2被视为直接依赖于帧F1,因为帧F2直接引用帧F1来解码其信息。帧F3为第一层级,间接依赖于帧F1,因为帧F3直接引用帧F2且帧F2直接引用帧F1。通过扩展,帧F4是第二层级,其间接依赖于帧F1。
图15图示用于计算直接帧负担的方法1510。如上所述,所述方法可由确定模块744实施。在另一实施例中,所述方法可由另一装置或模块来实施。为了解释之目的,相对于决策模块来描述所述方法。
在步骤1520处,确定模块计算N,即,当前正处理的GOP的长度或尺寸。在步骤1530处,确定模块给每一帧指派一个帧编号,以在首位的I帧被指派1开始。在一个实施例中,这些帧编号是帧的帧观看次序。在步骤1540处,确定模块产生尺寸为N乘N的表格D,用于存储中间负担信息。确定模块还产生尺寸为N的权重向量X。在另一实施例中,确定模块利用现有的表格和向量而非产生新的表格和向量。在步骤1550处,确定模块通过对表格D中的每一值进行置零来初始化表格D。在另一实施例中,所述表格可能先前就已经初始化。
在步骤1560处,确定模块在表格D中产生彼此直接相依的帧之间的映射。明确地说,对于GOP中的每一帧i,确定模块检查并记录对GOP中的所有其它帧j的相依性。一旦识别出帧i对帧j的相依性,便将值1指派给表格D中的位置(i,j),其中i表示列且j表示行。例如,如果帧2是当前所考虑的帧(i)且依赖于帧1(j),那么确定模块将值1指派给表格D中的位置(2,1)。本领域技术人员将认识到,记号D(i,j)(i为列且j为行)在逻辑上等效于记号D(j,i),只要所述记号在整个算法内一直使用即可。
在步骤1570处,确定模块确定每一帧的加权直接帧优先权。明确地说,对于每一帧j,确定模块将针对I的所有值将表格D(i,j)中的值加总,并加1。这个和是对帧j的直接相依的数目。确定模块接着将该和乘以来自权重向量X的权重X(j)。所得的值可由确定模块存储在长度为N的向量中。此结果向量中的值表示GOP中的帧的加权直接帧优先权。
图18图示直接帧负担表格D。图18的表格D是使用图12中所示的GOP根据相对于图15所描述的方法来产生的。如所示,表格D中的每一项(i,j)都指示帧(i)是否依赖于帧(j)。例如,由于帧B3依赖于此GOP中的B4,因此值1位于D(3,4)处。每一帧j的所得的加权直接优先权也展示于图18中。结果是所述帧的值的和(即,表格D中所述帧所在的行中的1的和)加上1,再乘以来自图16中所示的权重向量X的对应权重。如所示,帧I帧I1具有最高优先权。然而,与由确定模块根据上文相对于图9所描述的方法产生B帧的负担相反,图18中所示的B帧的负担是基于相依的数目。因此,确定模块给B帧指派了1、5或7个单位的负担。
在一个实施例中,在步骤1560处,确定模块认为每一帧依赖于其自身。在此实施例中,在步骤1570处,确定模块不需要将1加到来自表格D的总和上。
在另一实施例中,直接帧负担表格D通过确定模块被1×N的向量D'替代。在此实施例中,在步骤1590处,确定模块对于依赖于帧j的每一帧i使D’(j)递增1。接着通过将每一元素j的D(j)与X(j)相乘来计算帧j的加权直接优先权。
如所描述,方法1505基于如下至少两个因素来相对地描述了帧之间的优先权:(1)直接相依的帧的数量以及(2)帧权重。权重向量X(j)可用多种方式来产生。
例如,在一个实施例中,权重向量X包括多个值,使得指派给I帧的权重大于指派给P帧的权重,而P帧的权重又大于B帧的权重。图16针对图12中所示的GOP图示具有此结构的权重向量X。在该实例中,权重向量X具有用于I帧的值3、用于P帧的值2以及用于B帧的值1。因此,仅有的I帧帧1被指派了值3,且所剩下的全为B帧的帧被指派了值1。
在另一实施例中,权重向量X包括基于帧的尺寸的值。在一些情形中,有利的是增加较大帧的优先权,因为它们相较于较小的帧最有可能含有额外的情景细节或运动。用尺寸进行加权可独立于帧的类型(I、B或P)来进行,或可考虑尺寸和帧类型两者。例如,参考图12的GOP,叶帧B5和B6可含有重要场景细节或运动。在此类情况下,这些B帧的尺寸将大于剩余的叶帧和非叶B帧。权重向量X可通过增加对应于帧B5和B6的加权值来解决此问题。
在一个实施例中,基于帧的相对或绝对尺寸来给权重向量指派相对权重(例如,1至10)。在一个实施例中,使用闭式表达式、直方图函数或另一类型的函数来进行指派。在一个实施例中,所述指派函数产生了整数或实数形式的权重。所述函数可为线性或非线性的。
图17图示权重向量X,其中加权值并入了帧的尺寸,如上文所论述。权重向量对应于图12中所示的GOP。如图17中可见,帧I1由于其尺寸而具有最大的权重。非叶节点的帧B7、B4和B10具有大于1的权重,因为这些帧具有较大的经编码尺寸。因为叶节点B5和B6含有大量的细节或运动,所以其较大尺寸导致了其权重高于所有其它B帧。
图19图示用于基于直接相依性和间接相依性来确定负担的方法1902。如上所述,所述方法可由确定模块744实施。在另一实施例中,所述方法可由另一装置或模块实施。为了解释之目的,相对于决策模块来描述所述方法。
步骤1905、1910、1915、1920、1925和1930类似于相对于图15所描述的方法1505的对应步骤。为了获得这些步骤的实施细节,返回参考相对于图15所做的描述。在步骤1935处继续,确定模块产生了总负担表格T。确定模块将在步骤1930处产生的表格D中的值复制到表格T中。总负担表格T是确定模块用来确定直接相依和间接相依对负担的影响的N×N表格。例如,相对于图12的GOP,确定模块744使用此回溯方法来考量帧B9对帧I1的相依性(经由B7)。明确地说,确定模块将帧B9对帧I1的负担纳入到帧I1的负担值中。在一个实施例中,确定模块使用回溯方法以便考量一个帧对另一帧的间接相依。
在步骤1940处,确定模块将其两个指标i和j的值设定为等于1。在步骤1945处,确定模块确定表格T中的位置(i,j)处的值是否大于零。以此方式,确定模块确定帧j是否具有相依的帧。如果有,那么方法前进到步骤1950。在步骤1950中,确定模块针对帧j使用间接相依负担表格D来确定帧j自身是否依赖于任何其它帧。如果是,那么将帧j的相依帧纳入帧j所依赖于的帧的负担中。例如,使用图12中提到的GOP以及图18的表格D,帧B9对B7的直接相依在直接负担表格D中被指示为等于1的D(9,7)的值。在步骤1250处,确定模块确定帧B7自身是否依赖于任何帧。确定模块通过对表格D中的第7列进行搜索以查找是否存在大于零的任何项来执行此过程。在该实例中,在表格位置D(7,l)处找到了1,指示帧B7依赖于帧I1。因此,从定义上说,帧B9是第一层级,间接依赖于帧I1。通过将1置于总负担表格T中的位置T(9,l)处来记录此信息。图20展示了相对于图19描述的总帧负担表格T。表格T中的阴影值指示确定模块利用图19中的方法来捕获的间接相依性。
从步骤1950继续,或如果决策步骤1945的结果为否,那么方法前进到步骤1955。在步骤1955处,确定模块将指标j与值N相比较。如果j小于N,则方法前进到步骤1960。在步骤1960处,确定模块使指标j递增1,且方法返回到决策步骤1945。返回到决策步骤1955,如果指标j不小于N,那么方法前进到步骤1965。在步骤1965处,确定模块将指标j设定为等于1。在步骤1970处继续,确定模块确定指标i是否小于N。如果i小于N,那么方法前进到步骤1975。在步骤1975处,确定模块使指标i递增1,且方法返回到决策步骤1945。返回到决策步骤1970,如果指标i不小于N,那么方法前进到步骤1985。
步骤1940、1955、1960、1965、1970和1975的作用是使确定模块使用两层级‘嵌套’环来评估GOP的相依性。因此,确定模块采用直接负担表格D中的所有的值来编入总负担表格T中。
在确定模块到达步骤1970中的‘否’决策时,所述嵌套环完成。此时,总负担表格T含有所有GOP帧之间的直接和第一层级的间接帧关系。在步骤1985处,对于每一帧j,确定模块对于i的所有值将表格T(i,j)的值加总,再加上1,且接着将所述结果乘以权重X(j)。请注意,加上1使负担为非零的,由此允许通过不同的权重来进行区分。例如,如果不具有相依性(负担相同)的两个B帧具有不同的权重(例如,如果它们具有不同尺寸),不加上1会使负担为零,从而使得这两个B帧的负担与相应权重的乘积为零。然而,加上1会允许这两个B帧的负担与权重的乘积不相等。所得的长度为N的向量是GOP的加权总帧优先权。由确定模块确定的总帧优先权展示于图20中,其中所使用的权重向量是图16中所示的权重向量。
相对于图19所描述的‘回溯’方法将基于直接相依性和单一层级的间接相依性来计算帧负担。本领域技术人员将了解,此方法可扩展到包括所有间接相依的效应,而不限于相依层级的数目。换句话说,‘回溯’可被设计成使得确定模块追踪从根节点到叶节点的相依性。
用来扩展相依性追踪的一个实施例是使确定模块产生n-1个额外的负担表格T2到Tn,其中每一负担表格表示从直接相依到第n层级的间接相依的所有相依的累积表示。例如,表格T3将表示直接相依加上所有第一、第二和第三层级的间接相依。就图19的方法来说,可对于每一表格Tn通过确定模块来执行步骤1935到1975。在那些步骤中,Tn代替表格T,且表格T(n-l)代替表格D。一旦表格Tn中的所有元素等于表格T(n+1)中的所有元素,即额外负担表格T(n+1)的产生不能识别出新的相依性,那么确定模块将完成表格的产生。
在另一实施例中,确定模块可能会将重复的相依性考虑进去。例如,如基于图12的GOP的图18的表格中所描绘,如果帧之间存在一条以上的相依路径,那么上述方法不会导致增加的帧负担。例如,帧I1由于相依帧B3而被给予1个单位的负担,而不管I1与B3之间存在两条相依路径的事实。一条是直接依赖的;另一条则是经由帧B4间接依赖的。在一个实施例中,确定模块将这些重复的引用考虑进去,以便进一步放大帧负担之间的差异。例如,在上述情况中,帧I1将由于帧B3与I1之间的第二、重复引用而被给予再一个单位的负担。
相对于图15和图19所描述的方法考虑帧内GOP相依。在其它实施例中,确定模块还可考虑存在于开放式GOP结构中的帧间GOP相依。
如上所述,可使用多种方法来产生有用的权重向量X来由确定模块用来计算总帧优先权。例如,如先前在上文相对于图16和图17所描述,可基于帧类型(I、P或B)、帧尺寸或其两者的某一组合来指派权重。
在另一实施例中,权重向量被扩展到大小为N×N的权重表格X的形式。在此类方法中,在指派权重和计算优先权时考虑关于帧相依的额外信息。在一个实例中,基于正考虑的帧之间的关系的‘直接性’来将权重应用于相依性。也就是说,应用于直接相依的权重大于应用于间接相依的权重。在另一实施例中,第一层级的间接相依的权重比第二层级的间接相依要大。类似地,第二层级的间接相依的权重比第三层级的要大,等等。
例如,权重值3、2和1可分别应用于直接相依、第一层级的间接相依,以及第二层级的间接相依。图21图示用于对图20的总帧负担表格T使用此加权方案的权重表格X。
大小为N×N的权重表格X可替代图19的步骤1985中的大小为N的权重向量X。在使用权重表格X时,可通过将针对所有i值(从1到N)的T(i,j)*X(i,j)的乘积加总来计算每一帧j的加权总帧优先权。
有利的是,此类方法将在帧误差在GOP中传播时可由I宏块来减轻误差传播考虑进去。因此,在帧之间的‘直接性’的层级减少时,相依的重要性也可能会减小。
切片
在MPEG-2、MPEG-4和H.264中,帧可进一步分为切片。切片含有整数个宏块,这些宏块全来自同一帧。将一帧分成多个切片可通过为一帧使用单一切片来实施。一帧也可分成j个切片,每一切片含有固定数目的宏块。或者,一帧可分成k个切片,每一切片含有可变数目的宏块。一切片内的宏块不依赖于来自同一帧的其它切片中的宏块。如果切片小于整个帧,那么所述切片的丢失对视频质量造成的影响将会比丢失整个帧造成的影响小。
就像帧一样,存在I切片、P切片和B切片。I切片仅含有I宏块,所述I宏块是不依赖于其它帧中的宏块来进行编码。P切片可含有I宏块或P宏块,或这两者。P宏块是基于前一个(或下一个)I帧或P帧来进行编码。B切片可含有I、P或B宏块,或任何组合。B宏块是基于前一个和后一个I或P帧来双向地编码。
先前针对帧所描述的相同优先次序排定方法可应用于切片。例如,为I帧的部分的I切片可由确定模块指派与原始I帧相同的负担和优先权。类似地,P切片的负担和优先权可被指派与原始P帧相同的负担和优先权。B切片的负担和优先权可被指派与原始B帧相同的负担和优先权。
由于一帧的一个切片中的宏块可独立于包括一帧的其它切片的宏块来解码,因此对切片排定优先次序允许在拥塞期间或在数据速率的减少是必需或有益的其它时间期间进行较细粒度的丢弃。
除了基于负担以及帧或切片类型来排定优先次序之外,确定模块可进一步基于切片所含有的每一种宏块的相对数量来对具有相同负担的切片进行区分。例如,如果两个P切片具有相同的负担,那么具有较多I宏块和较少P宏块的P切片可被给予比具有较少I宏块或较多P宏块的P切片高的优先权。或者,可基于切片内的I宏块与P宏块的比率来进行细粒度优先权调整。类似的细粒度优先权调整可基于I、P和B宏块的计数或比率来应用于B切片。在另一实施例中,由于I宏块通常含有比P宏块多的数据,且P宏块通常含有比B宏块多的数据,因此确定模块可基于切片中所含的宏块的平均大小来调整优先权。这可通过将切片的大小(按字节计)除以切片中的宏块的数目来计算出。
在一个实施例中,确定模块实施评分系统。例如,确定模块可应用调整,所述调整考量了具有相同优先等级或负担的切片中的宏块的差异,但不允许切片跨越到不同优先等级或负担。在一个实施例中,确定模块使用一数字,使得优先权值加上或减去该数字会使优先权值向下一个较小或较高优先权移动到不及一半路程。如果优先级之间的差异是整数值1,那么可使用任何大于零但小于0.5的数字x。例如,x可等于0.4。
图22图示用于基于切片中的宏块修改切片的优先权的方法2205。如上文所描述,方法可由确定模块744来实施。在另一实施例中,方法可由另一装置或模块来实施。为了解释的目的,关于确定模块来描述方法。另外,在本说明书中,较低优先权数字意味着较高优先权。本领域技术人员将认识到此方法还可用于基于帧中的宏块来修改帧的优先权。
在决策步骤2210处,确定模块确定帧中的当前切片是否是I切片。如果是的,那么当前切片的估计结束,且考虑下一个切片。如果当前切片不是I切片,那么方法前进到步骤2220。在步骤2220处,确定模块确定值y,即当前切片中的宏块中是I宏块的百分比。继续到步骤2230处,确定模块通过使x乘以y且自切片的当前优先权减去乘积来调整当前切片的优先权。以此方式,切片中I宏块的存在导致用于切片的较低优先权数字,即较高有效优先权。
继续到步骤2240处,确定模块确定当前切片是否是P切片。如果是的,那么当前切片的估计结束,且考虑下一个切片。如果当前切片不是P切片,那么方法前进到步骤2250。在步骤2250处,确定模块确定值z,即当前切片中的宏块中是B宏块的百分比。继续到步骤2260处,确定模块通过使x乘以z且将乘积加到切片的当前优先权上来调整当前切片的优先权。以此方式,切片中B宏块的存在引起用于切片的较高优先权数字,即较低有效优先权。在另一实施例中,可在此步骤中使用与在步骤2330中使用的x不同的x值,以便提供对相对优先权的较大控制。如所提到的,确定模块可针对每一切片重复此方法,以便确定对切片优先权的调整。
图23图示用于基于切片中的宏块修改切片的优先权的方法2305。如上文所描述,方法可由确定模块744来实施。在另一实施例中,方法可由由另一装置或模块来实施。为了解释的目的,关于决策模块来描述方法。另外,在本说明书中,较低优先权数字意味着较高优先权。本领域技术人员将认识到此方法还可用于基于帧中的宏块来修改帧的优先权。
步骤2310、2320、2330和2340与图22的方法2205的对应步骤是相同的。至于这些步骤的实施细节,参考关于图22的对应步骤的描述。继续到步骤2350处,确定模块确定数z,其表示当前切片中的宏块中是P宏块的百分比。继续到步骤2360处,确定模块通过使x'乘以z且自切片的当前优先权减去乘积来调整当前切片的优先权。在此步骤中,类似于x计算x',但允许在B切片中针对P宏块比针对I宏块应用不同调整。
本领域技术人员将了解,可基于I宏块、P宏块和B宏块的数、百分比或尺寸进行切片或帧优先权的其它调整。
诸如H.264-AVC的一些视频标准允许冗余切片。在原始帧损失或损坏的情况下,冗余切片载运冗余信息。为了进行优先次序排定丢弃的目的,向冗余切片指派比B切片低的优先等级,这是由于冗余切片常常不被解码器需要。
诸如H.264-AVC的一些视频标准允许切换切片,其允许视频流之间的较容易或较快切换。SI切片允许完全不同的流之间的切换。在一个实施例中,如果不预期流切换,那么向SI切片指派比B帧低的优先权,这是由于SI切片常常不由解码器使用。然而,如果预期切换流是常见的(诸如在多个视频流同时串流的多播或广播系统中),策略可指示SI切片的优先权,且SI切片的优先次序排定得比B切片或P切片高,但通常不高于I切片。类似地,SP切片允许在以不同速率或分辨率编码的相同视频内容的流之间的较容易或较快切换。除非进行此切换,否则向SP切片指派比B切片低的优先权。然而,如果进行此切换,那么以与P切片相同的方式向SP切片指派优先权。
SI切片和SP切片两者可用于在观众控制下的视频回放和管理功能。例如,一个人可选择快进或回倒当前正观看的内容。一个人可选择改变观看流(或“信道”,如其通常在广播视频中所描述),或调整显示分辨率和/或屏幕大小(一旦此回放已开始)。取决于视频标准和编码方法,这些观众请求可包括SP帧和/或SI帧的使用或增加使用。由于用户控制响应时间是用于视频输送和回放系统的关键性能度量,故在用户请求的此类周期期间SP帧和/或SI帧的重要性实质上是较高的。
在一个实施例中,使用用于SI帧和SP帧的动态优先次序排定来检测用户请求,且通过增加用于SI帧和SP帧的帧优先权来响应。此可(例如)由控制响应模块340来实施。请求检测可采取若干形式。一种方法是监控上行链路控制流量(在视频流量的相反方向上传播)以便检测具体用户请求。另一形式建立(例如)使用帧/秒测量的用于SI帧和SP帧的基准线帧速率,且从而检测当前SI帧速率或SP帧速率超过此基准线速某一预定阈值(例如,因子2x)的周期。一旦已检测到用户请求,那么提高用于SI帧或SP帧的优先等级,且可甚至超越当前指派给I帧的优先等级。增加的优先等级可维持历时用户请求的持续时间加上一些可配置超时周期。
数据分区
在诸如H.264-AVC的一些视频标准中,切片中的数据可进一步布置成数据分区。例如,H.264-AVC中的切片可分隔成三个数据分区。数据分区1包括切片标头和用于每一宏块的标头数据。数据分区2包括来自切片的I或SI宏块的数据部分。数据分区3包括来自切片的P、B和SP宏块的数据部分。这些数据分区可分离地输送。对于恢复I宏块来说,数据分区1和2两者是必要的,因此数据分区1和2可联合在一起以由确定模块进行丢弃优先次序排定。分区1和2的优先权可通过以下方式使其优先权得到调整:向数据分区2施加切片优先权调整方法且将相同的优先权指派给数据分区1。或者,由于数据分区1对于数据分区3的使用来说也是必要的,故可向数据分区1指派稍高于数据分区2的优先权的优先权。数据分区3的优先权可通过以下方式使其优先权得到调整:向数据分区3施加切片优先权调整方法。
一旦(例如)使用上文描述的技术对视频帧进行优先次序排定,那么传输装置(诸如下行链路上的无线基站或上行链路上的用户站(例如,无线固定的、便携式的或移动的用户装置))中的调度器(例如,图2B中的调度器278)可使用此信息来在拥塞周期期间进行智能地丢弃,或最优化对呼叫和服务进入系统的准入。在这些系统中,视频帧通常在诸如网际协议(IP)数据包的数据包中载运。
图24是系统的实施例的功能框图,该系统使用优先次序排定来在可用带宽小于将所有数据包传输到所有接收者所需的带宽时确定哪些数据包待丢弃。系统可通过以下方式使某些服务降级:以最小化用户体验的降级的方式来丢下与该等服务相关联的选定数据包。在一个实施例中,使用先前描述的用于视频的优先次序排定方案。在一个实施例中,在基站或接入点的MAC层276(参见图2B)中或在用户站的调度器中实施所描绘系统。然而,如下文所提到的,可在不同装置中实施所描述的功能。在一个实施例中,优先次序排定与标记模块(“确定模块”)2410、调度器队列2420和调度器2440结合图3的控制响应模块(最优化模块)340来实施上文描述的功能性。
优先次序排定与标记模块2410针对丢弃而对数据包进行优先次序排定。此可使用先前描述的用于对视频数据包进行优先次序排定的方法,但本领域技术人员将认识到针对不同类型的数据流(例如,视频与语音)可使用不同方法。优先次序排定与标记模块2410可位于传输装置自身中,或可位于标记帧的分离装置(诸如DPI装置)中,其(例如)在将数据包传送到传输装置之前将比特附加或插入到运载视频帧的数据包中。在图24中描绘的系统的一个实施例中,优先次序排定与标记模块2410实施结合图7的优先权/负担确定模块744描述的功能性。类似地,在图24中描绘的系统的一个实施例中,调度器2440实施结合图7的帧/切片选择模块746描述的功能性,且可因此也被称为选择模块。此优先次序排定将与服务类型(例如,视频或语音)相关联地丢下数据包与服务的对应降级量之间的取舍的评估考虑在内,如下文更具体地描述。在优先次序排定之后,将数据包转移到调度器或传输队列2420。
如由图25中的流程图所表示,丢弃可在数据包(例如,视频帧)由优先次序排定与标记模块2410排列时发生,或如由图26中的流程图所表示,数据包可在放置在由调度器使用的队列2420中之后由调度器2440丢弃。如图25所示,由优先次序排定与标记模块2410来评估由优先次序排定与标记模块(例如)自核心网络102在回程170上接收(步骤2510)的数据包,以确定数据包是否满足丢弃准则(步骤2520)。或者,此功能可在调度器中实施。在步骤2540处,丢弃满足丢弃准则的数据包,且在步骤2530处,将不满足丢弃准则的数据包放置在调度器的队列2420中。流程然后返回到步骤2510。如果如图25所示,数据包是在排列时丢弃的,那么不需要由优先次序排定与标记功能2410进行数据包的标记。
如图26所示,丢弃方法还可针对已在调度器的队列2420中排列的数据包执行。在步骤2610处,调度器等待数据包被接收在其队列中。对所接收的数据包的检查可以是周期性的,例如由1毫秒计时器驱动,或可以是非周期性的,例如由待排列的数据包的接收驱动。在数据包在队列中之后,在步骤2630处,调度器等待调度数据包进行传输的时间。当到了调度器调度数据包进行传输的时间时,在步骤2640处,从队列提取一个或多个数据包。在步骤2650处,相对丢弃准则评估所提取的数据包。在一个实施例中,如果数据包是视频数据包,那么上述优先次序排定方案可由下文讨论的方法使用来确定丢弃的合格性。在步骤2660处,丢弃满足丢弃准则的数据包,且在步骤2670处,调度不满足丢弃准则的数据包以进行传输。流程然后返回到步骤2630。或者,在数据包已排列之后,响应于诸如拥塞的刺激,进行对一个或多个队列内的所有数据包的检查,从而移走满足丢弃准则的数据包,同时留下不满足丢弃准则的数据包。将在适当时间调度未丢弃的数据包以进行传输。本领域技术人员将理解,图25和图26的方法可结合起来使用。即,一些数据包可在队列进入时丢弃,同时其它数据包在队列外出时标记或否则选择来进行丢弃。
丢弃哪些数据包的决策受到丢弃等级影响,丢弃等级随数据速率、质量和系统资源而变,如稍后描述。丢弃等级可由了解整个系统状态的系统状态模块或功能(例如,图24所示的呼叫准入控制(CAC)模块2460)确定,或基于从系统状态模块或功能接收的信息确定。CAC模块位于负责确定是否应允许新的呼叫或服务的装置上。此可以是基站或等效者,且其可以是核心网络中的装置,诸如服务网关。CAC功能性可分布在多个网络装置之间。CAC功能性可利用来自传输模块2450的PHY参数信息,从而允许其知道从字节到用于各种服务的物理资源的转换。
调度器模块2440确定哪些数据包应在通信网络上传输,以什么次序传输以及何时传输。数据包的优先权可基于队列指派、数据包在队列2420中的次序,通过由优先次序排定与标记模块2410产生的标记或其某一组合表达给调度器2440。如果数据包在其从队列移除时丢弃(如上文结合图26所解释),那么调度器2440基于来自包括队列指派和次序和由优先次序排定与标记模块2410产生的标记的来源的信息、来自CAC模块2460或相似模块的丢弃等级和总资源可用性,和来自传输模块2450的PHY参数来执行此丢弃。在优选实施例中,调度器位于诸如基站或等效者的传输装置上,但可位于向传输装置提供调度信息的装置上。
传输模块2450负责跨越物理媒介(诸如空气上的无线电波)传输数据包。此模块可在图2B的PHY层280中实施,或其功能性可在PHY层与调制解调器272之间拆分。另外,传输模块可进行关于对于可靠传输和接收来说有必要的PHY参数(诸如调制编码方案)的决策。这些参数影响系统的容量,且可提供给可能需要这些参数的其它模块(诸如CAC模块2460和调度器2440)。
在具有适配环境条件的物理层(PHY)的无线系统中,系统的比特/秒能力可随着PHY参数(诸如调制方案和前向纠错(FEC)编码)的改变而改变。系统的比特/秒能力还可受归因于数据包错误的再传输速率中的波动影响。在宽带无线系统中,RF链路的比特/秒容量中的这些波动可影响链路上的所有服务,而不仅仅是到达体验PHY参量的用户装置或来自体验PHY参量的用户装置的那些服务改变。如果对带宽的需求超过系统的新的比特/秒容量,那么此可产生拥塞。其还可引起超额订阅情形。也就是说,其可引起慢性拥塞很可能发生的情形,因为准入服务的总时间平均需求超过RF链路的容量。
在服务针对在服务上载运的所有数据包具有单个优先权的系统中,此慢性拥塞可导致一些服务终止。或者,来自服务的数据包可在仅仅查看服务的相对优先权的情况下丢弃,而不管在服务上载运的个别数据包的优先权或丢弃在不同应用上的影响。
然而,关于视频,基于个别数据包输送的视频帧的类型来对个别数据包进行优先次序排定允许系统基于个别数据包的相对重要性来智能地丢弃数据包。此类系统还可在数据包丢弃之后用户在体验视频流时对体验到的质量的量化进行估计。在运营商策略的边界内,无线网络可使视频服务温文地降级,而非终止服务或以如同随机丢弃的情况一样提供无法接受的质量的方式使服务降级。
虽然视频的最佳编码可产生高度变化的比特流,但变化性通常是被束缚的。关于此,存在两个原因。第一,许多老式系统(诸如手机系统)期望恒定比特速率(CBR)历时给定时间段。为了确保解码器不体验缓冲溢出或下溢,CBR编码器可针对I帧、P帧和B帧的尺寸进行先验的非最佳选择。此然后允许在编码器和解码器处基于(例如)GOP和其包括的帧相依关系来进行缓冲调整尺寸。第二,甚至在实施可变比特速率(VBR)编码器和解码器的系统中,比特速率变化性和帧尺寸通常被束缚以防止缓冲溢出或下溢。
I帧、P帧和B帧尺寸可在VBR视频流中变化,但可由类似于用于CBR视频流的关系的最大值束缚。或者,可基于用于视频流的历史数据,例如通过使用指数平均或本领域技术人员已知的其它技术来计算VBR流中的不同帧类型的平均尺寸。此方法还可用于CBR流,针对CBR流,关注流的带宽需求的实体不知道帧尺寸边界。然后,帧尺寸边界或历史平均帧尺寸可用来估计由GOP中的每一类型的视频帧占据的带宽。
类似地,GOP可以是先验已知的或可基于所接收帧而检测到。帧尺寸和GOP结构的确定允许针对GOP需要的带宽(且因此,视频流的比特速率)的计算。可通过计算方差或标准差来量化比特速率和平均帧尺寸的变化。
图27是用于确定GOP结构和平均尺寸的方法的流程图。在一个实施例中,由优先次序排定与标记模块2410实施该方法。在步骤2710处,接收视频帧。在步骤2720处,确定视频帧的类型。可通过检查视频帧的标头或内容或视频帧所包括有的输送数据包来进行该确定。或者,其可通过诸如以下各者的方法试探性地确定:使输送数据包的尺寸与同一流中的其它数据包的尺寸相比较且与用于每一帧类型(一旦已建立)的平均帧尺寸相比较。如果帧是I帧,那么流程前进到步骤2730,其中例如使用指数平均来更新用于此视频流的I帧的平均尺寸。流程从步骤2730前进到步骤2740,在步骤2740中,确定从最近的I帧开始的帧的数目。流程接着前进到步骤2790,在步骤2790中,使用在步骤2730和2740中收集和计算的数据来更新GOP结构和平均GOP尺寸的知识。如果在步骤2720处,确定视频帧是P帧,那么流程前进到步骤2750,在步骤2750中,更新用于此视频流的P帧的平均尺寸。流程接着前进到步骤2780,在步骤2780中,确定从最近接收的锚定帧开始的帧的数目,且也确定锚定帧的类型(I帧或P帧)。流程接着前进到步骤2790,在步骤2790中,使用在步骤2750和2780中收集和计算的数据来更新GOP结构和平均GOP尺寸的知识。如果在步骤2720处,确定视频帧是B帧,那么流程前进到步骤2770,在步骤2770中,更新用于此视频流的B帧的平均尺寸。流程接着前进到步骤2780,在步骤2780中,确定从最近接收的锚定帧开始的帧的数目,且也确定锚定帧的类型(I帧或P帧)。流程接着前进到步骤2790,其中在步骤2770和2780中收集和计算的数据被用来更新GOP结构和平均GOP尺寸的知识。
图28是用于N=12,M=3GOP的相对帧尺寸的实例的图形表示3000。在该实例中,P帧平均是I帧的尺寸的一半,且B帧平均是I帧的尺寸的五分之一。这仅仅是实例,且取决于编码可出现其它相对帧尺寸。图28左边的帧尺寸计数器以1000字节为单位。在该实例中,I帧3001的尺寸平均为10,000字节,P帧3015(1)-3015(3)的尺寸平均为5000字节,且B帧3005(l)-3005(8)的尺寸平均为2000字节。此给出每一GOP平均有41,000字节。由于在该实例中,GOP的持续时间是12帧,且在移动电话上显示的典型帧速率是25帧/秒,故此给出大约85,417字节/秒或683千比特/秒的平均数据速率的实例。此仅仅是实例,且本领域技术人员将了解其它数据速率是既可能又常见的。当引起针对此服务仅仅79,000字节/秒的带宽可用的事件发生时,旧的系统将终止该服务,无法接受地延迟视频帧,或随机地丢下帧。所有这些情境很可能导致对于用户来说无法接受的质量。
然而,如果在视频服务内对帧进行优先次序排定,那么可基于负担或相似度量与对具相同优先权的帧中丢弃的均匀间隔的要求的组合来进行智能地丢弃。为了最小化对视频流的质量的影响,理想的是丢弃最小数目的帧,其对适合新的带宽限制是有必要的。通过在均匀方式丢弃25%的B帧,需求可降低到77,083字节/秒,从而适合实例中的可用带宽。为了进一步降低视频质量的降级的概率,可均匀地丢弃B帧,因此允许(例如)视频解码器中的内插系统最小化恢复伪影(recovery artifact)。在该实例中,丢弃B帧3005(2)和3005(6),如图29所示。或者,丢弃B帧3005(4)和3005(8)给出丢弃的类似均匀分布。可使用先前描述的优先次序排定方法来预定这些选择。
可使用视频平均意见得分(VMOS)或可选量化方法来测量视频流的质量。可基于测量来预测可归于丢弃策略的VMOS的降级,测量可随着时间的过去而提炼。
如图30和图31中可见的,使用如先前讨论的视频流内的数据包的优先次序排定,可在需要时丢弃逐渐变多的帧,同时最小化视频质量的降级。可由运营商策略或用户首选项控制在服务终止之前多少质量允许降级。
下文的表格表明前述技术提供与在GOP中存在多个帧一样多的可能带宽需求或丢弃等级。另外,可通过丢弃帧的部分(诸如切片)或通过使用GOP间技术(诸如每隔一个GOP丢弃一个B帧或每3个GOP丢弃两个B帧)来达到其它较细粒度丢弃等级。
这些丢弃等级中的每一者使视频服务的质量降级或减少。但是,正如编码器和解码器性能可由诸如VMOS的度量来量化,归因于智能丢弃的降级可使用这些度量来量化。如本文中描述的针对许多常见GOP,此可通过测量归因于丢弃的VMOS降级且导出在估计VMOS降级时使用的度量来实现。
以此方式,视频服务可具有带宽要求的相关联集合,其每一者与质量度量成对。运营商策略或用户首选项可指示如下质量度量值,即在其中考虑服务是无法接受的且终止服务而非进一步降级服务。例如,可采用比每隔一个B帧的损失多的损失是无法接受的策略。在图29所示的该实例中,考量带宽需求的19.5%减少,每个GOP可丢弃四个B帧。如果带宽的进一步减少是必要的,那么服务将终止或中止,或者,不同服务可终止、中止或应用丢弃以降低其需求,从而降低整个系统需求。如先前在图25或图26中所示,可执行丢弃。
本领域技术人员将理解,质量度量值可不同地应用于个别视频流、视频流应用程序(例如,Youtube对Netflix)、用户、用户SLA类别、服务类、调度器队列或其组合。
可使用速率与VMOS之间的关系来使新服务准入。例如,如果用户想要发起如在先前实例中的需要85,417字节/秒的带宽的视频流,但只有79,000字节/秒是可用的,那么系统将了解服务可以仍然是准入的,但是在由每一GOP丢弃2个B帧提供的被降级的质量下来实现77,083字节/秒的带宽需求。如果降级对于运营商策略和用户首选项来说是可接受的,那么将准入该服务而非拒绝该服务。交替地,如果策略允许不同服务使其带宽需求降低,那么系统可应用带宽降低到该不同服务,从而释放带宽以允许准入新服务。此呼叫准入控制(CAC)方法在图32中描绘的流程图中表示,且在一个实施例中由图24所示的呼叫准入控制模块2460实施。
在步骤3205处,由系统接收关于新服务的请求。此请求可来自请求服务的用户装置,或可来自发起服务的外部实体,例如,满是人的房间与移动手机上的参与者之间的视频会议呼叫可由无线手机的用户发起,或可使用附接到会议房间的视频会议设备的地上通讯线发起。在步骤3210处,执行检查来确定是否存在充分系统资源来使服务准入。通常在许多通信系统中使用呼叫准入控制,且本领域技术人员将理解,用于与其相关的特定通信系统的标准方法。例如,美国专利7,529,204(其通过引用并入本文中)描述用于在使用自适应调制的通信系统中使用的呼叫准入控制。如果存在充分资源,那么在步骤3215中准入该服务。如果在步骤3210处确定不存在充分资源来准入服务,那么流程继续到步骤3230,在步骤3230中执行检查以查看服务是否能以降级形式准入。如果服务能以降级形式准入,那么流程前进到步骤3235,在步骤3235中使服务降级,例如,选择丢弃等级以使得将丢弃25%的B帧,在此之后在步骤3240中准入该服务。如果步骤3230确定在策略的边界内服务不能充分地降级以适应资源限制,那么流程前进到步骤3270,在步骤3270中进行关于不同服务或服务的某一组合(可能包括新服务)是否可充分地降级以允许新服务准入的确定。如果在步骤3270处确定服务集合能充分地降级,那么流程前进到步骤3275,在步骤3275中所识别的服务降级且在步骤3280中准入新服务。如果在步骤3270处确定没有服务集合可充分地降级,那么流程前进到步骤3290,在步骤3290中拒绝新服务请求。
在替代实施例中,可从该方法移除步骤3230、3235和3240的集合。相反地,可从该方法移除步骤3270、3275和3280。
此所描述CAC方法可在无线基站或另一网络的等效物(诸如DOCSIS电缆调制解调器系统中的首端)中运行。或者,其可在核心网络中的管理实体(诸如服务网关)上运行。
虽然上述CAC方法在可使用本发明的方法降级的视频服务的背景中描述,但本领域技术人员将理解,其适用于可降级的所有服务,诸如具有最小保证速率但允许突发到最大数据速率的数据服务,或策略将允许数据包的某一百分比(例如5%)损失或丢弃的IP承载语音(VoIP)服务。
除了设定用于服务的降级等级以允许新服务准入之外,可在诸如WiMAX和LTE的系统中使用类似方法,其中归因于改变环境条件和环境条件对诸如调制、编码和MIMO模式的PHY参数的选择的效应,系统资源可动态地变化。图33是允许在资源减少情况下服务的温文降级的方法的流程图,从而避免服务的随机丢弃或过度中止或终止。在一个实施例中,由图2B所示的呼叫准入控制模块2460实施方法。
在步骤3310处,降低系统资源的事件发生,且系统资源的降低被识别。这可(例如)由移动到小区的边缘且要求更健壮编码和调制的移动手机引起。流程前进到步骤3320,在步骤3320中执行检查以确定在当前服务的当前状态中是否仍存在充分资源用于当前服务。如果在步骤3320处确定存在充分资源用于当前服务,那么流程前进到步骤3330,在步骤3330中不采取行动。如果步骤3320确定在当前服务的当前状态中不再存在充分资源用于当前服务,那么流程前进到步骤3340。在步骤3340处,执行检查来确定在新的资源限制内服务的某一组合是否可降级以允许服务的继续操作。如结合图5的步骤540所论述,该确定可继续进行。一般而言,系统确定服务的某一组合是否可通过与服务的某一组合相关联的数据包的选择性丢下来降级,其强加根据预定准则的总最小服务降级且其不超过任何服务的最大可允许降级。如果存在可降级以允许服务的继续操作的服务组合,那么流程前进到步骤3350,在步骤3350中使这些服务降级。如果不存在可降级以允许服务的继续操作的服务组合,那么流程前进到步骤3360,在步骤3360中识别服务以进行中止或终止。选择中止或终止哪些服务可基于许多因素,包括释放的资源量、服务优先权、合同规定的服务等级协议和到服务的用户的链路质量。步骤3360可选地组合一些服务的降级与其它服务的中止或终止来最小化需要中止或终止的服务的数目。
本领域技术人员将理解,服务的降级是可以放宽的,且中止服务可在系统资源增加(诸如当移动手机离开小区或改变到更有效率调制编码方案)之后重新开始。
关于VBR服务,质量的保持和资源的有效率使用可以是甚至更大的。关于VBR流,帧尺寸的上限可以是受束缚的,但平均帧尺寸可较小。在一些GOP期间,许多帧可以是较小的。此可允许在CBR情况下原本有必要被丢弃的一些帧得以保留。为允许此情形,优选实施例使用外出丢弃,如参看图26所描述。在图26所示的方法中,增大步骤2650,使得如果存在充分系统资源,那么即使在步骤2650处确定数据包满足丢弃准则,仍允许在步骤2670处调度用于传输的数据包。例如,如果GOP的平均尺寸(以字节为单位)在当时充分小于平均值,那么此事件将发生,从而在设定用于服务的丢弃等级时,产生比预期小的需求。
在宽带系统中VBR视频流的统计多路传输进一步允许在一个流具有暂时的低带宽需求时,另一流受益。例如,在一个实施例中,图26的增大的步骤2650允许如果在确定丢弃等级时,不同服务或所有服务的组合已使用比预期少的系统资源,那么步骤2650确定满足丢弃准则的来自一个服务的视频帧由步骤2670调度以进行传输。
所描述的优先权方案可与作出最后一刻决策的调度器结合使用以最大化帧保有,或与在预计到拥塞时进行主动式丢弃的调度器结合使用。优先权方案还可与如下调度器结合使用:该调度器使用主动式丢弃来接近用于服务的目标带宽消耗,同时仍保持高于目标带宽消耗,且接着执行最后一刻丢弃以最大化统计多路传输增益。
本领域技术人员将了解,上文描述的优先次序排定可用于除了智能丢弃之外的目的,例如通过以下方式增强呼叫准入控制:提供关于来自视频服务的多少数据可被丢弃同时维护所需服务质量的额外信息,因此允许与在无此信息的情况下原本可能的准入相比更多的服务准入。
如上文描述,上文描述的数据包丢弃和帧分析可由通信装置或系统执行,包括(但不限于)接入点、基站、宏小区、微微小区、企业毫微微小区、家庭毫微微小区、中继站、小波形因数基站、用户站、核心网络系统或其它装置。在一些实施例中,这些通信装置可包括操作以实现本文中描述的功能性的一个或多个处理器、收发器、天线系统和计算机可读存储器或媒介。
本领域技术人员将了解,结合本文中公开的实施例描述的各种说明性逻辑块、模块、单元和算法与方法步骤可常常实施为电子硬件、计算机软件或两者的组合。为了清楚地图示硬件与软件的此可互换性,已在上文大体依据其功能性描述各种说明性组件、单元、块、模块和步骤。此功能性是实施为硬件还是软件取决于强加在整个系统上的特定系统和设计约束。技术人员可针对每一特定系统以变化方式实施所描述的功能性,但此类实施决策不应解释为引起偏离本发明的范围。另外,单元、模块、块或步骤之内功能的分组是出于说明容易起见的。具体功能或步骤在不脱离的情况下可从一个单元、模块或块移动。
结合本文中公开的实施例描述的各种说明性逻辑块、单元、步骤和模块可由以下各者实施或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程序门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或被设计以执行本文中描述的功能的其任何组合。通用处理器可以是微处理器,但在替代例中,处理器可以是任何处理器、控制器、微控制器或状态机。处理器还可以作为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或多个微处理器,或任何其它此类配置而被实施。
结合本文中公开的实施例描述的方法或算法的步骤和块或模块的过程可直接地在硬件、由处理器执行的软件模块(或单元)或两者的组合中具体化。软件模块可位于RAM存储器、闪速存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM,或任何其它形式的机器或计算机可读存储媒体中。示例性的存储媒体可耦合到处理器,使得处理器能读取来自该存储媒体的信息且将信息写入到该存储媒体。在替代例中,存储媒体可以是处理器的整体组成部分。处理器和存储媒体可位于ASIC中。
各种实施例也可主要地在硬件中使用(例如)诸如专用集成电路(“ASIC”)或现场可编程序门阵列(“FPGA”)的组件来实施。
提供所公开的实施例的以上描述使任何本领域技术人员能够进行或使用本发明。对这些实施例的各种修改对于本领域技术人员来说是显而易见的,且本文中描述的通用原理可在不脱离本发明的精神或范围的情况下应用于其它实施例。因此,应理解,本文中呈现的说明书和附图表示本发明的目前优选的实施例,且因此代表由本发明广泛地考虑的主题。应进一步理解,本发明的范围完全涵盖对于本领域技术人员来说可变得明显的其它实施例。