设备对通过广播的DASH的可用性开始时间调整的制作方法

文档序号:11335577阅读:366来源:国知局
设备对通过广播的DASH的可用性开始时间调整的制造方法与工艺

相关申请

本申请要求享受2015年2月23日提交的、标题为“availabilitystarttimeadjustmentbydevicefordashoverbroadcast”的美国临时专利申请no.62/119,353的优先权,故以引用方式将其全部内容并入本文。



背景技术:

当前,超文本传输协议(http)流是互联网上最流行的用于传送内容的方法。对于实时事件而言,通过固定持续时间的分段而使内容逐渐可用。这种分段可用性是沿着的时间轴,后者指示每一个后续的分段在http服务器处何时变得可用。

超文本传输协议上的动态自适应流(dash)是一种实现http流的标准。dash在媒体呈现描述(mpd)中通告分段可用性。mpd是用于通告分段、分段可用的时间、以及这些分段的大小的分段可用性时间轴。

在当前系统中,通过空中下载(ota)传输来向接收机设备提供mpd。在所提供的mpd中,可以选择分段可用性时间,以计入所估计的要在该分段的编码器输出和接收机设备接收之间发生的最大路径延迟。但是,并不是网络中的所有接收机设备都会经历最大路径延迟。因此,使用当前mpd中的分段可用性时间的处于较低延迟区域的接收机设备,可能经历比所必要的更长的信道采集和切换时间,这是因为最大路径延迟比处于较低延迟区域中的接收机设备所经历的实际延迟更长。



技术实现要素:

各个实施例的系统、方法和设备使设备能够使用修改的分段可用性时间。在各个实施例中,可以使广播多媒体服务中心(bmsc)服务器能够修改用于说明这些分段的可用性时间的分段可用性时间轴。在各个实施例中,可以在接收机设备的服务层,执行分段可用性时间调整。在各个实施例中,分段可用性时间调整可以由接收机设备上的客户端应用来执行。

各个实施例可以包括:在设备处接收分段可用性时间轴;在设备处接收文件传输表(fdt)分组,该fdt分组包括fdt时间戳;在设备处确定fdt到达时间;在设备处至少部分地基于fdt到达时间和fdt时间戳来确定实际可用性开始时间;以及至少部分地基于所确定的实际可用性开始时间对分段可用性时间轴的开始时间进行偏移。

各个实施例可以包括:确定fdt分组的传输时间;在fdt分组中指示fdt时间戳,其中,该fdt时间戳是至少部分地基于所确定的传输时间的;以及在所确定的传输时间处发送fdt分组。

另外的实施例包括:配置有处理器可执行指令以执行上面所概述的方法的操作的设备。另外的实施例包括:具有用于执行上面概述的方法的功能的单元的设备。另外的实施例包括在其上存储有处理器可执行指令的非临时性处理器可读存储介质,其中所述处理器可执行指令被配置为使设备处理器执行上面所概述的方法的操作。

附图说明

被并入本文并且构成本说明书一部分的附图,描绘了本发明的示例性实施例,并且连同上面给出的概括描述以及下面给出的详细描述一起来解释本发明的特征。

图1是适合于结合各种实施例使用的网络的通信系统框图。

图2是根据一个实施例,示出接收机设备的架构的框图。

图3a根据一个实施例,示出了分段传输路径和mpd传输调整之间的关系。

图3b根据一个实施例,示出了分段传输路径和mpd传输调整之间的关系。

图4根据一个实施例,示出了网络的不同部分中的传输路径延迟之间的关系。

图5根据一个实施例,示出了可用性时间轴、mpd可用性开始时间、传输时间和到达时间。

图6a是示出用于修改分段可用性时间轴的实施例方法的处理流程图。

图6b是用于生成延迟调整消息的实施例方法的处理流程图。

图7是根据一个实施例的异步分层编码(alc)分组的数据结构图。

图8根据一个实施例,示出了mpd可用性开始时间、传输时间、到达时间和偏移时间。

图9a是示出用于修改分段可用性时间轴的另一种实施例方法的处理流程图。

图9b是用于生成延迟调整消息的另一种实施例方法的处理流程图。

图10a是示出用于在文件传输表(fdt)中指示fdt时间戳的实施例方法的处理流程图。

图10b是示出用于在fdt中指示fdt时间戳的另一种实施例方法的处理流程图。

图10c是示出用于在fdt中指示fdt时间戳的第三实施例方法的处理流程图。

图11是示出基于延迟调整消息,调整可用性时间的实施例方法的处理流程图。

图12是适合于结合各种实施例使用的示例性移动设备的组件图。

图13是适合于结合各种实施例使用的示例性服务器的组件图。

具体实施方式

现在参照附图来详细地描述各个实施例。在可以的地方,贯穿附图使用相同的附图标记来指代相同或者类似的部件。对于特定示例和实现的引用只是用于说明目的,而不是旨在限制本发明或者权利要求的保护范围。

本文所使用的“示例性的”一词意味着“用作例子、例证或说明”。本文中描述为“示例性”的任何实现方式不应被解释为比其它实现方式更优选或更具优势。

如本文所使用的,本文互换地使用术语“移动设备”和“接收机设备”,以指代下面中的任何一项或者全部:蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(pda)、膝上型计算机、平板计算机、智能本、掌上计算机、无线电子邮件接收机、具备多媒体互联网功能的蜂窝电话、无线游戏控制器、以及类似的个人电子设备,其中这些个人电子设备包括可编程处理器和存储器,以及用于接收mpd和使mpd可用于dash客户端的电路。

本文使用术语“服务器”来描述各个实施例,以指代能够实现服务器功能的任何计算设备,例如,主交换服务器、web服务器、邮件服务器、文档服务器、内容服务器或者任何其它类型的服务器。服务器可以是专用计算设备或者包括服务器模块的计算设备(例如,运行可以使得该计算设备操作成服务器的应用)。服务器模块(例如,服务器应用)可以是全功能服务器模块,也可以是被配置为在接收机设备上的动态数据库之间提供同步服务的轻型或辅助服务器模块(例如,轻型或辅助服务器应用)。轻型或辅助服务器可以是能在接收机设备上实现的精简版的服务器类型功能,从而使其仅仅达到充当互联网服务器(例如,企业电子邮件服务器)所需的程度,以提供本文所描述的功能。

超文本传输协议上的动态自适应流(dash)是一种实现http流媒体的标准。dash在媒体呈现描述(mpd)中通告分段可用性。mpd是用于通告分段、分段可用的时间、以及这些分段的大小的分段可用性时间轴。在当前系统中,通过空中下载(ota)传送来向接收机设备提供mpd。第三代合作伙伴计划(3gpp)已经将下载传输上的dash标准化为用于在长期演进(lte)上使用广播来提供http流的方法(即,演进型多媒体广播多播服务(embms))。

本文讨论了不同的应用/客户端、中间件、分段可用性时间轴、无线电技术和传输协议的各种示例,特别是dash客户端、多播服务设备客户端、mpd、embms和http。dash客户端、多播服务设备客户端、mpd、embms和http的讨论,只是提供成用于更好地描绘各个实施例的方面的例子,而不是旨在以任何方式来限制各个实施例。其它的应用/客户端、中间件、分段可用性时间轴、无线电技术和传输协议也可以结合各个实施例来使用,并在不脱离本发明的精神或保护范围的基础上,可以在各个例子中替换其它的应用/客户端、中间件、分段可用性时间轴、无线电技术和传输协议。例如,各个实施例可以使用根据一种或多种其它自适应流传送协议(例如,http实时流(“hls”))进行格式化的分段,其中这些自适应流传送协议可以使用具有开始时间的诸如hls索引文件之类的其它分段可用性时间轴。

各个实施例使设备(例如,接收机设备、广播多媒体服务中心(bmsc)服务器等等)能够考虑在用于该设备的数据流中的数据分段的可用性(“分段可用性”)中的延迟。在一个实施例中,接收机设备可以基于接收的分段可用于该接收机设备上的应用/客户端(例如,获取用于媒体播放器应用的分段的dash客户端)的实际时间,调整从网络接收的分段可用性时间轴(例如,通过ota从bmsc服务器接收的mpd)中的可用性时间,以生成修改的mpd列表。在另一个实施例中,bmsc可以基于接收的分段将可用于来自bmsc服务器的传输的实际时间,调整从网络接收的分段可用性时间轴(例如,通过ota从编码器和/或分段器接收的mpd)中的可用性时间,以生成修改的mpd列表。

在各个实施例中,诸如接收机设备、bmsc服务器等等之类的设备可以接收具有分段的可用性开始时间(ast)的mpd,其中这些ast被设置为由编码器设定的初始开始时间(ast1)或者最差情况开始时间(ast3)。最差情况开始时间可以是至少部分地基于经由网络向该设备传输分组的所估计的最差情况延迟(delaymax),来选定的在mpd中标识的用于这些分段的开始时间。设备可以接收文件传输表(fdt)分组并且确定该分组的fdt到达时间(tnr)。在各个实施例中,fdt分组可以包括在来自发送方设备(例如,向接收机设备发送分组的bmsc服务器、向bmsc服务器发送分组的编码器等等)的fdt分组中指示的时间戳,其反映了fdt分组传输时间(tnt)加上传输延迟(δ1)和处理延迟(δ2)。该时间戳可以是用于指示fdt分组传输时间(tnt)加上延迟(δ1和δ2)的单一值(例如,值等于(δ1+δ2-tnt)),或者其可以是三个单独的值(例如,tnt、δ1、和δ2)。当mpd指示最差情况开始时间(ast3)时,可以将fdt分组的传输时间tnt偏移该最差情况延迟(例如,tnt=tnt+delaymax),以说明mpd开始时间中的偏移。设备可以通过执行网络抖动估计的方式,将实际可用性开始时间(ast2)确定为:在mpd中所指示的分段的可用性开始时间(例如,ast1或ast3)加上传输延迟(δ1)加上处理延迟(δ2)加上所确定的fdt到达时间(tnr)再减去该值(如果fdt分组传输时间(tnt),再加上分段持续时间(d)的话)。设备可以将mpd开始时间(availabilitystarttime)偏移为实际可用性开始时间(ast2)加上确定的网络抖动估计量。用此方式,可以使用fdt分组的时间戳来偏移mpd的开始时间,而无需等待分段的完全到达。

在各个实施例中,诸如接收机设备、bmsc服务器等等之类的设备可以接收具有将分段的可用性开始时间(ast)设置为任何开始时间的mpd。设备可以接收文件传输表(fdt)分组并且确定该分组的fdt到达时间(t2)。在各个实施例中,fdt分组可以包括在来自发送方设备(例如,向接收机设备发送分组的bmsc服务器、向bmsc服务器发送分组的编码器等等)的fdt分组中指示的时间戳,其反映了从发送方设备原始接收的mpd中指示的可用性开始时间(ast1)开始的fdt分组的传输时间(t1)的偏移时间(packetoffset),例如,(packetoffset=t1-ast1)。该时间戳可以是用于指示fdt分组传输时间(t1)减去发送方设备原始接收的mpd(ast1)中指示的可用性开始时间的单一值(例如,值等于(t1-ast1)),或者其可以是两个单独的值(例如,(t1)和(ast1))。设备可以将实际可用性开始时间(ast2)确定为所确定的fdt到达时间(t2)减去偏移时间(packetoffset)(例如,t1-ast1)。设备可以将mpd开始时间(availabilitystarttime)偏移为实际可用性开始时间(ast2)加上确定的网络抖动估计量。用此方式,可以使用fdt分组的时间戳来偏移mpd的开始时间,而无需等待分段的完全到达,并且不管用于生成如该设备所接收的mpd中的可用性开始时间的任何延迟。

在各个实施例中,可以将具有偏移的mpd开始时间的修改的mpd存储在设备(例如,接收机设备、bmsc服务器等等)的存储器中,设备可以基于修改的mpd,在该偏移的mpd开始时间请求分段。在各个实施例中,诸如接收机设备、bmsc服务器等等之类的设备可以将该偏移的mpd开始时间的指示(availabilitystarttime)存储在延迟调整消息中。延迟调整消息可以是延迟调整的参数和/或指示,例如,包括有延迟调整的文件。在一个实施例中,该延迟调整消息可以使另一个应用(例如,接收机设备上的客户端应用)基于接收的分段将可用于该接收机设备上的应用/客户端(例如,获取用于媒体播放器应用的分段的dash客户端)的实际时间,修改从网络接收的分段可用性时间轴(例如,通过ota从广播多媒体服务中心(bmsc)服务器接收的mpd)中的可用性时间,以生成修改的mpd列表。在另一个实施例中,该延迟调整消息可以使接收机设备上的另一个应用(例如,客户端应用)能够在不修改分段可用性时间轴本身的情况下,基于接收的分段将可用于该接收机设备上的应用/客户端(例如,获取用于媒体播放器应用的分段的dash客户端)的实际时间,来调整其针对于分段的请求的时间。

在一个实施例中,可以在用于描述发送给接收机设备的分段可用性时间轴(例如,mpd)的清单文件中,提供网络抖动估计量(例如,网络抖动值)。在另一个实施例中,可以在接收机设备上预先规定该网络抖动(例如,在接收机设备制造时,将其存储在该接收机设备的非易失性存储器中)。在其它实施例中,可以用任何消息(例如,服务通告)来向接收机设备传输该网络抖动估计量。在一个实施例中,可以在独立于传输mpd的消息的消息中,向接收机设备传输该网络抖动估计量。如本文所使用的,“抖动”将分段的最早和最晚可能到达时间之间的差值,指代成该分段的可用性时间轴中的差值。

在各个实施例中,可以以任何方式,在fdt中指示fdt时间戳。举例而言,可以在标准alc分组报头字段(例如,发送方当前时间字段(sct字段))中,指示fdt时间戳。再举一个例子,可以将诸如64比特字段之类的扩展报头增加为alc扩展报头,以传送fdt时间戳。再举一个例子,可以将诸如64比特字段之类的扩展报头增加为fdt扩展报头,以传送fdt时间戳。再举一个例子,可以向alc扩展报头增加三个单独的32比特字段,其每一个值分别对应于fdt分组传输时间(tnt)、传输延迟(δ1)和处理延迟(δ2)。再举一个例子,可以向alc扩展报头增加单一32比特字段,以指示fdt分组传输时间(tnt)、传输延迟(δ1)和处理延迟(δ2)所对应的值的总和的值(例如,值等于tnt+δ1-δ2)。

各个实施例提供了用于基于除了仅仅设备(例如,接收机设备、bmsc服务器等等)确定的信息之外的另外信息,来修改分段可用性时间轴(例如,该设备接收分段的时间)的方法。各个实施例提供了用于基于设备确定的信息(例如,fdt到达时间)和在设备之外确定的信息(例如,网络所提供的信息(如,fdt时间戳)),来修改分段可用性时间轴的方法。例如,各个实施例提供了用于发送指示fdt时间戳的fdt分组的方法,其中该fdt时间戳是至少部分地基于确定的该fdt分组的传输时间。设备可以接收用于指示该fdt时间戳的fdt分组,确定fdt分组实际到达该设备的时间(例如,fdt到达时间)、以及如fdt时间戳所指示的该fdt分组的传输时间。与设备仅仅基于设备确定的信息(例如,fdt到达时间)来确定实际可用性开始时间相比,在修改分段可用性时间轴时使用设备确定的信息(例如,fdt到达时间)和在设备之外确定的信息(例如,fdt时间戳),可以导致设备确定分段可用性时间轴的更准确的可用性开始时间。

本文讨论了不同的设备(具体而言,接收机设备和bmsc服务器)修改mpd可用性开始时间的各个例子。仅仅将接收机设备和bmsc服务器的讨论,提供成用于更好地描绘各个实施例的方面的例子,而不是旨在以任何方式来限制各个实施例。其它设备可以结合各个实施例来修改mpd,可以在各个例子中替代为这些其它设备来修改mpd,而不脱离本发明的保护范围。

图1示出了适合于结合各种实施例使用的蜂窝网络系统100。蜂窝网络系统100可以包括多个设备,例如,接收机设备102、一个或多个蜂窝塔或基站104、以及连接到互联网110的服务器108和112。接收机设备102可以经由一个或多个蜂窝连接106(其包括cdma、tdma、gsm、pcs、3g、4g、lte、或者任何其它类型的连接),与蜂窝塔或基站104交换数据。蜂窝塔或基站104可以与路由器进行通信,其中路由器可以连接到互联网110。用此方式,经由与蜂窝塔或基站104和/或互联网110的连接,可以在接收机设备102与服务器108和112之间交换数据。在一个实施例中,服务器108可以是提供用于通过dash客户端来输出的mpd和分段的内容提供商服务器或编码器。在一个实施例中,服务器112可以是能从编码器接收mpd和分段输出,并且控制这些mpd和分段向接收机设备102的ota传输的广播多媒体服务中心(bmsc)服务器。当然,虽然本文所描述的接收机设备的特征是参照ota传输来描述的,但这些特征也可以结合有线传输、无线传输或者有线传输和无线传输的组合来使用。因此,并不是必须进行ota传输。

图2示出了根据一个实施例的简化接收机设备202的架构。接收机设备202可以包括调制解调器层208,后者管理接收机设备202的所有无线电方面,例如,捕获、切换、链路维持等等。调制解调器层208可以对接收的embms承载信号进行解码,将互联网协议(ip)分组传送给多播服务设备客户端(msdc)206。多播服务设备客户端206可以是接收机设备202的服务层,其从传送的ip分组中恢复分段,并使分段可用于应用/客户端(例如,应用/dash客户端204)。举例而言,多播服务设备客户端206可以是服务层,其中该服务层是接收机设备202的操作系统的一部分。此外,多播服务设备客户端206还可以从传送的ip分组中恢复mpd。多播服务设备客户端206可以将接收的分段存储在该接收机设备的存储器中。在一个实施例中,多播服务设备客户端206可以调整该mpd以生成修改的mpd,将修改的mpd存储在该接收机设备的存储器中,并将修改的mpd传送给应用/dash客户端204。在另一个实施例中,多播服务设备客户端206可以确定用于该mpd的延迟调整量,将用于该mpd的延迟调整量存储在接收机设备的存储器中(例如,存储在延迟调整消息中),将mpd存储在接收机设备的存储器中,并将该mpd和用于该mpd的延迟调整量传送给应用/dash客户端204。应用/dash客户端204可以是具备dash能力的应用和/或用于发起dash客户端以呈现媒体(直接呈现和/或通过诸如媒体播放器之类的另一个应用进行呈现)的应用。在一个实施例中,应用/dash客户端204可以从多播服务设备客户端206获得修改的mpd位置(例如,统一资源定位符(url)),从多播服务设备客户端206请求和接收修改的mpd,并根据修改的mpd中的可用性时间轴来从多播服务设备客户端206请求分段。在另一个实施例中,应用/dash客户端204可以从多播服务设备客户端206获得mpd位置(例如,统一资源定位符(url))和针对该mpd位置(例如,url)的延迟调整量,从多播服务设备客户端206请求和接收mpd和针对该mpd的延迟调整量,根据针对该mpd的延迟调整量来修改该mpd以生成修改的mpd,并根据修改的mpd中的可用性时间轴来从多播服务设备客户端206请求分段。应用/dash客户端204可以从多播服务设备客户端206接收所请求的分段,并呈现分段内容(直接呈现和/或通过诸如媒体播放器之类的另一个应用进行呈现)。在另外的实施例中,可以将用于确定mpd的延迟调整量的多播服务设备客户端206的功能,集成到客户端206中,客户端206可以确定延迟调整量和/或修改mpd本身。

图3a根据一个实施例,示出了沿着分段传输路径,针对分段可用性时间轴(例如,mpd)所做出的传输调整。该分段传输路径可以包括编码器302、bmsc304、接收机设备的多播服务设备客户端306、以及接收机设备的dash客户端308。编码器302可以将媒体内容编码到分段中,并且定期地向bmsc304传送分段。例如,可以通过embms网关,定期地从编码器302向bmsc304传送分段。bmsc304可以接收这些分段,并且通过承载(例如,通过ota广播)来广播这些分段。接收机设备可以通过调制解调器接收这些分段,并且多播服务设备客户端306可以通过该调制解调器来接收这些分段,并且处理这些分段(例如,对这些分段进行解码,应用fec等等),以使这些分段可用于该接收机设备的dash客户端308。dash客户端308可以向接收机设备的应用(例如,媒体播放器)或编解码器提供这些分段,以使接收机设备能够输出媒体内容。

除了生成分段之外,编码器302可以生成mpd310。编码器所生成的mpd310可以列出所生成的分段和/或将由编码器302生成的分段、分段长度(例如,大小)、以及这些分段的可用性时间。在一个实施例中,编码器所生成的mpd310中的可用性时间可以对应于编码器302生成的分段的输出时间。编码器302可以向bmsc304提供所生成的mpd310。在一个实施例中,bmsc304可以接收所生成的mpd310,并且调整分段可用性时间轴以说明任何ota传输延迟(例如,网络抖动),从而生成mpd312。bmsc304可以向接收机设备发送mpd312。mpd312可以列出与这些分段的ota可用性时间相对应的分段可用性时间。在一个实施例中,接收机设备可以接收mpd312,并且接收机设备的多播服务设备客户端306可以根据fdt时间戳来调整可用性时间,以生成修改的mpd314,其中该修改的mpd314列出了在该接收机设备处这些分段的实际估计的可用性时间。多播服务设备客户端306可以向dash客户端308提供修改的mpd314,并且该dash客户端可以使用该mpd中的分段可用性时间,以便使用接收机设备时钟从该接收机设备的本地http服务器请求分段。在另一个实施例中,接收机设备的多播服务设备客户端306根据fdt时间戳来调整mpd312中的可用性时间,并且独立于向dash客户端308发送的任何mpd来向dash客户端308传输针对这些可用性时间的调整量。

图3b根据另一个实施例,示出了沿着分段传输路径,针对分段可用性时间轴(例如,mpd)所做出的传输调整。图3b中所示出的传输调整类似于上面关于图3a中所描述的,除了在图3b中,在向dash客户端308发送mpd之前,多播服务设备客户端306不能修改该mpd。在一个实施例中,接收机设备可以接收mpd312,并且接收机设备的多播服务设备客户端306可以向dash客户端308提供mpd312,而不修改分段可用性时间。在一个实施例中,多播服务设备客户端306可以确定用于根据fdt时间戳来调整可用性时间的延迟调整量,并且生成用于列出这些延迟调整量的延迟调整消息316。多播服务设备客户端306可以向dash客户端308提供该延迟调整消息。在一个实施例中,dash客户端308可以使用延迟调整消息316中的延迟调整指示来修改mpd312中的分段可用性时间以生成修改的mpd314。dash客户端308可以使用接收机设备时钟从接收机设备的本地http服务器请求分段。在另一个实施例中,dash客户端308可以接收延迟调整消息316,并且使用延迟调整消息316来修改从该接收机设备的本地http服务器中进行的针对分段的请求,而不用生成修改的mpd314。

图4根据一个实施例,示出了网络400的不同部分中的传输路径延迟δ1、δ2、和δ3之间的关系。来自编码器402的内容可以从编码器402传送到分段器404,并且提供给不同的bmsc(bmsc1和bmsc2)以及它们相应的演进节点b(enodeb)(enb1.1、enb1.2、enb1.n、enb2.1、enb2.2、enb2.n等等)所服务的网络406、408的两个不同部分。enodebenb1.2可以在第一部分406中向接收机设备1410提供该内容,并且enodebenb2.2可以在第二部分408中向接收机设备2412提供该内容。路径延迟δ1可以是在从编码器向bmsc(bmsc1和bmsc2)提供分段时所经历的延迟。路径延迟δ2可以是bmsc(bmsc1和bmsc2)的处理延迟。路径延迟δ3可以是在从相应的bmsc(bmsc1或bmsc2)通过它们相应的enodeb(enb1.1、enb1.2、enb1.n、enb2.1、enb2.2、enb2.n)分别向接收机设备1410或接收机设备2412提供分段时所经历的延迟。针对网络400的估计的最差路径延迟可以是沿着任何路径的最大延迟,例如,max(δ1+δ2+δ3)。第一部分406中的路径延迟可以与第二部分中的路径延迟不同。因此,由于不同部分406、408中的不同路径延迟δ2和δ3,内容的相同分段可能在接收机设备1410处实际上与在接收机设备2412处不同的时间可用。当与针对网络400的估计的最差情况延迟相比,路径延迟更小时,内容的分段在接收机设备1410或接收机设备2412处的实际可用性时间,比提供给接收机设备的mpd中列出的可用性时间更早。各个实施例可以使接收机设备1410和/或接收机设备2412能够考虑它们的实际经历的路径延迟δ1、δ2、和/或δ3,并且在内容的分段实际可用时进行请求。

图5根据一个实施例,示出了可用性时间轴501、502、和503、以及它们的mpd可用性开始时间ast1、ast2、和ast3。如图5中所示,在编码器处的可用性时间轴501可以指示可用性开始时间ast1,并且在接收机设备处的可用性时间轴503可以指示可用性开始时间ast2。在时间tn,分段n可以变得在编码器处可用,并且在时间tna,该分段可以到达bmsc。延迟δ1可以表示从编码器到bmsc的传输延迟,例如,时间tna和tn之间的差值。时间tnt可以是从bmsc向接收机设备发送分段n的传输时间的时间戳。延迟δ2可以表示在bmsc处的处理延迟,例如,时间tnt和tna之间的差值。时间tnr可以是在接收机设备处的分段n的到达时间的时间戳。延迟δ3可以表示从bmsc到接收机设备的传输延迟,例如,时间tnr和tnt之间的差值。持续时间d可以表示分段持续时间,并且时间tn’可以表示分段n在接收机设备处的分段可用性时间。

基于可用性时间ast1和ast2、延迟δ1和δ2、传输时间戳tnt、和到达时间戳tna的关系,可以将可用性开始时间(ast2)确定为:可用性开始时间ast1加上延迟δ1加上延迟δ2加上到达时间戳tna和传输时间戳tnt之间的差值,再加上分段持续时间d(例如,ast2=ast1+δ1+δ2+(tnr-tnt)+d)。接收机设备可以接收具有ast1可用性时间的mpd,并且bmsc可以向接收机设备发送延迟δ1和δ2的估计量与传输时间戳tnt。通过向接收机设备提供延迟δ1和δ2的估计量与传输时间戳tnt,可以使接收机设备能够将mpd中的可用性开始时间ast1修改成可用性开始时间ast2,并且生成修改的mpd以用于当分段实际可用时进行请求。替代地,当接收机设备接收的mpd包括ast3最差情况延迟可用性时间时(例如,ast3=ast1+delaymax),则用于分组传输的bmsc时间戳可以考虑相同的延迟(例如,tnt=传输时间+delaymax)时间戳。

图6a是示出用于修改分段可用性时间轴的实施例方法600a的处理流程图。在一个实施例中,方法600a的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法600a的操作可以由在接收机设备的处理器上运行的客户端应用(例如,dash客户端)来执行。在另一个实施例中,方法600a的操作可以由bmsc服务器的处理器来执行。在方框602中,多播服务设备客户端、客户端应用、或者bmsc服务器可以接收mpd。mpd中的开始时间可以是编码器所指示的初始开始时间(ast1),也可以是最差情况开始时间(ast3)。在一个实施例中,设备可以经由ota传输来接收mpd。在一个实施例中,mpd可以是从网络接收的,并且头端可以将分段的可用性时间设置在mpd中。在一个实施例中,mpd中的可用性时间可以由网络进行设置,并且可以考虑从生成分段的编码器到接收机设备的最差情况端到端传输延迟(例如,网络抖动)。在一个实施例中,客户端应用可以经由多播服务设备客户端来接收mpd。

在方框603处,多播服务设备客户端、客户端应用、或者bmsc服务器可以确定网络抖动。在一个实施例中,设备可以接收用户服务描述(usd)中的网络抖动值。在其它实施例中,该网络抖动值可以是预先设置的,并且存储在设备的存储器中。

在方框604处,多播服务设备客户端、客户端应用、或者bmsc服务器可以接收fdt,并且确定fdt到达时间戳(tnr)。在一个实施例中,fdt可以包括用于指示一个或多个值的fdt时间戳,例如,fdt传输时间(tnt)、来自编码器的传输延迟(δ1)、和/或bmsc处的处理延迟(δ2)。当mpd中的开始时间是初始开始时间(ast1)时,fdt传输时间(tnt)可以表示发送该fdt分组的实际时间。当mpd中的开始时间是最差情况开始时间(ast3)时,可以通过以下方式将fdt传输时间(tnt)调整为考虑最差情况延迟(delaymax):将最差情况延迟(delaymax)增加到发送该fdt分组的实际时间,以生成偏移的传输时间(tnt=tnt+delaymax)。在一个实施例中,可以在fdt时间戳中单独地指示这些值,例如,针对tnt、δ1、和δ2的不同的值。在另一个实施例中,可以将这些值指示成单一值,例如,δ1+δ2-tnt的和。

在方框606处,多播服务设备客户端、客户端应用、或者bmsc服务器可以确定fdt时间戳值(tnt、δ1、和δ2)。例如,多播服务设备客户端、客户端应用、或者bmsc服务器可以解析fdt分组的报头(例如,解析alc报头元素、alc报头扩展、fdt报头扩展等等),以确定在fdt分组报头中指示的fdt时间戳。在方框607中,多播服务设备客户端、客户端应用、或者bmsc服务器可以确定与该fdt相关联的分段的分段持续时间(d)。可以在所接收的mpd中、在fdt中、或者在可用于多播服务设备客户端、客户端应用、或者bmsc服务器的另一个数据源中,指示分段持续时间(d)。

在方框608中,多播服务设备客户端、客户端应用、或者bmsc服务器将实际可用起始时间(ast2)确定为:来自所接收的mpd的开始时间(例如,初始可用性开始时间(ast1)或最差情况开始时间(ast3))加上来自编码器的传输延迟(δ1)加上bmsc处的处理延迟(δ2)加上fdt到达时间(tnr)减去fdt传输时间(tnt)再加上分段持续时间(d)(例如,ast2=(ast1orast3)+δ1+δ2+(tnr-tnt)+d)。

在方框610中,多播服务设备客户端、客户端应用、或者bmsc服务器可以将mpd开始时间(availabilitystarttime)偏移到所确定的实际开始时间(ast2)加上网络抖动(networkjitter)。用此方式,可以对mpd进行偏移,以反映分段可用的实际时间,并且考虑接收机设备所实际经历的路径延迟。在可选框612,多播服务设备客户端、客户端应用、或者bmsc服务器将修改后的mpd存储在可用于该多播服务设备客户端、客户端应用、或者bmsc服务器的存储器中。在一个实施例中,存储修改的mpd可以包括:将修改的mpd存储在与一个url相关联的存储器位置处,其中在该位置,一些或者全部mpd存储在接收机设备或bmsc服务器上。在另一个实施例中,客户端应用可以不用专门将修改后的mpd存储在单独的存储位置。相反,在可选框614中,客户端应用可以仅仅使用修改后的mpd,来请求位于偏移的可用性时间的分段。在另外的实施例中,可以在每个表示的基础上,重复方法600a的操作,以便能够独立地对不同的表示中的可用性时间进行偏移。

图6b示出了用于生成延迟调整消息的实施例方法600b。实施例方法600b类似于上面参照图6a所描述的方法600a,除了可以在无需对分段可用性时间轴进行偏移的情况下,生成用于指示该分段可用性时间轴中的偏移的延迟调整消息之外。在一个实施例中,方法600b的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法600b的操作可以由在接收机设备的处理器上运行的客户端应用(例如,dash客户端)来执行。在另一个实施例中,方法600b的操作可以由bmsc服务器的处理器来执行。

在方框602、603、604、606、607、608和610中,多播服务设备客户端、客户端应用、或者bmsc服务器可以执行上面参照图6a所描述的方法600a中的类似编号模块的操作,以确定偏移的mpd开始时间(availabilitystarttime)。在方框616中,多播服务设备客户端、客户端应用、或者bmsc服务器可以将偏移的mpd开始时间的指示(availabilitystarttime)存储在延迟调整消息中。在一个实施例中,延迟调整消息可以是客户端应用能够用于确定延迟调整量的数据文件,其考虑了设备处的分段可用性的延迟,可以使用延迟调整消息对一个或多个分段的可用性时间进行偏移。在一个实施例中,可以将延迟调整消息存储在与一个url相关联的存储器位置处,其中在该位置,一些或者全部延迟调整消息存储在设备上。在方框618中,多播服务设备客户端、客户端应用、或者bmsc服务器可以向客户端应用发送该延迟调整消息,以便客户端应用在偏移一个或多个分段的可用性时间时进行使用,例如,如下面参照图11的方框1106所讨论的。在另一个实施例中,可以不发送该延迟调整消息,而是由客户端应用根据需要,在该消息所存储的存储位置处访问或者请求。

图7是根据一个实施例的alc分组700的数据结构图。在一个实施例中,可以在诸如发送方当前时间(sct)字段之类的标准alc分组报头字段中,指示fdt时间戳。在其它实施例中,可以使用alc扩展报头来指示fdt时间戳值。在一个实施例中,可以在fdt时间戳中单独地指示这些值,例如,在alc扩展报头中的三个单独32比特字段中指示的用于tnt、δ1、和δ2的不同值。在另一个实施例中,可以将这些值指示成单一值,例如,在alc扩展报头中的单一32比特字段中指示的δ1+δ2-tnt的和。

图8根据一个实施例,示出了mpd801、803、和805,以及它们的可用性开始时间ast1、ast2、和ast3、传输时间(t1、t2、和t3)、到达时间、和偏移时间(packetoffset)。如图8中所示,在bmsc处接收的mpd801中的可用性时间轴可以指示可用性开始时间ast1,并且可以在时间t1,从bmsc向接收机设备发送第一分段n。bmsc可以基于某种延迟来修改mpd801,以在提供给接收机设备的mpd803中指示用于第一分段n的可用性开始时间ast3。但是,由于与所估计的延迟相比,路由延迟可能更小,因此分段n可能在实际时间t2到达,其比在假定bmsc所使用的延迟情况下,分段n将到达的时间t3更早。因此,分段n在mpd803中所指示的时间之前就可用,接收机设备经历该接收机设备应当进行等待,直到mpd803中所列出的时间才请求分段n的不必要延迟。为了说明实际路径延迟,接收机设备可以生成修改的mpd805,其中对可用性开始时间(ast2)进行偏移以反映分段n可用的实际时间。偏移时间(packetoffset)可以对应于传输t1和可用性时间ast1之间的时间,可以将可用性开始时间(ast2)确定为到达时间t2减去偏移时间(packetoffset)(例如,ast2=t2-packetoffset)。通过向接收机设备提供偏移时间(packetoffset),可以使接收机设备能够确定实际可用性开始时间ast2而不管mpd803中的开始时间ast3,并生成修改的mpd805以反映实际可用性开始时间ast2。

图9a是示出用于修改分段可用性时间轴的另一种实施例方法的处理流程图。在一个实施例中,方法900a的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法900a的操作可以由在接收机设备的处理器上运行的客户端应用(例如,dash客户端)来执行。在另一个实施例中,方法900a的操作可以由bmsc服务器的处理器来执行。在方框902中,多播服务设备客户端、客户端应用、或者bmsc服务器可以接收mpd。mpd中的开始时间可以是任何开始时间,例如,最差情况开始时间或者其它开始时间。在一个实施例中,设备可以经由ota传输来接收mpd。在一个实施例中,mpd可以是从网络接收的,并且头端可以将分段的可用性时间设置在mpd中。在一个实施例中,客户端应用可以经由多播服务设备客户端来接收mpd。

如上面所讨论的,在方框603处,多播服务设备客户端、客户端应用、或者bmsc服务器可以确定网络抖动。在方框903中,多播服务设备客户端、客户端应用、或者bmsc服务器可以接收fdt,并且确定fdt到达时间(t2)。在一个实施例中,fdt可以包括:用于指示在发送设备处,该fdt分组的传输和mpd中的可用性时间之间的偏移时间(packetoffset)的fdt时间戳。在方框904中,多播服务设备客户端、客户端应用、或者bmsc服务器可以确定该fdt时间戳(packetoffset)。例如,多播服务设备客户端、客户端应用、或者bmsc服务器可以解析fdt分组的报头(例如,解析alc报头元素、alc报头扩展、fdt扩展扩展等等),以确定fdt分组报头中所指示的fdt时间戳。在方框906中,多播服务设备客户端、客户端应用、或者bmsc服务器将实际可用性开始时间(ast2)确定为:fdt到达时间(t2)减去该fdt时间戳(packetoffset)(例如,ast2=t2-packetoffset)。如上面参照图6a所讨论的,在方框610、612和614中,多播服务设备客户端、客户端应用、或者bmsc服务器可以对mpd进行偏移,存储经修改的mpd,并根据偏移后的mpd来请求分段。

图9b示出了用于生成延迟调整消息的实施例方法900b。实施例方法900b类似于上面参照图9a所描述的方法900a,除了可以在无需对分段可用性时间轴进行偏移的情况下,生成用于指示分段可用性时间轴中的偏移的延迟调整消息之外。在一个实施例中,方法900b的操作可以由在接收机设备(例如,智能电话)的处理器上运行的多播服务设备客户端来执行。在另一个实施例中,方法900b的操作可以由在接收机设备的处理器上运行的客户端应用(例如,dash客户端)来执行。在另一个实施例中,方法900b的操作可以由bmsc服务器的处理器来执行。在方框902、603、903、904、906和610中,多播服务设备客户端、客户端应用、或者bmsc服务器可以执行上面参照图9a所描述的方法900a中的类似编号模块的操作,以确定偏移的mpd开始时间(availabilitystarttime)。如上面参照图6b所讨论的,在方框616和618中,多播服务设备客户端、客户端应用、或者bmsc服务器可以存储该偏移的mpd开始时间的指示,发送延迟消息。

图10a是示出用于在fdt中指示fdt时间戳的实施例方法1000a的处理流程图。在一个实施例中,方法1000a的操作可以由bmsc服务器的处理器来执行。在方框1002中,bmsc服务器可以接收包括初始开始时间(ast1)的指示的mpd。在方框1003中,bmsc服务器可以向接收机设备发送包括初始开始时间(ast1)的指示的mpd。

在方框1004中,bmsc服务器可以确定从编码器到bmsc服务器的传输延迟(δ1)。bmsc服务器可以通过将从编码器接收的分组中的时间戳与接收到该分组的实际时间进行比较,来估计传输延迟。替代地,该传输延迟(δ1)可以是存储在可用于bmsc服务器的存储器中的预先设定的值。在方框1005中,bmsc服务器可以确定在准备分组以进行传输时的处理延迟(δ2)。该处理延迟(δ2)可以是存储在可用于bmsc服务器的存储器中的预先设定的值。

在方框1006中,bmsc服务器可以确定fdt传输时间(tnt),并且在方框1007中,bmsc服务器可以在fdt中指示fdt时间戳(tnt、δ1、δ2)。例如,可以在fdt或者alc或者fdt报头扩展的alc元素中,指示该fdt时间戳。在一个实施例中,可以在fdt时间戳中单独地指示这些值,例如,针对tnt、δ1、和δ2的不同的值。在另一个实施例中,可以将这些值指示成单一值,例如,δ1+δ2-tnt的和。在方框1008中,bmsc服务器可以在fdt传输时间来发送fdt。

图10b是示出用于在fdt中指示fdt时间戳的实施例方法1000b的处理流程图。实施例方法1000b类似于上面参照图10a所描述的方法1000a,除了可以使用最差情况延迟(delaymax)对mpd可用性开始时间和fdt传输时间进行偏移之外。在方框1002中,bmsc服务器可以接收包括有初始开始时间(ast1)的指示的mpd。

在方框1010中,bmsc服务器可以估计用于向接收机设备发送分段的最差情况延迟(delaymax)。在方框1011中,bmsc服务器可以至少部分地基于初始开始时间(ast1)和估计的最差情况延迟(delaymax)来确定最差情况开始时间(ast3)。例如,可以将ast3确定为ast1加上最差情况延迟(delaymax)(例如,ast3=ast1+delaymax)。

在方框1012处,bmsc服务器可以将mpd开始时间偏移到最差情况开始时间(ast3),以生成包括最差情况开始时间(ast3)的指示的mpd。在方框1013处,bmsc服务器可以向接收机设备发送包括最差情况开始时间(ast3)的指示的mpd。

如上面所讨论的,bmsc服务器可以在方框1004和1005中,确定传输延迟(δ1)和处理延迟(δ2)。在方框1014中,bmsc服务器可以确定针对所估计的最差情况延迟(delaymax)调整的fdt传输时间(例如,tnt=tnt+delaymax)。用此方式,从bmsc服务器发送的fdt时间戳可以包括传输时间(tnt),其考虑了用于生成具有最差情况开始时间(ast3)的mpd的最差情况延迟。如上面所讨论的,在方框1007中,bmsc服务器可以在fdt中指示fdt时间戳(tnt、δ1、δ2),并且在方框1008中,bmsc服务器可以在fdt传输时间来发送fdt。

图10c是示出用于在fdt中指示fdt时间戳的实施例方法1000c的处理流程图。实施例方法1000c类似于上面参照图10a所描述的方法1000a,除了将偏移时间(packetoffset)使用成fdt时间戳,而不是使用传输时间加上最差情况延迟之外。

在方框1002和1003中,bmsc服务器可以执行上面参照图10a所描述的方法1000a中的类似编号模块的操作,以接收和发送mpd。在方框1015中,bmsc服务器可以确定fdt传输时间(t1)。在方框1016中,bmsc服务器可以确定传输时间(t1)和初始开始时间(ast1)之间的偏移时间(packetoffset),例如,通过从t1中减去ast1。在方框1017中,bmsc服务器可以在fdt中指示fdt时间戳(packetoffset)。例如,可以在fdt或者alc或fdt报头扩展的alc元素中指示该fdt时间戳。如上面所讨论的,在方框1008中,bmsc服务器可以在fdt传输时间(t1)发送fdt。

图11示出了用于基于延迟调整消息中的指示,调整可用性时间的实施例方法。在一个实施例中,方法1100的操作可以由在接收机设备(例如,智能电话)的处理器上运行的客户端应用(例如,dash客户端)来执行。在方框1102中,客户端应用可以接收mpd。在一个实施例中,客户端应用可以经由多播服务设备客户端,通过接收机设备上的http服务器来接收mpd。在方框1104中,客户端应用可以接收延迟调整消息。在一个实施例中,客户端应用可以经由多播服务设备客户端,通过接收机设备上的http服务器来接收延迟调整消息。在方框1106中,客户端应用可以基于该延迟调整消息,对mpd中的一些或者所有分段的可用性时间进行偏移。在一个实施例中,基于延迟调整消息对可用性时间进行偏移可以包括:使用偏移的mpd可用性开始时间(availabilitystarttime)的指示和/或其它值,来调整每个分段在接收机设备上可用的时间。在一个实施例中,对可用性时间进行偏移可以包括:修改mpd本身以生成修改的mpd。在另一个实施例中,对可用性时间进行偏移可以涉及:在不修改mpd本身的情况下,改变分段在接收机设备上可用的时间的指示。在修改mpd的实施例中,在可选框1108中,客户端应用可以将修改后的mpd存储在可用于该客户端应用的存储器中。在方框1110中,客户端应用可以在经偏移的mpd开始时间(availabilitystarttime),对分段进行请求。

各种实施例(其包括但不限于上面参照图3a、3b、4、5、6a、6b、7、8、9a、9b和图11所讨论的实施例)可以在各种各样的移动设备(即,接收机设备)中的任何一种之中实现,图12示出了其一种例子。例如,移动计算设备1200可以包括耦合到触摸屏控制器1204和内部存储器1202的处理器1201。处理器1201可以是被设计为实现通用任务或特定处理任务的一个或多个多核集成电路(ic)。内部存储器1202可以是易失性存储器或非易失性存储器,还可以是安全和/或加密存储器,或者非安全和/或非加密存储器、或者其任意组合。此外,触摸屏控制器1204和处理器1201还可以耦合到触摸屏面板1212,例如,电阻式感应触摸屏、电容感应触摸屏、红外线感测触摸屏等等。移动计算设备1200可以具有用于进行发送和接收的一个或多个无线信号收发机1208(例如,wi-fi、rf、蜂窝等等)和天线1210,它们彼此之间相耦合和/或耦合到处理器1201。收发机1208和天线1210可以结合上面所提及的电路进行使用,以实现各种无线传输协议栈和接口。移动计算设备1200可以包括蜂窝网络无线调制解调器芯片1216,后者经由蜂窝网络进行通信并耦合到处理器。移动计算设备1200可以包括耦合到处理器1201的外围设备连接接口1218。外围设备连接接口1218可以被单独地配置为接受一种类型的连接,或者被多重地配置为接受多种类型的物理和通信连接、共同或专有连接(例如,usb、火线、thunderbolt或pcie)。此外,外围设备连接接口1218还可以耦合到类似配置的外围设备连接端口(没有示出)。此外,移动计算设备1200还可以包括用于提供音频输出的扬声器1214。此外,移动计算设备1200还可以包括使用塑料、金属、或材料的组合构成的壳体920,以包含本文所讨论的所有部件或者一些部件。移动计算设备1200可以包括耦合到处理器1201的电源1222,例如一次性或可充电电池。此外,该可充电电池还可以耦合到外围设备连接端口,以便从移动计算设备1200之外的源接收充电电流。

各种实施例(其包括但不限于上面参照图3a、3b、4、5、6a、6b、7、8、9a、9b、10a、10b和图11所讨论的实施例)还可以实现在各种各样的市场上可买到的服务器设备中的任何一种上(例如,图13中所示出的服务器1300)。通常,这种服务器1300包括耦合到易失性存储器1302和大容量非易失性存储器(例如,硬盘驱动器1304)的处理器1301。此外,服务器1300还可以包括耦合到处理器1301的软盘驱动器、压缩光盘(cd)或者dvd光盘驱动器1306。此外,服务器1300还可以包括耦合到处理器1301的一个或多个网络收发机1303(例如,网络接入端口),以便与通信网络1307(例如,耦合到其它通告系统计算机和服务器的局域网、互联网、公众交换电话网和/或蜂窝网络(例如,cdma、tdma、gsm、pcs、3g、4g、lte或者任何其它类型的蜂窝网络))建立网络接口连接。

处理器1201和1301可以是能通过软件指令(应用)进行配置,以执行多种功能(其包括上面所描述的各种实施例的功能)的任何可编程的微处理器、微计算机或多个处理器芯片或芯片集。在一些设备中,可以提供多个处理器,例如,一个处理器专用于无线通信功能,一个处理器专用于运行其它应用。通常,在访问软件应用并将它们装载到处理器1201和1301之前,可以将这些软件应用存储在内部存储器中。处理器1201和1301可以包括足够用于存储这些应用软件指令的内部存储器。在很多设备中,内部存储器可以是易失性存储器或者非易失性存储器(例如,闪存)、或者二者的混合。为了便于说明起见,对于存储器的引用通常指代:处理器1201和1301可访问的存储器,其包括内部存储器或者插入在设备之中的可移动存储器、以及处理器1201和1301自身中的存储器。

上述的方法描述和处理流程图仅仅是用作为说明性例子,而不是旨在要求或者隐含着必须以所给出的顺序来执行各个实施例的步骤。如本领域普通技术人员所应当理解的,可以以任何顺序来执行上述的实施例中的步骤顺序。此外,诸如“其后”、“转而”、“接着”等等之类的词语,并不旨在限制这些步骤的顺序;这些词语仅仅只是用于引导读者遍历该方法的描述。此外,任何对权利要求元素的单数引用(例如,使用冠词“一个(a)”、“某个(an)”或者“该(the)”),不应被解释为将该元素限制为单数形式。

结合本文所公开的实施例描述的各种示例性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面对各种示例性的部件、框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本发明的保护范围。

用于执行本文所述功能的通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件部件或者其任意组合,可以用来实现或执行结合本文所公开的方面描述的用于实现各种示例性的逻辑、逻辑框、模块和电路的硬件。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,dsp和微处理器的组合、若干微处理器、一个或多个微处理器与dsp内核的结合,或者任何其它此种结构。替代地,一些步骤或方法可以由特定于给定的功能的电路来执行。

在一个或多个示例性方面,本文所述功能可以用硬件、软件、固件或它们任意组合的方式来实现。当在软件中实现时,可以将这些功能存储成非临时性计算机可读介质或者非临时性处理器可读介质上的一个或多个处理器可执行指令或者计算机可执行指令或代码。本文所公开的方法或算法的步骤,可以体现在处理器可执行软件模块中,后者可以位于非临时性计算机可读或者处理器可读存储介质上。非临时性服务器可读、计算机可读或者处理器可读存储介质可以是计算机或处理器能够存取的任何存储介质。举例而言,但非做出限制,这种非临时性服务器可读介质、计算机可读或处理器可读介质可以包括ram、rom、eeprom、闪存、cd-rom或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(cd)、激光光盘、光盘、数字通用光盘(dvd)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上述的组合也应当包括在非临时性服务器可读、计算机可读和处理器可读介质的保护范围之内。另外,一种方法或算法的操作可以作为一个代码和/或指令集或者其任意组合,位于非临时性服务器可读介质、处理器可读介质和/或计算机可读介质上,其中该非临时性服务器可读介质、处理器可读介质和/或计算机可读介质可以并入到计算机程序产品中。

为使本领域任何普通技术人员能够实现或者使用本发明,上面围绕所公开的实施例进行了描述。对于本领域普通技术人员来说,对这些实施例的各种修改是显而易见的,并且,本文定义的总体原理也可以在不脱离本发明的精神或保护范围的基础上应用于其它实施例。因此,本发明并不限于本文所示出的实施例,而是与所附权利要求书和本文公开的原理和新颖性特征的最广范围相一致。

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