法律状态公告日
法律状态信息
法律状态
2020-05-22
未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20180209 终止日期:20190603 申请日:20130603
专利权的终止
2018-02-09
授权
授权
2015-06-24
实质审查的生效 IPC(主分类):H04L29/08 申请日:20130603
实质审查的生效
2015-02-04
公开
公开
背景技术
无线通信技术在过去几年已经有爆炸性增长。无线服务提供者现为其消费者提供一系列服务,且向用户提供对信息、资源和通信的前所未有的水平的存取。为跟上这些服务增强,移动电子装置(例如,蜂窝式电话、平板计算机、膝上型计算机等)已变得比以往更强大和复杂。移动电子装置现通常包含多个处理器芯片上系统(SoC)和其它资源(例如,功率轨、存储器等),其允许移动装置用户在其移动装置上执行复杂且功率密集的软件应用(例如,视频处理软件)。这些大大耗尽移动装置的电池寿命,且移动装置资源的有效利用正变为愈加重要的设计考虑因素。
发明内容
各个实施例提供用于在轻量便携式接收器装置上以实现改进电池寿命或适应当前处理器可用性或工作负载的方式接收和显示视频内容。
各个实施例包含通过以下操作增强具有物理层组件和应用层组件的移动装置中的用户体验和性能的方法:确定应用层组件中的资源可用性;确定平衡应用层组件中的资源可用性与呈现质量的可接受质量水平;在物理层组件中接收内容,以及应用层组件从物理层组件拉取内容数据的子集,所述子集足以提供所确定的质量水平。
在一实施例中,确定平衡资源可用性与呈现质量的可接受质量水平可包含应用层组件经由编程接口与移动装置的操作系统通信。在另一实施例中,确定平衡应用层组件中的资源可用性与呈现质量的可接受质量水平可包含确定移动装置是否连接到稳定电源。在另一实施例中,确定平衡应用层组件中的资源可用性与呈现质量的可接受质量水平可包含监视电池电力。在另一实施例中,在物理层组件中接收内容可包含在物理层组件中接收经压缩视频帧。
在另一实施例中,从物理层组件拉取足以提供所确定的质量水平的内容数据的子集可包含基于所确定的资源可用性拉取内容数据。在另一实施例中,基于所确定的资源可用性拉取内容数据可包含基于瞬时处理器利用、平均处理器利用、移动装置的剩余电池电力、瞬时功率消耗、平均功率消耗、闲置处理器循环、可用系统存储器和可用系统存储器带宽中的至少一者确定资源可用性。在另一实施例中,从物理层组件拉取足以提供所确定的质量水平的内容数据的子集可包含物理层组件拒绝接收视频数据流中的非参考视频帧和增强层视频帧中的一或多者。
在另一实施例中,所述方法可包含通过不解码至少一个所接收非参考视频帧而改变解码帧速率。在另一实施例中,从物理层组件拉取足以提供所确定的质量水平的内容数据的子集可包含当最早场景改变瞬间经检测比阈值持续时间早发生时直到所述最早场景改变瞬间才拉取参考视频帧和呈现次序在参考帧之后的任何非参考视频帧的至少一或多者。在另一实施例中,从物理层组件拉取足以提供所确定的质量水平的内容数据的子集可包含物理层组件直到最早场景改变经检测比阈值持续时间早发生才同意接收参考视频帧和呈现次序在参考帧之后的任何非参考视频帧的至少一或多者。在另一实施例中,所述方法可包含通过在解码之后不再现至少一或多个视频帧而改变再现帧速率。
在另一实施例中,从物理层组件拉取足以提供所确定的质量水平的内容数据的子集可包含简化或跳过非参考帧的解块以及当全屏刷新经检测比阈值持续时间早发生时简化或跳过参考帧的解块中的一者,且在一实施例中,所述方法可包含用较低复杂性算法替代用于显示的默认较高复杂性且较高性能空间尺寸再设定算法。在另一实施例中,从物理层组件拉取足以提供所确定的质量水平的内容数据的子集可包含在不需要的视频帧的发射期间切将移动装置的无线电模块断电使得物理层组件不接收这些视频帧。
在另一实施例中,确定平衡应用层组件中的资源可用性与呈现质量的可接受质量水平可包含收集数据,以及向一或多个应用层组件报告利用和可用性信息。在另一实施例中,所述方法可包含当资源稀少时从较高质量转变到较低质量,以及当资源不再稀少时从较低质量转变回到较高质量。
各个实施例可包含通过以下操作增强具有应用层组件的移动装置中的用户体验和移动装置性能的方法:确定应用层组件中的移动装置资源可用性;确定平衡应用层组件中的资源可用性与呈现质量的可接受质量水平;在应用层组件的动态自适应视频串流会话中从串流服务器接收内容,以及应用层组件从串流服务器拉取内容数据的子集,所述子集足以提供所确定的质量水平。
在一实施例中,确定平衡应用层组件中的资源可用性与呈现质量的可接受质量水平可包含应用层组件经由编程接口与移动装置的操作系统通信。在另一实施例中,从串流服务器接收内容可包含拉取和接收经压缩视频帧。在另一实施例中,确定平衡应用层组件中的资源可用性与呈现质量的可接受质量水平可包含监视电池电力。在另一实施例中,确定平衡应用层组件中的资源可用性与呈现质量的可接受质量水平可包含确定移动装置是否连接到稳定电源。
在另一实施例中,从串流服务器拉取足以提供所确定的质量水平的内容数据的子集可包含基于装置资源的可用性拉取内容数据。在另一实施例中,基于装置资源的可用性拉取内容数据可包含基于瞬时处理器利用、平均处理器利用、移动装置的剩余电池电力、瞬时功率消耗、平均功率消耗、闲置处理器循环、可用系统存储器和可用系统存储器带宽中的至少一者拉取内容数据。在另一实施例中,从串流服务器拉取足以提供所确定的质量水平的内容数据的子集可包含拉取具有帧速率、帧空间分辨率和帧压缩质量的至少一者的经更改质量水平的经压缩视频帧的集合。在另一实施例中,所述方法可包含通过不解码至少一个所接收非参考视频帧而改变解码帧速率。
在另一实施例中,拉取足以提供所确定的质量水平的内容数据的子集可包含当最早场景改变瞬间经检测比阈值持续时间早发生时直到所述最早场景改变瞬间才拉取参考视频帧和呈现次序在参考视频帧之后的任何非参考视频帧的至少一者。在另一实施例中,从串流服务器拉取足以提供所确定的质量水平的内容数据的子集可包含当最早场景改变瞬间经检测比阈值持续时间早发生时直到所述最早场景改变瞬间才解码参考视频帧和呈现次序在其之后的任何非参考视频帧的至少一或多者。在另一实施例中,所述方法可包含通过在解码之后不再现至少一或多个视频帧而改变再现帧速率。
在另一实施例中,从串流服务器拉取足以提供所确定的质量水平的内容数据的子集可包含简化或跳过非参考帧的解块以及当全屏刷新经检测比阈值持续时间早发生时简化或跳过参考帧的解块中的一者。在另一实施例中,所述方法可包含用较低复杂性算法替代用于显示的默认较高复杂性且较高性能空间尺寸再设定算法。在另一实施例中,从串流服务器拉取足以提供所确定的质量水平的内容数据的子集可包含通过系统范围资源监视代理收集数据以及向一或多个应用层组件报告利用和可用性信息。在另一实施例中,所述方法可包含当资源稀少时从较高质量转变到较低质量,以及当资源不再稀少时从较低质量转变回到较高质量。
其它实施例可包含具有处理器的计算装置,所述处理器配置有处理器可执行指令以执行对应于上文论述的方法的各种操作。
其它实施例可包含具有用于执行对应于上文论述的方法操作的功能的各种装置的计算装置。
其它实施例可包含上面存储有处理器可执行指令的非暂时性处理器可读存储媒体,所述处理器可执行指令经配置以致使处理器执行对应于上文论述的方法操作的各种操作。
附图说明
并入本文中且构成本说明书的一部分的附图说明本发明的示范性实施例,且连同上文给出的一般描述和下文给出的详细描述一起用以阐释本发明的特征。
图1是说明适于在各个实施例中使用的移动多媒体通信系统的通信系统框图。
图2是可与各个实施例一起使用的正交频分多路复用(OFDM)移动多媒体通信系统中的多媒体基站和无线接收器装置的系统框图。
图3是说明根据各个实施例经由各种硬件和软件协议模块的信息流的通信和软件协议堆栈架构图。
图4是说明经由各种硬件和软件协议模块的各个层和信息流的另一软件协议堆栈架构图。
图5是用于接收多媒体包且将媒体样本递送到媒体播放器的实施例方法的过程流程图。
图6是用于基于资源可用性拉取媒体样本的实施例方法的过程流程图。
图7A是用于基于资源可用性请求媒体样本的实施例方法的过程流程图。
图7B是用于通过从物理层组件拉取足以提供特定质量水平的内容数据的子集而增强具有物理层组件和应用层组件的移动装置的用户体验和移动装置性能的实施例方法的过程流程图。
图7C是用于通过从串流服务器拉取足以提供特定质量水平的内容数据的子集而增强具有应用层组件的移动装置的用户体验和移动装置性能的实施例方法的过程流程图。
图8是说明媒体播放器和物理调适层组件可如何一起工作以减少经处理的数据帧的数目的说明。
图9是适于与实施例的任一者一起使用的接收器装置的系统框图。
图10是适于与实施例的任一者一起使用的膝上型计算机的系统框图。
具体实施方式
将参看附图详细描述各种实施例。只要可能,将在整个图式中使用相同的参考标号来指代相同或相似的部分。对特定实例和实施方案做出的参考是出于说明性目的,且不希望限制本发明或权利要求书的范围。
本文使用词语“示范性”来表示“充当实例、例子或说明”。本文描述为“示范性”的任何实施方案不一定解释为比其它实施方案优选或有利。
术语“移动装置”、“移动计算装置”和“接收器装置”在本文可互换使用以指代蜂窝式电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、智能本、超极本、掌上型计算机、无线电子邮件接收器、多媒体因特网启用蜂窝式电话、无线游戏控制器以及包含用于接收和处理多媒体的可编程处理器和电路的类似个人电子装置中的任一者或全部。
术语“计算装置”一般在本文使用以指代服务器、个人计算机、膝上型计算机、平板计算机、移动装置、蜂窝式电话、智能本、超极本、掌上型计算机、个人数据助理(PDA)、无线电子邮件接收器、多媒体因特网启用蜂窝式电话、全球定位系统(GPS)接收器、无线游戏控制器以及包含用于以无线方式发送或接收信息的可编程处理器和电路的其它类似电子装置中的任一者或全部。
词语“广播”在本文使用以表示数据(文件、信息包、电视节目安排等)的发射使得其可由大量接收装置同时接收,且包含多播。
若干不同移动广播电视服务和广播标准可用或将来预期,其全部可实施各个实施例且从各个实施例受益。此类服务和标准包含例如开放移动联盟移动广播服务启用器套件(OMA BCAST)、
应理解,对关于个别标准或技术的术语和/或技术细节的任何参考仅出于说明性目的,且不希望将权利要求书的范围限于特定通信系统或技术,除非以权利要求语言特别陈述。
各个实施例提供用于在计算装置(尤其是移动计算装置)上有效接收和显示多媒体内容(例如,音频-视频流等)的方法、系统和装置。
各个实施例使应用层组件(例如,媒体播放器应用)能够基于装置资源的可用性(例如,处理器可用性、电池储备等)从物理层组件选择性地拉取内容数据的集合。各个实施例中实施的方法实际上与常规多媒体播放器中使用的方法相反,在常规多媒体播放器中物理层组件将所有所接收数据推送到应用层组件,应用层组件必须接着处理所有所述数据,即使其中一些不被使用。将所有所接收数据推送到应用层的常规方法需要较多功率消耗,因为数据必须经由内部数据信道传递(这消耗功率)且存储在可由应用存取的缓冲器中(这也消耗功率)。因为各个实施例拉取将由媒体播放器应用使用的数据的子集,所以与传递和缓冲数据相关联的功率和处理器资源仅由实际上被应用使用的数据消耗;所接收数据的剩余部分(即,未被应用拉取的所接收数据)简单地被忽略或在物理层处覆写。因此,各个实施例使媒体播放器应用能够基于资源的可用性改变视频流处理(接收、解码和再现)速率,其中由应用层组件(例如,媒体播放器)以平衡用户体验与功率节省和/或适应处理器的工作负载的方式作出关于处理什么和如何处理的决策。
一般来说,在计算装置上接收和显示内容需要执行消耗大量必要装置资源(CPU操作、电池电力、存储器等)的软件应用(例如,媒体播放器)。此类软件应用通常执行多个功率和资源密集多媒体任务,其可大大缩短电池寿命和/或以其它方式占据/消耗/耗尽移动装置资源。举例来说,典型的移动装置处理器可在处于闲置状态时在其容量的5%下操作且消耗大约10毫安(mA)电流,但在多媒体任务的执行期间在其容量的约60%下操作且消耗大约400mA的电流。另外,多媒体任务的执行可对例如电压轨、图形处理单元(GPU)和存储器等其它装置资源和组件提出类似需求。这部分归因于大量数字信息必须在移动装置内被接收、进行错误校正、传送到再现应用,且由所述应用处理。另外,归因于多媒体内容的性质,接收和处理必须在严格时间和同步要求内实现以便提供令人满意的用户体验-用户对丢帧和音频与视频不同步具有极少耐心。此外,必须在移动装置可操作的所有情形下满足对经再现媒体的质量的此类需求。
当前存在减少视频的空间和时间冗余(且因此减少必须传送的信息量)的若干现成音频和视频压缩技术(例如,移动图片专家组“MPEG”压缩)。然而,不论压缩方法的效率如何,多媒体内容的接收和再现都需要接收器装置中的显著能量和处理器资源。经由无线电频率接收器接收符号、缓冲所接收信号,以及执行符号的错误校正和解码只为接收经压缩数据的过程消耗物理层处的显著功率和处理资源。接着,为了再现多媒体内容,所接收经压缩多媒体数据必须经由若干预处理和后处理操作处理以便适当地将数据解码为可经由扬声器显示和播放的格式。这些预处理和后处理操作消耗显著量的功率、CPU资源和存储器。因此,减少资源或作为预处理和后处理操作的一部分执行的处理的量的处理方法可显著增加电池寿命且改进总体用户体验。
各个实施例使移动装置处理器能够调整接收和解码操作以与可用装置资源的能力匹配,和/或以增加电池消耗的节省和处理器利用的方式满足电池消耗需求/要求。特定来说,各个实施例通过允许较高层级组件(例如,应用层级组件)选择性地从较低层级组件(例如,物理层或调适层组件)拉取数据而智能地平衡所显示视频的质量与用于再现媒体的资源的量。各个实施例使应用能够拉取可近似为显示内容所需的视频数据的最小量的内容数据的子集,而不使用户体验明显降级,同时节省功率和处理操作,借此向用户提供内容质量与功率消耗之间的最佳或接近最佳平衡。
物理层中接收的未被应用层拉取的数据可被丢弃(例如,通过在接收器缓冲器中覆写)而进行极少处理或无进一步处理。通过拉取将在应用层中使用的数据(而不是必须接受物理层接收的所有数据),应用可在与可用资源(例如,功率和/或处理器可用性)相称的分辨率或质量水平下再现媒体,同时实现比常规媒体播放器中可能实现的效率更大的效率,因为功率和处理器资源不会由于传送(例如,经由数据总线)、缓冲、预处理和后处理将不用于再现媒体的数据而被消耗。
各个实施例可在多种网络和/或移动多媒体系统内实施,其实例在图1中说明。特定来说,图1说明移动装置10可从多媒体广播网络1、单播网络11或经由因特网7接收内容。典型的多媒体广播网络1包含由移动广播网络控制中心/广播操作中心(BOC)4控制的多个广播发射器2。多媒体广播网络1作为移动广播发射3而广播来自广播发射器2的内容以供由例如智能电话、膝上型计算机、个人数字助理(PDA)和其它类似电子装置等移动接收器装置10接收。在BOC 4内,可存在用于管理内容广播且提供到因特网7的连接的一或多个服务器和系统31。
除多媒体广播网络1外或代替于多媒体广播网络1,移动接收器装置10可经由例如蜂窝式电话网络、WiFi网络(未图示)、WiMAX等单播网络11通信。典型的蜂窝式电话网络包含耦合到网络操作中心14的多个蜂窝式基站12。网络操作中心14操作以例如经由电话陆上线路(例如,POTS网络,未图示)和因特网7连接移动装置10与其它网络目的地之间的语音和数据呼叫。
移动接收器装置10与单播网络11之间的通信可经由例如LTE、4G、3G、CDMA、TDMA和其它蜂窝式电话通信技术等双向无线通信链路13实现。此双向无线通信链路13可使用户能够将多媒体内容串流到移动装置。为促进因特网数据通信(例如,串流视频馈送),单播网络11将通常包含耦合到网络操作中心14或在网络操作中心14内且提供到因特网7的连接的一或多个服务器16。移动接收器装置10可经由有线连接(当可用时)进一步连接到因特网7,在此情况下因特网7可充当单播网络。移动接收器装置10还可使用众所周知的常规基于网络的接入协议在因特网7上接收非广播内容。
作为在移动装置中接收和再现多媒体内容的过程中涉及的处理的类型的说明,以下段落说明在编码、发射、接收、解码和接着再现经由无线数据链路发射的多媒体的过程中实现的组件和处理。
图2说明可与各个实施例一起使用的正交频分多路复用(OFDM)移动多媒体通信系统100中的实例多媒体基站110和实例无线接收器电路150的框图。多媒体基站110可为固定站、基站发射器系统(BTS)、接入点、任何其它类似组件。无线接收器电路150可为固定或移动的。
在多媒体基站110处,发射器(TX)数据和导频处理器120可接收不同类型的数据(例如,实时和非实时内容、开销/控制数据等),且处理(例如,编码、交错、符号映射等)所接收数据以产生数据符号。发射器数据和导频处理器120还可产生导频符号,且将数据和导频符号提供到OFDM调制器130。OFDM调制器130可将数据和导频符号多路复用到适当子带和符号周期上,且对经多路复用的符号执行OFDM调制以产生OFDM符号。发射器(TMTR)单元132可将OFDM符号转换为一或多个模拟信号,且进一步调节(例如,放大、滤波、升频转换等)模拟信号以产生经调制信号。多媒体基站110可经由天线134发射经调制信号以供由OFDM移动多媒体通信系统100中的无线接收器接收。
在接收器侧,无线接收器电路150可经由耦合到接收器单元154的天线152从多媒体基站110接收经发射信号。接收器单元154可调节(例如,滤波、放大、降频转换等)所接收信号,且数字化经调节信号以获得输入样本流。接收器单元154可经配置以便能够在短时间间隔内在两个或两个以上频率之间切换,从而使接收器单元154能够在单一帧(跳时)内从两个或两个以上不同载波接收符号。接收器单元154可将输入样本提供到OFDM解调器160,OFDM解调器160可对输入样本执行OFDM解调制以获得所接收数据和导频符号。OFDM解调器160可利用信道估计值(例如,频率响应估计值等)对所接收数据符号执行检测(例如,匹配滤波等)以获得检测到的数据符号,所述检测到的数据符号可为多媒体基站110发送的数据符号的估计值。OFDM解调器160可将检测到的数据符号提供到接收(RX)数据处理器170。
同步/信道估计单元(SCEU)180可从接收器单元154接收输入样本,且执行同步操作以确定帧和符号定时。SCEU 180还可使用从OFDM解调器160接收的导频符号导出信道估计值。SCEU 180可将符号定时和信道估计值提供到OFDM解调器160。SCEU 180可将帧定时提供到RX数据处理器170和/或控制器190。OFDM解调器160可使用符号定时来执行OFDM解调制。OFDM解调器160可使用信道估计值对所接收数据符号执行检测操作。
RX数据处理器170处理(例如,符号解映射、解交错、解码等)从OFDM解调器160检测到的数据符号且提供经解码数据。RX数据处理器170和/或控制器190可使用帧定时来恢复多媒体基站110发送的不同类型的数据。一般来说,OFDM解调器160和RX数据处理器170进行的处理分别与多媒体基站110处OFDM调制器130以及TX数据和导频处理器120进行的处理互补。
控制器140、190可分别引导多媒体基站110和无线接收器电路150处的操作。控制器140、190可为处理器和/或状态机。存储器单元142、192可分别提供控制器140、190使用的程序代码和数据的存储。存储器单元142、192可使用各种类型的存储媒体来存储信息。
无线接收器电路150可耦合到处理器172和存储器174。处理器172可配置有应用软件,其部分可组成应用层组件,如下文参看图3和4描述。处理器172、存储器174和无线接收器电路150的组合提供适于实施各个实施例的计算装置。在此类实施例中,无线接收器电路150可充当到无线网络的网络接口,计算装置可经由所述网络接口从串流内容服务器(图2未图示)接收内容。
如上文提及,多媒体应用(例如,媒体播放器等)通常需要功率和计算,且对例如CPU、电池和存储器等必要移动装置资源具有很大需求。这部分归因于现有解决方案接收和处理多媒体流/广播的方式。
在移动装置中,用于接收和再现内容的操作可划分为单独且独立群组或类别的操作,且每一群组或类别的操作可指派给一层。在每一层中,各种硬件和/或软件组件可实施层的与指派给所述层的责任相称的功能性。举例来说,在移动装置中,媒体流(例如,广播、点对点等)通常在物理层中接收,物理层可包含无线电接收器、缓冲器和处理组件,其执行解调制、辨识射频(RF)信号内的符号以及执行从所接收RF信号拉取原始数据所必需的前向错误编码(FEC)处理的操作。用于接收串流视频的现有解决方案要求物理层中接收的数据经由各层(例如,数据链路层、网络层、传送层等)推送到应用层,在应用层中数据可被处理为可用于再现内容(例如,视频和/或声音)的信息。
信息经由各层的推送需要处理、变换、存储和/或存取存储在存储器中的信息,且可需要大量数据传递和存储器存取操作。由于这些数据传递和存储器存取操作消耗大量能量(通常比数据处理操作更多的功率),所以将所有所接收数据向上推送到应用层可能代价较大(例如,在电池耗用方面)。此外,广播流和串流媒体通常编码大量信息,其并非全部可被多媒体应用需要或使用。因此,经由各层推送整个所接收数据流可能不必要地消耗能量,且在各个操作模式中可表示装置资源的显著浪费。各个实施例通过确保最终被应用需要(且因此以积极方式影响用户体验)的内容数据的子集经由所述层向上传递、被存储和/或处理而避免这些浪费的操作(例如,较低层在协议层中向上推送所有数据)。
各个实施例通过从物理层拉取将被应用层处理的内容数据的子集而减少移动计算装置的应用层组件(例如,媒体播放器)在显示内容(例如,串流或广播视频)时消耗的能量的量。各个实施例通过确定媒体播放器需要的信息量且防止不需要的数据的流动和处理而减少在移动装置上接收和显示内容所需的数据传递和存储器存取操作的数目。
图3说明根据各个实施例穿过适于接收和显示内容的移动计算装置的样本协议堆栈300的信息流。特定来说,图3说明物理层302中接收的多媒体包可经由物理层调适层(PAL)304向上推送到媒体播放器层306,其中输出提供到用户接口层308。每一层302、304、306、308可实施在硬件中、软件中,或硬件与软件的组合中。在一实施例中,媒体播放器层306可为应用层。
在一实施例中,媒体播放器层306与物理层调适层(PAL)304之间的跨层优化可实现媒体播放器层306的“拉取”操作,与来自物理层302的传统“推送”操作形成对比。举例来说,当在移动装置的物理层302中接收视频信息时,媒体播放器层306(例如,在移动装置处理器上运行的多媒体层等)可选择和/或“拉取”将保存到存储器以供进一步处理的信息,从而允许丢弃或覆写其它视频信息。媒体播放器层306可基于各种因素作出关于选择/拉取的内容的决策,所述各种因素例如资源可用性(例如,瞬时CPU利用、剩余电池寿命等)、所要用户体验水平(例如,所要呈现质量、帧速率等),和待显示的内容(例如,高运动、静止等)。
在一实施例中,媒体播放器层306可经配置以选择性地从物理层302拉取数据以供存储和操纵。在替代实施例中,媒体播放器层306可设定指示何时物理层302可将数据推送到缓冲器中的滤波器。可基于资源的可用性调整视频处理操作(例如,解码、再现等),且/或媒体播放器层306可经配置以智能地平衡呈现质量与用于挑选待拉取的视频数据和/或决定执行、修改或不修改哪些处理操作的装置资源可用性。
在一实施例中,用于智能地识别和选择待传递到媒体播放器层306的数据的逻辑可在媒体播放器层306(即,应用层)与物理调适层304之间实施。媒体播放器层306可使用实现媒体播放器层306的优化/选择性数据拉取操作的执行(与从较低层的常见推送式数据上流对比)的跨层设计(在协议层上)实施。在一实施例中,可实施“松散耦合”的跨层解决方案,其中两个非邻近协议层可经由简单的有限信息携载消息交换而耦合。这些实施例可经由媒体播放器层306中的硬件和/或软件组件(例如,媒体播放器应用)实施。
在各个实施例中,用于通过从较低层选择性拉取数据(例如,与基于内容推送数据形成对比)在移动装置上有效接收和显示内容(例如,音频-视频流等)的方法可在配置有PAL304内、媒体播放器层306内、PAL 304与媒体播放器层306之间或部分在PAL 304与媒体播放器层306两者内的软件指令的移动装置的处理器中实施。
在一实施例中,物理调适层304可经配置以实施或响应于允许媒体播放器层306智能地请求例如多媒体数据流中的所接收数据的子集或特定类型的所接收数据的拉取机制。举例来说,物理调适层304可包含使媒体播放器层306组件或应用能够请求或选择性接收其需要的内容数据的子集的逻辑,所述内容数据的子集可基于必要资源(例如,CPU、功率和存储器)的可用性确定。
图4说明根据一实施例适于接收和显示内容的移动计算装置的实例协议堆栈400。在图4的所说明的实例中,协议堆栈400包含物理层402、数据链路层404、网络层406、传送层408和应用层410,其每一者可实施在硬件中、软件中,或硬件与软件的组合中。在一实施例中,移动计算装置可实施如电信工业协会规范TIA 1099界定的硬件和软件模块。
物理层402可包含接收基本信号且将所接收数据提供到数据链路层404中的媒体传送流(例如,MPEG-2传送流)或媒体存取控制模块的无线电组件。数据链路层404可提供寻址和信道接入控制机制,其使得移动计算装置的各个组件有可能接收不同数据流。数据链路层404还可包含用于在MPEG传送流(TS顶部上携载包协议(例如,因特网协议)的子层,例如所说明的多协议囊封(MPE)-前向错误校正(MPE-FEC)子层以及程序和系统信息(SI/SPI)子层。
携载内容和信息流的流/信号的部分可由数据链路层404传递到网络层406,网络层406可包含用于将流、数据报和/或包传送/中继到传送层408的因特网协议(IP)模块/接口。传送层408中接收的流和数据可递送到适当传送层模块,所述适当传送层模块处理数据并将数据打包以供传送。在图4的所说明的实例中,协议堆栈可包含用户数据报协议(UDP)模块/子层,以及用于促进与应用层410通信的模块/子层,例如异步分层译码/分层译码传送(ALC/LCT)子层、实时传送协议(RTP)子层,以及单向传送文件递送(FLUTE)子层。应用层410可包含建立主机到主机、端对端连接且进行过程到过程通信所需的协议和方法。应用层410还可包含用于在移动计算装置上处理和显示内容的终端用户应用(例如,媒体播放器)。
协议堆栈400还可包含作为传送层408的一部分在实时传送协议(RTP)子层与应用层410之间的物理层调适层(PAL)450。到达物理层420的信号、包和数据可经由物理调适层450向上推送到应用层(例如,媒体播放器)。在一实施例中,用于通过从较低层选择性拉取数据(例如,与基于内容推送数据形成对比)而在移动计算装置上接收和显示内容(例如,音频-视频流等)的方法/逻辑可实施在物理调适层450中。
物理调适层450可包含使应用层410组件(例如,媒体播放器等)能够选择性请求数据包的逻辑,所述数据包可基于必要资源(例如,CPU、功率和存储器)的可用性确定。在一实施例中,物理调适层450可实施允许媒体播放器智能地请求例如串流多媒体数据等数据流内的特定类型的数据或数据元素的拉取机制。
如上文提及,代替于传统推送操作,各个实施例实施允许应用层组件(例如,媒体播放器)智能地请求特定类型的数据的拉取机制。在一实施例中,代替于拉取数据,应用层组件可设定可由物理层(例如,中间层)存取以允许将特定帧加载到由应用层存取的存储器中的旗标。举例来说,对于每一帧,可存在由应用层组件接通或切断的布尔(Boolean)旗标或布尔状态。如果应用层组件确定计算装置在重负载下且帧速率应降低(例如,从30帧/秒的接收速率到15帧/秒),那么媒体播放器可设定/清除各个旗标。如果应用层组件确定其不需要所有所接收帧,那么其可设定由物理层(或中间层)存取的布尔旗标,这致使物理层将对应于所设定旗标条件的那些帧向上推送到应用层;不满足对应于所设定旗标的条件(即,应用不需要)的帧可被丢弃,例如由理层组件接收的帧的下一集合覆写。因此,通过设定此类旗标,应用能够通过设定过滤条件而有效地“拉取”所要帧。应用层组件还可确定每秒应拉取(即,向上传递到应用层)的帧的数目(例如,30FPS与15FPS)以便向用户提供与资源可用性相符的最佳观看体验,且相应地设定旗标。
图5说明用于在计算装置中接收多媒体包且将媒体样本递送到应用层级组件(例如,媒体播放器)的实施例方法500。在框502中,多媒体包可由移动装置的物理层组件接收且向物理层调适层(PAL)组件报告。在框504中,物理层调适层(PAL)组件可例如通过设定可由媒体播放器应用存取的状态旗标而向媒体播放器报告可用媒体样本(VAU)。在框506中,媒体播放器可基于适当资源优化考虑因素指定和/或拉取其需要的内容数据(例如,帧)的子集。在框508中,所请求或拉取的数据/帧可由PAL递送到媒体播放器。
如上文提及,应用层组件(例如,媒体播放器)可意识到系统状态(例如,依据资源)且可作出关于应经由层向上传播的信息的类型的智能决策。图6说明用于智能地选择应向上传播到应用层组件(例如,媒体播放器)的信息的类型以便减少和/或避免最终不为应用层组件所利用的信息的浪费的存储和处理的实施例方法600。在一实施例中,方法600可作为上文参看图5论述的框506的一部分执行,其中应用层组件(例如,媒体播放器)基于资源优化考虑因素指定和/或拉取数据(例如,帧)。
在框602中,应用层组件可从较低层组件(例如,PAL层组件、物理层组件等)接收关于正在物理层中接收的信息(例如,正接收的视频帧的类型)的信息。举例来说,较低层(例如,物理调适层、物理层)中的组件可向应用层组件发送指示已接收视频帧的消息,且识别与所接收帧相关联的一或多个译码类型。在框604中,应用层组件可识别正使用的资源及其相应工作负载。在确定框606中,应用层组件可基于经识别的工作负载和资源使用确定计算装置是否处于重工作负载下。如果确定计算装置不处于重工作负载下(确定框606=“否”),那么应用层可使用所有所接收信息执行操作。另一方面,如果确定计算装置处于重工作负载下(确定框606=“是”),那么在框608中,应用层组件可确定适宜或合乎需要的重放质量。
在框610中,应用层组件可确定给定时间间隔(例如,1秒、2秒等)内所要/所需的信息的类型以提供所确定的重放质量。在框612中,应用层组件可仅请求所述时间间隔所需要的类型的信息。举例来说,应用层组件可基于可用译码类型和所要/所需服务质量确定有利地向用户提供所要/所需服务质量的所接收帧的部分。作为框612的一部分,应用层组件可拉取/允许所接收帧的所确定部分和/或选择译码类型以传播到应用层级。这可通过例如应用层组件设定/清除物理层(或中间层)存取的各个布尔旗标来实现。
在一实施例中,应用层组件可适于关于功率消耗、CPU消耗、存储器利用和其它装置资源的改变的(瞬时或逐渐)装置资源可用性条件,从而改进总体装置性能和用户体验。
图7A说明用于基于资源可用性请求媒体样本的实施例方法700。在框702中,媒体播放器可确定资源可用性。在框704中,媒体播放器可选择可接受质量水平。在一实施例中,可接受质量水平可基于资源可用性确定。在框706中,媒体播放器可请求足以提供选定质量水平的媒体样本的子集。举例来说,媒体播放器可基于当前/所预计装置资源状态选择待拉取的信息的适当子集。这样做时,媒体播放器可评估或考虑计算复杂性与呈现质量之间的一或多个折衷,从而使媒体播放器能够选择待执行的非标准化显示处理操作的一或多个集合(例如,图像尺寸再设定、颜色空间转换、去噪/去鸣振)。在框708中,物理层调适层(PAL)组件可向媒体播放器发送所请求的媒体样本的子集,且丢弃所有其它样本。
图7B说明用于增强具有物理层组件和应用层组件的移动装置的用户体验和移动装置性能的实施例移动装置方法720。在框722中,移动装置的应用层组件可确定移动装置资源的可用性。在框724中,应用层组件可确定平衡资源可用性与呈现质量的可接受质量水平。在框726中,移动装置可在物理层组件中接收内容(例如,视频等)。在框728中,应用层组件可从物理层组件拉取足以提供平衡资源可用性与呈现质量的所确定可接受质量水平的内容数据的子集。
图7C说明用于增强具有应用层组件的移动装置的用户体验和移动装置性能的实施例移动装置方法740。在框742中,移动装置的应用层组件可确定移动装置资源的可用性。在框744中,应用层组件可确定平衡资源可用性与呈现质量的可接受质量水平。在框746中,移动装置可在应用层组件的动态自适应视频串流会话中从串流服务器接收内容(例如,视频等)。在框748中,应用层组件可从串流服务器拉取足以提供所确定可接受质量水平的内容数据的子集。
在各个实施例中,除了考虑资源可用性外,媒体播放器还可基于视频信息而选择/拉取视频信息。举例来说,如果确定装置在重工作负载下和/或应节省资源(例如,装置正以电池电力运行),那么媒体播放器可监视视频信息中的运动向量以检测何时图像为静止(或非常缓慢地移动)。对于具有极少移动或无移动的区段,媒体播放器可选择跳过特定帧。这将允许计算装置减少不需要快速刷新速率的区段的每秒所存储和处理的帧的总数目,同时向用户提供令人满意的体验。
在一实施例中,媒体播放器可在资源充足时请求特定类型的数据(例如,I帧和B帧),且在资源较有限时请求其它类型的数据(例如,仅B帧)。
在特定情形中,可存在引起共享递送网络的状态随时间改变的网络波动(例如,资源可用性的改变)。如果客户端计算装置(例如,膝上型计算机、WIFI组件、手持机、桌上型计算机、机顶盒、苹果TV等)观察到数据递送的等待时间正增加(例如,包比预期迟到达),那么客户端装置可执行用以管理数据的接收的操作。否则,客户端缓冲器可装载不足且引起小故障,或在视频重放中存在暂停(即,客户端可体验波纹帧)。支持“动态自适应”的技术允许客户端响应于递送网络的状态的此类改变。举例来说,例如HTTP上动态自适应串流(DASH)等特定技术基于接收装置的可用带宽和CPU能力(实时)调整正发射的视频流的质量。即,这些技术通过产生待发送的每一视频流的多个版本而支持“动态自适应”。举例来说,内容产生服务器可在一个原始视频文件中读取且产生文件的多个版本以供经由生产性IP网络递送。每一版本可支持带宽、位速率、配额、分辨率、空间分辨率、时间分辨率、帧速率、质量等的特定组合。这使得计算装置能够基于数据递送的等待时间请求视频流的不同版本。此类请求可经由各个实施例实现,从而确保仅媒体内容的选定文件版本或子集向上传递到媒体播放器或应用层中的其它应用。
同样在共享网络上,客户端可具有可变能力。举例来说,最新膝上型计算机可具有较快GPU和CPU,且可能够处置比微型手持机高的带宽。由于每一计算装置意识到其能力,所以装置处理器可请求与其能力相称的特定版本的内容。然而,现有解决方案不允许向服务器请求的内容的类型基于关于功率消耗、CPU消耗、存储器利用和其它装置资源的装置资源可用性条件。在一实施例中,计算装置可经配置以请求来自服务器的内容的特定类型或版本基于关于功率消耗、CPU消耗、存储器利用和其它装置资源的装置资源可用性条件,从而改进总体装置性能和用户体验。
在一实施例中,计算装置可经配置以响应于功率、处理器和其它资源约束提高或降低视频质量。在一实施例中,可跳过信息的特定帧使得计算装置不搜集、接收、存储或缓冲被跳过的帧。在一实施例中,计算装置无线电设备可针对被跳过的帧切断以便进一步节省电池电力。举例来说,如果计算装置确定特定帧将被跳过,那么无线电设备可在那些帧被发射的时间期间断电,且及时重新加电以接收接下来的所请求帧。
在一实施例中,计算装置可经配置以识别携载特定类型的数据(例如,参考帧等)的OFDM符号,且在不携载已由媒体播放器或其它应用请求或拉取的信息的OFDM符号的发射期间将无线电设备断电。
在一实施例中,内容可在使用可缩放视频译码(SVC)编码的可缩放位流中携载。子集视频位流可通过从较大视频放弃包以减小子集位流所需的带宽来导出。子集位流可表示较低空间分辨率(较小屏幕)、较低时间分辨率(较低帧速率)或较低质量视频信号。可缩放视频译码可包含基础层和增强层。基础层和增强层的每一者可放置在特定符号(例如,E、D)中。计算装置可经配置以在应用层下方基于这些层(例如,基础、增强层)和/或基于携载那些层的符号(例如,E、D)对所接收信息过滤。在一实施例中,代替于接收和丢弃所接收信息(例如,包、符号等),计算装置可将无线电设备断电且完全不接收信息,借此选择被接收的信息。无线电设备可基于在信息之前广播的数据的描述而断电。
图8说明媒体播放器和PAL组件可如何一起工作以提供视频帧数据(即,I帧、B帧和P帧)以便减少经处理的数据帧的数目。在步骤802中,可在IBBPBBP帧的流中以第一帧速率(例如,30帧/秒(fps))提供视频数据。在步骤804中,媒体播放器可鉴于当前资源限制/要求确定呈现媒体的帧速率,以及作出关于可在不影响用户体验的情况下呈现视频的帧速率的确定。在图8的所说明的实例中,在步骤804中,媒体播放器可确定将媒体速率从30fps减小到15fps,且识别待拉取的帧和/或将不被拉取的帧。在步骤806中,媒体播放器可识别、请求、拉取、接收和解码从物理层接收的被拉取帧。在一实施例中,媒体播放器可选择不排除包含实现双向帧(B帧解码)所需的数据的帧812、814、816,尽管那些帧最终不再现。在步骤806中,可丢弃帧812、814、816,且被拉取的帧数据可以步骤804中确定的帧速率呈现给用户。
各个实施例包含增强具有应用层组件的移动装置中的用户体验和移动装置性能的方法,其可包含:确定应用层组件中的移动装置资源可用性;确定平衡应用层组件中的资源可用性与呈现质量的可接受质量水平;在应用层组件的动态自适应视频串流会话中从串流服务器接收内容;以及应用层组件从串流服务器拉取内容数据的子集,所述子集足以提供所确定的质量水平。内容数据的此子集可仅为移动装置需要用以提供所确定的质量水平的那些内容样本或帧,但可包含额外样本或帧。动态自适应视频串流会话可为DASH应用或其它类似动态自适应视频串流技术/应用。在此类实施例中,应用层具有对其正处理的媒体的最佳理解,且因此经配置以处理内容数据以当移动装置资源变为稀缺/瓶颈时改进装置性能和用户体验两者。
DASH和其它类似动态自适应视频串流应用(例如,来自
图9是适于与实施例的任一者一起使用的移动计算装置的系统框图。典型移动计算装置900可包含耦合到内部存储器902、耦合到显示器903且耦合到扬声器908的处理器901。另外,移动计算装置900将包含用于发送和接收电磁辐射且可连接到无线数据链路的天线904,和/或耦合到处理器901的蜂窝式电话收发器905,以及耦合到处理器901的移动多媒体广播接收器906。移动计算装置900通常还包含用于接收用户输入的菜单选择按钮907或摇臂开关。
广播侧的各个实施例可实施在多种市售计算装置的任一者上,例如图10中说明的膝上型计算机1000。此膝上型计算机1000通常包含耦合到易失性存储器1002和非易失性存储器(例如,磁盘驱动器1003)的处理器1001。膝上型计算机1000还可包含耦合到处理器1001的软盘驱动器、紧密光盘(CD)或DVD光盘驱动器。膝上型计算机1000还可包含显示器1009、键盘1008、用于接收用户输入的输入装置1007,以及耦合到处理器1001用于建立与网络(例如,耦合到其它广播系统计算机和服务器的局域网)的数据连接的网络接入端口1004。
处理器901、1001可为可由软件指令(应用)配置以执行包含上文描述的各个实施例的功能的多种功能的任何可编程微处理器、微计算机或多个处理器芯片。在一些移动接收器装置中,可提供多个处理器801,例如专用于无线通信功能的一个处理器和专用于运行其它应用的一个处理器。通常,软件应用可在其被存取和加载到处理器801、1001中之前存储在内部存储器902、1002、1003中。处理器901、1001可包含足以存储应用软件指令的内部存储器。
前述方法描述和过程流程图仅作为说明性实例而提供,且不希望要求或暗示必须以所呈现的次序执行各种实施例的步骤。如所属领域的技术人员将了解,以上实施例中的步骤可以任何次序执行。例如“接着”、“接下来”等词语不希望限制步骤的次序;这些词语仅用于引导读者通读方法的描述。尽管过程流程图可将操作描述为循序过程,但许多操作可并行或同时执行。另外,可重新布置操作的次序。过程可对应于方法、函数、程序、子例程、子程序等。当过程对应于函数时,其终止可对应于函数返回到调用函数或主函数。
结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块、电路和算法步骤可被实施为电子硬件、计算机软件或两者的组合。为清楚地说明硬件与软件的此互换性,上文已大致依据其功能性而描述了各种说明性组件、块、模块、电路和步骤。此功能性实施为硬件还是软件取决于特定应用和施加于整个系统的设计约束。熟练的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但此类实施方案决策不应被解释为会导致脱离本发明的范围。
计算机软件中实施的实施例可实施在软件、固件、中间件、微代码、硬件描述语言或其任何组合中。代码片段或机器可执行指令可表示进程、函数、子程序、程序、例程、子例程、模块、软件包、类别,或指令、数据结构或程序语句的任何组合。代码片段可通过传递和/或接收信息、数据、自变量、参数或存储器内容而耦合到另一代码片段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络发射等的任何适当手段来传递、转发或发射。
当实施在软件中时,所述功能可作为一或多个指令或代码存储在非暂时性计算机可读或处理器可读存储媒体上。本文揭示的方法或算法的步骤可体现在可驻留在计算机可读或处理器可读存储媒体上的处理器可执行软件模块中。非暂时性计算机可读或处理器可读媒体包含促进计算机程序从一处传递到另一处的计算机存储媒体和有形存储媒体两者。非暂时性处理器可读存储媒体可为可由计算机存取的任何可用媒体。借助实例而非限制,此非暂时性处理器可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于存储指令或数据结构的形式的所要程序代码且可由计算机或处理器存取的任何其它有形存储媒体。如本文中所使用,磁盘和光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘使用激光以光学方式再现数据。上文的组合也应包含在计算机可读媒体的范围内。另外,方法或算法的操作可作为代码和/或指令的一者或任何组合或集合驻留在非暂时性处理器可读媒体和/或计算机可读媒体(其可并入到计算机程序产品中)上。
当实施在硬件中时,所述功能性可实施在可适于在无线接收器或移动装置中使用的无线信号处理电路的电路内。此无线信号处理电路可包含用于实现各个实施例中描述的信号测量和计算步骤的电路。
结合本文揭示的实施例描述的各种说明性逻辑、逻辑块、模块和电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文描述的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任何其它此类配置。或者,一些步骤或方法可由特定针对给定功能的电路执行。
以单数形式例如使用冠词“一”或“所述”对权利要求项元件的任何参考不应解释为将所述元件限于单数形式。
提供对所揭示实施例的先前描述以使所属领域的技术人员能够制造或使用本发明。所属领域的技术人员将容易明白对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下,本文所界定的一般原理可应用于其它实施例。因此,本发明不希望限于本文展示的实施例,而是应被赋予与所附权利要求书以及本文揭示的原理和新颖特征一致的最广范围。
机译: 基于可用设备资源适应设备任务的技术
机译: 基于可用设备资源适应设备任务的技术
机译: 基于可用设备资源的设备任务适应技术