音频和视频的多模式同步渲染的制作方法

文档序号:17944110发布日期:2019-06-18 23:24阅读:212来源:国知局
音频和视频的多模式同步渲染的制作方法

网络系统可以具有各种连接的设备,诸如计算机、智能电话、平板电脑、电视等。连接到网络的设备可以播放媒体。例如,网络上的计算机可以从互联网下载媒体,以通过显示器显示视频并且通过扬声器或耳机输出音频。最近,具有使得媒体能够被直接流传输到电视的内置联网功能的智能电视已变得可用。尽管有这个和其它进步,但是用于收听电视音频的有效选项仍然限于有线扬声器。



技术实现要素:

一个方面的特征在于一种用于选择在第一电子设备和第二电子设备之间同步音频回放的模式的方法。所述方法包括在第一电子设备处接收视频数据和音频数据,所述第一电子设备包括电视或与电视耦合的媒体源;通过无线网络将与所述第一电子设备相关联的时钟信息无线地传送到所述第二电子设备,以在所述第一电子设备和第二电子设备之间建立同步时钟,所述第二电子设备是移动设备;使用所述第一电子设备的硬件处理器至少部分地基于所述视频数据来可编程地选择音频同步模式,其中所述音频同步模式在第一模式和第二模式之间选择,所述第一模式包括如果所述视频数据在大小上低于阈值则延迟视频,所述第二模式包括如果所述视频数据在大小上高于所述阈值则压缩音频数据;以及根据所选择的音频同步模式将所述音频数据从所述第一电子设备传送到所述第二电子设备。

一个方面的特征在于一种用于选择在第一电子设备和第二电子设备之间同步音频回放的模式的系统。所述系统包括第一电子设备,所述第一电子设备包括:存储器,所述存储器包括处理器可执行指令;硬件处理器,所述硬件处理器被配置为执行所述处理器可执行指令;以及无线传送器,所述无线传送器与所述硬件处理器通信。所述处理器可执行指令被配置为:接收视频数据和音频数据;使所述无线传送器通过无线网络将与所述第一电子设备相关联的时钟信息无线地传送到第二电子设备,以在所述第一电子设备和第二电子设备之间建立同步时钟;至少部分地基于所述视频数据、缓冲器特性以及网络特性中的一个或多个来可编程地选择音频同步模式;以及使所述无线传送器根据所选择的音频同步模式将所述音频数据从所述第一电子设备传送到所述第二电子设备。

一个方面的特征在于一种非瞬态物理电子存储装置,所述非瞬态物理电子存储装置包括存储在其上的处理器可执行指令,所述处理器可执行指令在由处理器执行时被配置为实现用于选择在第一电子设备和第二电子设备之间同步音频回放的模式的系统。所述系统被配置为:在第一电子设备处接收与视频相关联的音频数据;通过无线网络将与所述第一电子设备相关联的时钟信息无线地传送到第二电子设备,以在所述第一电子设备和第二电子设备之间建立同步时钟;至少部分地基于一个或多个视频或者网络特性来可编程地选择音频同步模式;以及根据所选择的音频同步模式将所述音频数据从所述第一电子设备传送到所述第二电子设备。

出于概述本公开的目的,本文已描述了本发明的某些方面、优点和新颖特征。要理解的是,根据本发明的任何特定实施例,不一定所有这样的优点可以实现。因此,本发明可以以实现或最优化本文所教导的一个优点或一组优点、而不一定实现本文可以教导或暗示的其它优点的方式来实施或执行。

附图说明

图1示出了被配置用于视频设备和两个音频设备之间的同步媒体回放的示例系统。

图2示出了被配置用于视频设备和音频设备之间的同步媒体回放的示例系统。

图3示出了用于选择用于传送音频的同步模式的示例过程。

图4示出了用于选择用于传送音频的同步模式的更详细的示例过程。

图5示出了用于根据半等时模式进行媒体传送处理的示例过程。

图6a、6b和6c示出了用于根据半等时模式接收和渲染音频的示例过程。

图7示出了用于根据确定性模式进行媒体传送处理的示例过程。

图8示出了用于根据确定性模式接收和渲染音频的示例过程。

图9示出了用于初始化时钟同步的示例过程。

图10示出了用于重新同步和校正时钟漂移的示例过程。

具体实施方式

介绍

尽管电视通常包括用于渲染音频的内置扬声器,但是一些观看者希望在通过无线耳机收听音频的同时观看电视。蓝牙无线耳机可用于这个目的,但是蓝牙协议不令人满意,因为蓝牙无线耳机经常与电视视频不同步。观看者因此经受收听与对话和其它音频在对应的视频中的及时发生断开的对话和其它音频的不期望的体验。因此,蓝牙耳机不受消费者喜欢。

不幸的是,使用wifi协议(例如,ieee802.11x)传送电视音频尚未充分地解决这个同步问题。其主要原因是无线协议是异步的。媒体源和音频接收器可以使用单独的时钟,并且它们各自的时钟信号在媒体文件的回放期间可能不同步或漂离。此外,包括时延级别的无线网络性能可以变化,使得音频数据或多或少地不可预测地被延迟。

本公开的某些实施例描述了用于使一个设备(例如,电视(tv))上的视频与在另一个设备(例如,电话或平板电脑)上播放的对应音频同步的改善的同步技术。例如,通过连接到移动设备的耳机,收听者可以收听与tv上播放的对应视频正确地(或近似地)同步的音频。电视,或更一般地,任何媒体源(诸如机顶盒或计算机),可以执行与安装在移动设备上的移动应用的同步。因此,可以克服蓝牙耳机的用户遇到的问题中的一些或全部。

而且,因为可以使用移动设备来完成同步,所以媒体源可以通过将各个音频流无线地发送到每个收听者的移动设备来向不同的收听者提供期望的音频。以这种方式,每个收听者可以通过单独的耳机收听并调整各个音频设置,诸如音量或均衡(例如,低音与高音平衡)。

在一些实施例中,本文描述的系统和方法可以通过从至少两个不同的模式(确定性模式和半等时模式)进行选择来执行同步回放。确定性模式除了其它特征之外可以包括延迟视频并基于这个已知的延迟在移动设备上回放音频。可以在确定性处理不可用时或基于其它标准使用的半等时模式可以包括压缩音频(甚至使用有损压缩技术),以使得音频能够尽可能快地被传送。可以基于一个或多个因素(诸如硬件缓冲能力、网络性能或正在被播放的媒体的类型)来选择这些回放模式。还可以采用各种时钟同步、缓冲、时钟漂移校正和数据处理方法来改善同步。

尽管多个以下示例为了方便而从tv和智能电话(参见例如图1)的角度进行描述,但是应当认识到的是,这些概念一般扩展到媒体源和音频接收器(参见例如图2)。此外,如本文所使用的,术语“同步”及其派生词除了具有其常规含义之外还指实际或近似同步。虽然所描述的系统和方法可以比现有系统实现更好的同步,但是视频和音频之间的小延迟可以存在,不过对于收听者是不显著的。因此,如本文所述,“同步”可以包括具有不可察觉的延迟的近似同步。由于网络条件,甚至这种同步在一些情况下可以具有用户可察觉的小延迟,但是延迟与当前可用的系统所实现的相比可能一般侵入性较少。

详细的示例系统

图1和2提供可以实现上面介绍的同步特征的示例系统的概况。后续的图,图3-10,描述可以在诸如图1和2中所示的系统中实现的同步处理的实施例。

图1示出了被配置用于视频设备和两个音频设备之间的同步媒体回放的示例系统100,其可以实现本文描述的任何方法。系统100包括机顶盒101、电视系统103、移动设备105、移动设备107和网络109,该网络109可以是无线局域网或广域网的一部分。

机顶盒101包括处理器111、媒体库113、接口115、控制接口117和用于接收用户输入119的外部媒体接口121。tv系统包括处理器123、视频缓冲器125、显示屏127、接口129和wi-fi收发器131。第一电话包括处理器133、用户接口135、wi-fi收发器137和用于向无线扬声器141(可选地,可以使用有线扬声器或耳机)传送的无线传送器139。第二电话包括处理器143、用户接口145、wi-fi收发器147、音频驱动器149和可以将音频输出到耳机153的辅助输出151。

机顶盒101提供媒体(诸如电影、视频剪辑、视频流或视频游戏)的源。媒体可以通过外部媒体接口121接收。外部媒体接口121可以是连接到互联网、游戏控制台、计算机、有线电视提供商、广播公司等的同轴连接、hdmi连接、dvi连接、vga连接、组件连接、电缆连接、以太网连接、无线连接等。替代地,机顶盒101可以具有存储在本地计算机可读存储介质(诸如硬盘或blu-盘(未示出))中的本地媒体库113。

用户可以通过控制接口117使用遥控器、智能电话或其它设备来提供用户输入119。机顶盒中的一个或多个处理器111可以处理用户输入以通过接口115将选择的媒体信息传递到tv系统。接口115可以是连接到tv系统上的接口129的同轴连接、hdmi连接、dvi连接、vga连接、组件连接、电缆连接、以太网连接、总线等。

tv系统103通过接口129接收用于回放的媒体(在其它实施例中,tv系统是媒体源)。一个或多个处理器123可以处理媒体以操纵音频数据和视频数据。视频数据可以在视频缓冲器125中缓冲并然后在显示屏127中渲染。然而,视频缓冲持续时间以及究竟是否要缓冲视频可以根据本文描述的方法来实现。音频数据可以通过网络109经由tv系统103的wi-fi连接131传送到移动设备105上的wi-fi连接137和移动设备107上的wi-fi连接147。可以将相同或不同的音频数据传送到两个移动设备105、107。在一些实施例中,可以将相同的音频数据传送到两个移动设备105、107,并且然后两个设备105、107可以单独地对音频参数(诸如音量或均衡(例如,低音/高音平衡或更详细的多频段分析))进行调整。在一些实施例中,tv系统103可以向两个设备105、107发送不同语言的音频数据,诸如向移动设备105发送英语音频,并且向移动设备107发送西班牙语音频。在一些实施例中,移动设备105、107中的一个或两个可以输出增强叙述以用于盲的、个人处理的音频或者本地存储的音频数据或增强。

移动设备105通过wi-fi连接137接收音频数据。音频数据被一个或多个处理器133处理并且被渲染以通过无线接口139输出,以通过无线扬声器141播放。移动设备105的用户接口135允许用户与系统100交互。例如,用户可以使用设备105上的应用来选择要播放的媒体内容;发出回放命令,诸如开始、停止、快进、跳进和倒回;或以其它方式与机顶盒101、tv系统103或移动设备105交互。在一些实施例中,用户接口可以被用于选择设备105上的本地媒体以由网络109上的其它设备(诸如由tv系统103)播放。

移动设备107通过wi-fi连接147接收音频数据。音频数据被一个或多个处理器143处理并且通过音频驱动器149驱动以通过连接到第二电话的辅助输出端口151的耳机153回放。移动设备107的用户接口145允许用户与系统100交互。

在各种实施例中,由移动设备107接收的音频数据可以与由移动设备105接收的音频数据相同或不同。当由移动设备105和移动设备107接收的音频数据相同时,系统可以以广播或多播配置行事。

更一般的示例系统

图2示出了被配置用于视频设备和音频设备之间的同步媒体回放的示例系统200,其可以实现本文描述的任何方法。系统包括媒体源201和通过网络205连接到音频接收器207的媒体播放器203。媒体源201包括媒体内容209。媒体播放器203包括接收器211、一个或多个处理器213、存储器、存储装置或存储器和存储设备215、视频缓冲器217、视频渲染器219和无线广播器221。音频接收器207包括无线接收器223、处理器225、存储器、存储装置或存储器和存储设备227和音频输出229。

媒体源201向媒体播放器203提供媒体内容209。媒体源201可以是机顶盒(例如,卫星或有线电视)、有线电视盒、电视、智能电视、互联网提供商、广播公司、智能电话、媒体棒(例如,googlechromecasttm等)、媒体播放器(例如,rokutm设备等)、视频游戏控制台、blu-播放器、另一个计算机、媒体服务器、天线、它们的组合等。在一些实施例中,媒体源201可以是媒体播放器203的一部分,诸如媒体播放器203的硬盘驱动器中的本地存储的媒体库,或者媒体源201可以是媒体播放器203。

媒体播放器203通过接收器211接收媒体内容209以进行回放。媒体播放器可以是例如tv、计算机、音频-视频接收器(“avr”)等。一个或多个处理器213可以处理媒体内容以操纵音频数据和视频数据。视频数据可以在视频缓冲器217中缓冲并然后在视频渲染器219中渲染。在一些实施例中,视频渲染器219可以是显示屏、监视器、投影仪、虚拟现实头戴装置等。然而,视频缓冲持续时间以及究竟是否缓冲被使用的视频可以根据本文描述的方法来确定。在一些实施例中,媒体播放器203可能具有有限的视频缓冲或完全缺乏用于视频缓冲的支持或硬件。音频数据可以经由网络205无线地传送到音频接收器207。

音频接收器207通过无线接收器223接收音频数据。音频数据被一个或多个处理器225处理并且被渲染以通过音频输出227(诸如耳机、有线扬声器或无线扬声器)输出。

示例同步过程的概况

图3示出了用于选择用于传送视频和音频的同步模式的示例过程300。该过程可以由本文描述的任何系统实现。例如,在媒体源或媒体播放器上执行的软件可以实现过程300。

在方框301处,在网络上识别视频播放器(或其它媒体源)和音频播放器。这可以例如在视频播放器和音频播放器连接到网络并且接收唯一的连接标识或地址时发生。每个视频播放器和音频播放器可以运行被配置为便于同步的音频和视频回放的应用。

在方框303处,评估用于选择同步模式的标准。例如,可以使用下面关于图4讨论的标准。示例同步模式包括但不限于确定性模式和半等时模式(参见方框307)。

在方框305处,可以在视频播放器和音频播放器之间建立时钟同步。这可以使用视频播放器和音频播放器之间的单向或双向通信来执行。双向通信时钟同步系统的一个示例是精确时间协议(ptp)。在一些实施例中,时钟同步可以使用通过网络从视频播放器到一个或多个音频播放器的单向广播来执行。基于单向广播同步时钟的实施例可以避免影响一些类型的双向时钟同步方案的基于非对称上行链路/下行链路网络时间的误算。此外,基于单向广播同步时钟的实施例可以执行与多个设备的单个同步,而不是等待每个设备单独地响应。下面关于图9描述用于建立时钟同步的示例方法。

视频播放器和音频播放器最初可以以彼此不同步且未知的时钟开始。一旦已建立了时钟同步,就可以使用同步时钟信号来在视频播放器和一个或多个音频播放器之间同步音频和视频回放。如下面更详细地描述的,同步时钟可以被用于计时或跟踪各种参数,诸如延迟时段、回放时间、暂存(staging)时间、余裕(margin)时间和时间戳、以及其它参数。

在方框307处,基于评估的标准来选择确定性或半等时同步模式。在方框309处,根据所选择的同步模式传送音频和视频数据。

用于选择同步模式的示例过程

图4示出了用于选择用于传送音频的同步模式(确定性或半等时)的示例过程400。该过程可以由本文描述的任何系统实现。例如,在媒体源或媒体播放器(下面一般地称为“系统”)上执行的软件可以实现过程400。在这个实施例中,系统评估在方框401-409中描绘的多个标准以选择半等时或者确定性同步。这个过程可以在后期制造(例如,在收听者的家中)由媒体源或媒体播放器执行。在一个实施例中,系统默认一个模式(例如,确定性),但响应于满足一个或多个标准而切换到另一个模式。在另一个实施例中,考虑少于所有标准。

在方框401处,系统确定视频设备的(或媒体源的)缓冲器是否足够用于确定性模式。一些视频,如果未压缩,可能太大而无法缓冲,因此使那些视频延迟以进行确定性处理可能是不可能的(或者由于视频性能的降级而不太可取)。其它视频以压缩形式递送并且更容易缓冲。这个步骤可以涉及识别视频是否被压缩、识别缓冲器的对应大小等。替代地,系统的缓冲能力可以在制造时以元数据等编码以指示确定性模式是否可用,或者指示取决于传入的视频的带宽的它可以可用的程度。

在另一个实施例中,这个步骤(401)还包括确定视频设备甚至是否支持缓冲。这个确定可以基于缓冲硬件的存在或基于支持缓冲的固件和软件的能力。在一些实施例中,该确定可以基于系统的模型在已知具有或不具有缓冲能力的模型的列表中的查找来进行。在一些实施例中,该确定可以通过尝试发出缓冲视频的测试命令来进行。如果视频设备不支持缓冲,那么在方框411中选择半等时模式。

如果在方框401处视频设备支持缓冲,那么在方框403处,系统确定被分类为不适合于缓冲的特定媒体类型是否被检测为媒体源,诸如视频游戏。许多视频游戏不适合于确定性模式中使用的视频缓冲,因为视频中的任何延迟可能是用户不希望的。例如,基于通过某些端口连接到系统的视频游戏控制台的存在、基于在系统中检测到的一个或多个正在运行的进程的名称、以上的组合等,可以确定所使用的媒体的类型。如果检测到视频游戏(或一些其它特定类型的媒体),那么在方框411中选择半等时模式。

如果在方框403处除了视频游戏之外的媒体(或不适合于缓冲的其它媒体)被检测为媒体源,那么在方框405处可以针对稳定性对网络进行测试。这可以例如通过向网络发送ping并测量ping时间的变化、通过通过网络发送包(packet)并测量包传送时间的变化、通过向远程主机传送数据或从远程主机接收数据并测量传送和接收速度的变化等来完成。测试可以是从视频播放器到网络、在媒体播放器和音频播放器之间、或者到远程互联网源。测试测量可以基于同步时钟。如果网络传送时间不稳定(例如,变化超过某个量或百分比、最小速度下降到低于某个量等等),那么在方框411中选择半等时模式。

如果在方框405处网络传送时间是稳定的,那么在方框407处,针对带宽对网络进行测试。这可以例如通过将若干包(例如,音频数据典型的量)通过网络发送到音频设备或其它目的地来完成。接收数据的速率可以被用于确定带宽。测试测量可以基于上面关于图3(也参见图9)描述的同步时钟。如果网络带宽不足(例如,平均带宽低于某个阈值、最小带宽下降到低于某个量等等),那么在方框411中选择半等时模式。

如果在方框407处确定网络具有足够的带宽,那么在方框409处,传送器和接收器可以确定视频播放器和音频播放器是否都支持经由确定性模式的回放。这可以基于时钟是否被同步或能够在视频播放器和媒体播放器之间被同步以及视频设备和音频设备两者中的应用是否已配置相应的设备以支持确定性模式。如果不是,那么在方框411处选择半等时模式。如果视频播放器和音频播放器两者同步用于确定性模式,那么在方框413处选择确定性模式。当网络条件改变时,可以再次执行图4中所示的一个或多个方框,以重新评估网络条件和改变回放模式。因此,回放模式可以基于真实世界的网络条件实时地改变。

半等时模式示例过程

图5示出了用于根据半等时模式进行媒体处理的示例过程500。该过程可以由本文描述的任何系统实现。例如,在媒体源或媒体播放器(下面一般地称为“系统”)上执行的软件可以实现过程500。

半等时模式可以被选择以快速地传送和渲染音频。在半等时系统中,音频数据可以被媒体播放器压缩,被传送到音频播放器,并且如果在合理的时间延迟内被接收,那么音频数据可以被渲染。

通过压缩数据,当网络连接拥挤并且具有低可用带宽时,半等时模式可以比确定性模式更好地执行。而且,因为半等时不涉及缓冲接收的音频以在特定延迟时间被播放(在一些实施例中),所以当网络速度高度可变并且音频包在延迟时间之前可能不能到达目标目的地时,半等时模式可以比确定性模式更好地执行。尽管如此,确定性模式可以在快速、稳定的网络连接可用的其它场景中提供更好的性能。

在方框501处,使用例如当前可用的互联网协议(诸如tcp/ip)对音频数据进行打包。

在方框503处,对音频数据进行压缩。因为经压缩的音频数据使用较少的带宽,所以它可以在拥挤的网络上更快地传送。压缩方案可以是无损的或有损的,其中一些有损算法可能以音频信号降级的折衷提供更快的性能(由于更高的压缩率)。在方框505处,可选地测量包丢失率。

在方框507处,可选地基于丢失率生成前向错误校正(fec)包。fec可以使用诸如本文描述的音频传送的单向通信来提供改善的包丢失恢复。另外,fec可以特别有用,因为音频数据需要被渲染的短量的时间可能没有留下充足的时间来传送请求(其后跟着重传的有效载荷)。虽然可以使用许多fec算法,但是在一个实施例中,系统通过在一个或多个包上应用xor(异或)运算来生成fec包,如例如在rfc5109,“rtppayloadformatforgenericforwarderrorcorrection”(2007)(其全部内容通过引用在此并入)中所描述的那样。在方框509处,fec包可以与音频包交织。在方框511处,可以将包传送到接收器。

在方框513处,可以在诸如tv系统的第一设备上渲染视频。在一些实施例中,在没有缓冲的情况下渲染视频。在一些实施例中,可以基于平均或最小的预期传送和处理时间来短暂地缓冲视频。可以基于网络测试(例如,关于图4的方框405和407讨论的测试)来估计缓冲时间,并且可以选择缓冲时间使得音频将在视频处或恰在视频之后(例如,1至3帧内)播放。例如,如果网络ping的范围通常为从200到300ms(其中偶尔速度快到100ms),那么缓冲器可以是100ms(可选地加上最快的音频渲染时间)。

图6a、6b和6c分别示出了用于根据半等时模式接收和渲染音频的示例过程600、620和650。例如,在诸如移动设备的音频接收器上执行的软件可以实现过程600、620和650。

图6a示出了用于根据半等时模式接收和渲染音频的第一示例过程600。在方框601处,音频接收器接收经压缩的音频包。在方框603处,接收器确定经压缩的音频包是否在第一阈值内被接收到。如果经压缩的音频包没有在第一阈值内被接收到,那么在方框605处,音频接收器丢弃经压缩的音频包。第一阈值可以近似是在tv处渲染两个视频帧将花费的时间(在一些系统中约为66ms)。如果经压缩的音频包在第一阈值内被接收到,那么在方框607处,音频接收器将经压缩的音频包存储在保持缓冲器中。

图6b示出了用于根据半等时模式接收和渲染音频的第二示例过程620。在方框621处,音频接收器从保持缓冲器搜索第一包。第一包可以是例如在方框607处存储在保持缓冲器中的经压缩的音频包。在方框623处,确定音频接收器是否在保持缓冲器中找到第一包。如果没有找到第一包,那么在方框625处,确定fec或冗余数据是否可用于构造第一包。接收器可以尝试识别冗余或fec校正数据。例如,可以从先前传送的错误校正包(诸如fec包)获得冗余或校正数据。如果后续的包通过使用曲线拟合技术以及其它可能的技术可用于基于先前的和后续的包中的数据猜测缺失的包数据,那么还可以针对丢掉的包提取校正数据。如果fec数据被确定为可用,那么在方框629处,从fec数据重构第一包。

如果第一包在保持缓冲器中被找到或者被重构,那么在方框631处,确定包到达时间阈值是否已到期。如果包到达时间阈值尚未到期,那么在方框633处,对第一包进行解压缩以生成经解压缩的音频数据。在方框635处,将经解压缩的音频数据添加到音频接收器的暂存缓冲器。在方框637处,音频接收器使包索引递增以寻找下一个包(例如,在处理第一包之后,寻找第二包)。

如果在方框625处,没有fec数据可用于重构第一包,那么在方框627处,确定是否包到达时间已到期以找到第一包。如果包到达时间尚未到期,那么过程620可以再次前进到621,使得可以继续从保持缓冲器搜索第一包。

如果在方框627或631中的任一个处,针对第一包包到达阈值时间已到期,那么过程可以前进到方框639,在方框639中,将静默包插入到暂存缓冲器。在一些实施例中,可以将副本包插入到暂存缓冲器中而不是插入静默。经过某个延迟,诸如两个视频帧的延迟,音频包可能可检测地与视频不同步,因此丢掉音频包可能是优选的做法。然后,在方框637处,可以使包索引递增,并且可以针对下一个音频包重复过程620。

图6c示出了用于根据半等时模式接收和渲染音频的第三示例过程650。在方框651处,可以确定是否阈值时间已到期以渲染暂存缓冲器中的下一项。如果在方框651处,用于渲染暂存缓冲器中的下一项的阈值时间尚未到期,那么过程650可以重复方框651,直到阈值时间确实到期。当阈值时间到期时,在方框653处,音频接收器可以开始渲染暂存缓冲器中的下一项。下一项可以是例如在方框634处添加到音频接收器的暂存缓冲器的经解压缩的音频数据。过程然后可以返回到方框651。

确定性模式示例过程

图7示出了用于根据确定性模式进行媒体处理的示例过程700。该过程可以由本文描述的任何系统实现。例如,在媒体源或媒体播放器(下面一般地称为“系统”)上执行的软件可以实现过程700。

在确定性模式中,可以确定延迟时间以允许在存在正常网络波动的情况下有充足的时间进行音频传送和渲染,同时考虑视频渲染中的延迟。媒体源可以在音频被安排进行渲染之前一次传送音频有效载荷。一旦被传送到第二设备,音频有效载荷就可以被缓冲直到回放时间,因此与视频同步地渲染。当音频正被传送到第二设备并在第二设备中被处理时,视频数据可以在第一设备中被缓冲直到回放时间,然后可以渲染视频数据。媒体源和接收设备可以使用同步时钟信号来同步音频和视频输出(参见例如图9和10)。

在方框701处,确定延迟时间。延迟时间可以足够长,使得音频包可以被音频设备接收并且在延迟的时间处与由视频设备渲染的视频同步地被渲染。最大延迟时间可以由视频缓冲器容量确定。延迟时间可以被设置为大于平均或最大的预期传送和处理时间。延迟时间可以被设置为大于平均的传送和处理时间加上标准偏差的倍数。如果延迟时间足够长使得可以同步渲染大多数包,那么可以利用错误掩蔽或校正技术隐藏剩余少量的包。

延迟时间可以是预定的(例如,在制造时)或者可以基于网络测试(例如,关于图4的方框405和407讨论的测试)来估计。例如,如果网络ping的范围通常为从400到500ms(其中偶尔滞后高达900ms),那么延迟时间可以是900ms(可选地加上在接收音频包之后渲染音频花费的时间),如果这被视频缓冲器支持的话。

延迟时间可以基于同步时钟来测量,并且可以是时间戳之后要被延迟的时间量(例如,2秒和335微秒)的形式。在一些实施例中,延迟时间以要播放音频和视频的呈现时间的形式设置(例如,视频在12:30:00:000pm被缓冲并且回放被设置为12:30:02:335pm)。在以多个设备被配置为回放音频为特征的实施例中,测量可以基于所有多个设备当中的最坏情况测量(同时仍在缓冲硬件能力内)。在一些实施例中,延迟时间可以是0.5、1、2、3、4、5或6秒或者另一个类似时间。

在方框703处,视频被延迟长达延迟时间。可以使用视频缓冲器(诸如图2的视频缓冲器217)来实现延迟。一些实施例缓冲经压缩的视频。

在方框705处,可以在延迟的时间处在第一设备上播放视频。延迟的时间基于同步时钟来确定。在一些实施例中,播放视频可以包括解压缩视频以渲染它。来自缓冲器的视频回放可以非常快,但是不是瞬时的。因此,在一些实施例中,为了进一步完善的性能,当确定定时参数(例如,延迟时间)时,可以进行对回放时间的微小调整。

在方框707处,对音频数据进行打包。可以利用基于同步时钟的时间戳、包的序列号、位速率,暂存时间,余裕时间、其它报头信息以及包括经压缩的音频数据的音频有效载荷来形成包。时间戳可以被初始化为传送包的媒体设备的当前时间t0。对于后续的s个包或暂存时间,可以通过将(s*d)加到初始的暂存时间或初始的时间戳来计算后续的时间戳或暂存时间,其中d表示包的回放时间,并且其中s是整数。计算后续的时间戳或暂存时间而不是报告实际的时间可以在一些实施例中改善校正时钟漂移的算法。例如,当由音频设备的时钟测量的当前时间与时间戳或暂存时间相比已漂移到预期范围之外时,则可以执行时钟重新同步以校正时钟漂移。

在方框709处,fec包可以如上所述生成,并且与打包的音频数据交织。这可以在有效载荷级别、在包级别或在另一个级别完成。可以基于丢失率生成fec包。

在方框711处,通过网络将音频包传送到第二设备。

图8示出了用于根据确定性模式接收和渲染音频的示例过程800。该过程可以由本文描述的任何系统实现。例如,在诸如移动设备的音频接收器上执行的软件可以实现过程800。

在方框801处,接收音频包。例如,关于图2,音频接收器207的无线接收器223可以接收通过网络205传送的音频包。

在方框805处,对音频包进行解包,并且可选地可以确定音频包的捕获时间。可以基于同步时钟测量捕获时间。各种实施例可以在硬件/固件/软件的不同级别对包进行解包。可以通过对音频包进行解包来确定基于同步时钟的时间戳、包的序列号、位速率、暂存时间、余裕时间、其它报头信息以及包括经压缩的音频数据的音频有效载荷。

在方框807处,确定音频有效载荷的暂存时间。暂存时间可以基于同步时钟信号来测量,并且标识视频在其播放或要在其播放的时间或帧。

在方框809处,确定音频有效载荷的余裕时间。余裕时间可以是可以渲染音频有效载荷的暂存时间之前或之后的时间量。在一些实施例中,余裕时间被确定,并且然后在单独的包中被传递(例如,在一系列包的开始、或者周期性地插入到一系列包中)。余裕时间可以是例如20、30、33、46、50、60、66、80、99或100毫秒;0.5、1、1.5、2、2.5或3帧;等等。

在方框811处,进行比较以确定音频包是否在暂存时间加上(或减去)余裕时间内被捕获。如果在方框811处音频包在暂存时间加上余裕时间内被捕获,那么在方框813处音频有效载荷被缓冲(814)和渲染(816)。

如果在方框811处音频包被捕获的时间在暂存时间加余裕时间之后,那么在方框815处可以获得并构造冗余或校正数据。可以在仍然在暂存时间加上或减去余裕时间内的时间决定方框815。例如,可以从先前传送的错误校正包(诸如fec包)获得冗余或校正数据。如果后续的包通过使用曲线拟合技术可用于基于先前的和后续的包中的数据猜测缺失的包数据,那么还可以针对丢掉的包提取校正数据。在方框817处,渲染从冗余或校正数据构造的音频有效载荷。

如果在方框815处在暂存时间加上余裕时间内没有冗余或校正数据可用,那么在方框819处,可以渲染静默或先前包的副本来代替缺失的包。

示例时钟同步处理

图9示出了用于初始化时钟同步的示例方法的示例900过程。图10示出了用于重新同步和校正时钟漂移的示例方法的示例过程100。这些过程可以由本文描述的任何系统实现。图9和10在2013年9月12日提交的标题为“playbacksynchronization”的美国专利no.9,237,324(其全部内容通过引用在此并入)中进行了讨论。

示例方法900可以由具有无线接收器(例如,图2的音频接收器207)的任何媒体设备执行。示例方法900可以作为示例性方法300的方框305的一部分或者在媒体设备之间的定时参数的同步适当的任何时间执行。方法900提供基于单向通信的时钟同步的示例。媒体设备可以将时钟信号作为信标消息以恒定速率(例如,100ms)的时钟“滴答”通过网络重复地传送(“泛洪(flood)”)到音频接收器。由于网络性能的变化,音频接收器可以在变化的时间接收时钟信号。然而,音频接收器可以确定何时以近似恒定的速率接收一组时钟信号(例如,以100ms间隔接收信号)并使用那些定时作为执行进一步统计分析以完善时钟同步的基础。音频接收器可以在不向媒体播放器传送定时信息的情况下做这件事。

示例方法900在方框905处开始并且前进到方框910,在方框910处接收设备在新消息被接收或处理时初始化最小偏移变量“mino”以供在保持运行的最小偏移值时使用。接下来,在方框915中,接收设备从发送设备接收信标消息。然后,在方框920中,接收设备基于由接收设备的时钟当前表示的时间生成时间戳。这样的时间戳可以被称为“接收方时间戳”,“r(x)”。方框915和920之间经过的时间形成将由接收设备计算的时钟偏移值的固定延迟组成的一部分。这样,方法900的各种实现努力减少或最小化在方框920和925之间发生的操作的数量。

在方框925中,接收设备从信标消息提取发送方时间戳“s(x)”。发送方时间戳在信标消息传送前不久由发送方设备插入到信标消息中。在方框930中,接收设备确定发送设备是否是虚拟媒体网络的媒体源。在这样的情况下,方法900前进到方框935。接收设备然后将发送方时间戳从发送设备的时间域转化到虚拟媒体网络的时间域。这样的转化可以涉及加上或减掉先前在两个设备之间协商的偏移。可以根据本领域技术人员已知的任何方法来执行这样的时间域之间的转化和协商。在一些替代实施例中,源设备和媒体节点在同一个时间域中维持时钟。在一些这样的实施例中,不存在方框930、935。

在方框935中将发送方时间戳转化到虚拟媒体网络域中之后或者在方框930中确定发送方不是媒体源之后,方法900前进到方框940,在方框940处接收设备基于发送方时间戳和接收方时间戳计算偏移值,诸如例如两个时间戳之间的差。这个当前偏移值“curo”等同于发送方和接收方时钟之间的真实偏移加上在两个时间戳s(x)和r(x)的创建之间信标消息遇到的任何延迟。如以上所提到的,这个延迟包括两个组成。延迟的第一个组成是与穿越网络的硬件和软件组件所花费的时间相关联的固定延迟,诸如例如与消息行进的电路和数据路径连同消息的传送/接收与相关联的时间戳的生成之间由os所花费的时间相关联的恒定延迟。这样的固定延迟可能已经作为渲染过程的一部分被考虑。延迟的第二个组成是与随时间改变的延迟相关联的可变网络延迟。例如,诸如wi-fi的共享媒体网络可能在传送之前等待媒体清楚,并且这样可能在不同的时间引入不同的延迟。

因为可变延迟仅引入另外的延迟(并且不去除延迟),所以从延迟最少的消息获得真实时钟偏移的更好估计。这样,方法900搜索在信标消息的泛洪期间获得的最小偏移值作为真实偏移的最好可用估计。在方框945中,接收设备将当前偏移curo与先前定位的最小偏移或者如果循环的当前迭代是第一次则与在方框910中初始化的最小偏移值mino进行比较。如果curo小于mino,那么已知curo表示发送方和接收方时钟之间的真实偏移的更接近的估计,并且在方框950中,接收方设备用curo的值重写mino的值。

在方框955中,接收方设备确定发送方设备是否完成了泛洪信标消息。例如,接收方设备可以确定在等待另外的信标消息时是否已发生超时、可以确定发送方设备已开始发送媒体消息、可以确定已接收到预定数量的信标消息、或者可以确定发送设备已传送指示泛洪结束的特殊消息。在各种实施例中,接收方设备确定泛洪是否足以建立偏移的期望精度。例如,接收方设备可以跟踪接收信标消息的间隔,并且基于测量的间隔与已知的时间间隔的比较,可以确定网络是否稳定得足以稳定以产生偏移值的期望精度。如果网络不足够稳定,那么接收设备向发送设备传送指示应当执行另外的泛洪的消息。各种修改将是清楚的。鉴于本文的教导,将清楚的是,可以采用用于确定信标消息泛洪的足够性的这些和其它方法的各种组合。

如果接收设备确定正在或将要执行另外的洪泛,那么方法900从方框955环回到方框915以处理另外的信标消息。否则,方法900前进到方框960,在方框960处接收设备基于所确定的最小偏移来重置本地时钟。例如,接收设备可以从当前时钟值减掉mino,以将本地时钟设置成被估计为更接近发送设备的实际时钟值的新值。在已知或估计网络的固定延迟的一些实施例中,接收设备从当前时钟值减掉mino并且在固定延迟值中加回,以尝试分离计算的偏移值的真实时钟偏移值。在一些实施例中,接收设备根本不更改本地时钟,而是可以维持最小偏移值mino,以供在比较从发送方设备接收的时间戳与本地时钟时使用。例如,接收设备可以在任何这样的比较之前将mino加到时间戳。各种其它修改将是清楚的。方法900然后可以前进以在方框965中结束。方法900完成时的重置时钟可以被视为同步时钟。

在各种替代实施例中,接收设备利用先前建立的下限偏移来帮助确保在洪泛时段期间计算的不合理地大的偏移不用于重置时钟。例如,如果泛洪时段被高可变网络延迟的时段涵盖,那么计算的偏移可能比发送方和接收方时钟之间的偏移的真实值大得多。在一些这样的实施例中,接收器首先将在方框940-950中计算的最小偏移与先前建立的下限偏移进行比较,以确定最小偏移是否大于下限偏移。如果是,那么接收器拒绝基于最小偏移更新时钟,并继续使用先前建立的下限。否则,接收器如方框960中所详述的那样更新时钟,因为最小偏移值小于下限(因此是更好的估计)。

在各种实施例中,接收设备周期性地执行方法900以重新建立同步。在一些这样的实施例中,接收设备将时钟重置为其原始值、删除存储的偏移值、或以其它方式“回滚”基于方法900的先前执行而做出的任何改变,从而在确定时钟偏移时“重新开始”。通过周期性地重新建立时钟偏移,接收设备可以更好地考虑发送设备和接收设备时钟之间的时钟漂移。

鉴于本文的教导,将清楚的是,虽然方法900被描述为在接收到每个信标消息时对它进行处理的实时方法,但是各种替代实施例利用将信标消息作为批进行处理的方法。例如,在一些这样的实施例中,接收设备接收多个信标消息、在接收时对消息加时间戳、并且在稍后的时间按顺序处理接收到的消息以便以与关于方框925-960描述的方式类似的方式定位最小偏移。

将理解的是,虽然前述方法尝试生成两个设备之间的时钟偏移的最好估计。可能的是,在这个初始泛洪时段之后网络状况可能暂时改善,并且可能稍后获得更好的估计。因此,可以在初始定时参数建立之后采用方法来尝试更好地估计时钟偏移。这样的方法还可以解决时钟漂移的可能性,其中晶体、温度或其它参数的差异可能使发送设备时钟和接收设备时钟以稍微不同的速率操作。

图10示出了用于重新同步和校正时钟漂移的示例方法的示例过程100。由于不完美性,系统中的任何设备的本地时钟都可以缓慢地漂移。该示例方法可以用于供接收媒体设备在媒体流传输期间获得更好的回放同步。示例方法1000可以由用作接收媒体设备的任何媒体设备执行。示例方法1000可以作为图3的方框309的一部分或者在媒体设备之间的定时参数的同步适当的任何时间执行。

示例方法1000在方框1005中开始并且前进到方框1010,在方框1010处接收设备从发送设备接收媒体数据包。接下来,在方框1015中,接收设备基于由接收设备的时钟当前表示的时间生成时间戳r(x)。在方框1020中,接收设备从媒体数据消息提取发送方时间戳“s(x)”。发送方时间戳可能在传送前不久已由发送方设备插入到媒体数据消息中。在方框1025中,接收设备确定发送设备是否是虚拟媒体网络的媒体源。在这样的情况下,方法1000前进到方框1030。接收设备然后将发送方时间戳从发送设备的时间域转化到虚拟媒体网络的时间域。这样的转化可以涉及加上或减掉先前在两个设备之间协商的偏移。可以根据本领域技术人员已知的任何方法来执行这样的时间域之间的转化和协商。在一些替代实施例中,源设备和媒体节点在同一个时间域中维持时钟。在一些这样的实施例中,存在方框1020、1030。

在方框1030中将发送方时间戳转化到虚拟媒体网络域中之后或者在方框1025中确定发送方不是媒体源之后,方法1000前进到方框1035,在方框1035处接收设备基于发送方时间戳和接收方时间戳计算偏移值,诸如例如两个时间戳之间的差。在发送方时间戳已被转化的情况下,经转化的时间戳在计算偏移时被使用。这个偏移值“o”等同于发送方和接收方时钟之间的真实偏移加上在两个时间戳s(x)和r(x)的创建之间媒体数据消息遇到的任何延迟,该延迟包括固定延迟和可变延迟两者。在方框1040中,接收设备确定偏移值是否比先前所利用的表示更好的时钟之间的偏移的估计。例如,在先前确定的最小偏移用于重置接收设备的时钟的各种实施例中,接收设备确定当前偏移o是否小于零。关于这个比较的肯定结果指示先前使用的最小偏移可能已融入了一些可变网络延迟,并且将其从本地时钟减掉“超越”了理想设置点,从而在发送方的时钟后面设置本地时钟。通过融入比先前使用的最小值少的(或零)可变延迟,当前偏移o可以通过为负数来展现该超越。在这样的情况下,当前偏移o将被判断以展现真实时钟偏移的新的最好估计,并且在方框1045中,可以被用于再次重置本地时钟,从而至少部分地校正先前的超越。用于其它实施例的各种修改将是清楚的。例如,在先前确定的最小偏移不被用于修改本地时钟并且相反地被持久用于时间戳比较的实施例中,方框1040确定当前偏移o是否小于先前的最小偏移mino,并且如果是,那么在方框1045中接收设备将mino设置为等于o。各种其它修改将是清楚的。

在各种替代实施例中,接收设备利用先前建立的下限偏移来帮助确保在洪泛时段期间计算的不合理地大的偏移不用于重置时钟。在一些这样的实施例中,接收器首先将在方框1035中计算的偏移与先前建立的下限偏移进行比较,以确定该偏移是否比下限偏移表示更好的真实偏移的估计。如果是,那么接收器拒绝基于最小偏移更新时钟,并继续使用先前建立的下限。否则,接收器如方框1045中所详述的那样更新时钟,因为偏移值是比下限更好的估计。

在方框1050中,接收设备继续处理接收到的媒体包,以例如在适当的时间渲染媒体输出。例如,接收设备可以从媒体数据包提取或计算与发送方时间戳和接收方时间戳分开的呈现时间。这样的呈现时间指示消息所携载的媒体数据应当被渲染的时间。在提取呈现时间之后,接收设备使媒体数据在与呈现时间匹配的时间被渲染。例如,接收设备可以缓冲媒体数据以供本地回放设备回放,或者可以将消息转发到另一个媒体节点以供回放。将理解的是,“匹配”呈现时间的当前时间可以涵盖当前时间与呈现时间戳之间的等同,但是也可以涵盖其它形式的匹配。例如,在各种实施例中,当当前时间减去持久的最小偏移值等于呈现时间戳时,当前时间匹配。另外地或替代地,对于匹配的比较加上、减掉或以其它方式考虑固定延迟值。用于基于本地时钟、呈现时间戳和其它可能可用的值来确定用于回放的适当时间的各种其它方法将是清楚的。此外,当前时间基于最小偏移值匹配呈现时间的概念将被理解为涵盖利用先前已通过最小偏移值修改但是没有明确地考虑最小偏移值的本地时钟的比较。各种实施例在输出之前立即执行这样的比较,以确保在适当的时间输出数据。其它实施例使用这样的比较来将媒体数据在媒体在呈现时间可能被回放的位置处插入到回放缓冲器中。这样的插入可以涉及在插入媒体数据之前插入“虚设”数据以调整回放的定时。控制缓冲器中的数据的回放定时的各种另外的方法将是清楚的。

另外的实施例

如图1中所示,电话105可以通过无线扬声器141或通过有线耳机153输出音频。与无线扬声器相比,通过有线耳机可以更快地渲染音频。因此,在音频同步期间可以考虑渲染时间的这种变化。例如,在确定性模式中,如果通过无线扬声器141的渲染和传送花费25ms,那么电话1105可以在暂存时间前25ms将数据传送到无线扬声器。在另一个示例中,在确定性模式中,如果通过无线扬声器的渲染和传送花费可变的25-50ms,那么电话1可以实现确定性模式,使得电话在音频被安排播放之前至少50ms将音频传送到无线扬声器,并且还传送指示何时应当播放音频的延迟时间。无线扬声器可以接收音频并将它缓冲直到延迟时间结束,并且然后播放音频。

在一些实施例中,在最后渲染音频之前,音频可以被传递通过经由网络进行通信的多个中间设备。对于通过网络的传送的每个中间步骤,发送设备和接收设备可以执行上述方法,使得最后的音频渲染将与视频回放同步。

一个方面的特征在于一种用于音频播放器和视频播放器之间的多模式同步媒体回放的方法,该方法包括识别连接到无线网络的视频播放器和连接到无线网络的音频播放器;在视频播放器和音频播放器之间同步时钟信号;作为音频同步模式,确定确定性模式或半等时模式;接收音频包;对音频包进行解包以提取:时间戳和音频有效载荷;确定通过同步时钟信号测量的音频包的接收时间;以及根据音频同步模式渲染音频输出。

在一些实施例中,音频同步模式是确定性模式,并且该方法还包括至少部分地基于时间戳确定通过同步时钟信号测量的预期回放时间;缓冲音频有效载荷直到预期回放时间;以及在回放时间渲染音频有效载荷。

在一些实施例中,音频同步模式是确定性模式,并且该方法还包括至少部分地基于时间戳确定通过同步时钟信号测量的预期回放时间;确定音频有效载荷到预期回放时间将不可用;以及在预期回放时间渲染填充(filler)包。

在一些实施例中,音频同步模式是确定性模式,并且该方法还包括:至少部分地基于时间戳确定通过同步时钟信号测量的预期回放时间;确定音频有效载荷到预期回放时间将不可用;从错误校正数据构造音频有效载荷;以及在预期回放时间渲染音频有效载荷。

在一些实施例中,音频同步模式是半等时模式,并且该方法还包括使用同步时钟信号确定接收音频包的时间;至少部分地基于时间戳确定预期回放时间;以及响应于确定预期回放时间尚未经过而渲染音频有效载荷。该方法还可以包括确定预期回放时间包括将余裕时间加到暂存时间,该暂存时间是时间戳。

在一些实施例中,音频同步模式是半等时模式,并且该方法还包括使用同步时钟信号确定接收音频包的时间;至少部分地基于时间戳确定预期回放时间;以及响应于确定预期回放时间已经过而渲染填充包。

在一些实施例中,音频同步模式是半等时模式,并且该方法还包括使用同步时钟信号确定接收音频包的时间;至少部分地基于时间戳确定预期回放时间;从错误校正数据构造音频有效载荷;以及响应于确定预期回放时间已经过而渲染所构造的音频有效载荷。

在一些实施例中,该方法还包括测试无线网络以确定网络的稳定性和网络的带宽,并且至少部分地基于网络的稳定性和网络的带宽来确定音频同步模式。在一些实施例中,该方法还包括通过重新同步时钟信号来校正时钟信号的漂移。

在一些实施例中,使用从视频播放器到音频播放器的单向通信来执行在视频播放器和音频播放器之间同步时钟信号。

术语

在上述实施例中,结合特定实施例描述了用于视频和音频的多模式同步渲染的装置、系统和方法。然而,将理解的是,实施例的原理和优点可以用于跨网络设备的任何其它系统、装置或方法,以改善视频和音频的同步。虽然参考电话、智能电视或其它特定设备描述了某些实施例,但是将理解的是,本文描述的原理和优点可以应用于各种设备。虽然可以参考特定的无线协议或网络来描述一些公开的实施例,但是将理解的是,本文的原理和优点可以应用于各种网络和协议。而且,虽然出于说明性目的提供了一些等式和定时,但是可以替代地实现其它类似的等式或定时,以实现本文描述的功能。

本文描述的原理和优点可以在各种设备中实现。此类设备的示例可以包括但不限于消费电子产品、消费电子产品的组件、电子测试装备等。电子设备的组件还可以包括存储器芯片、存储器模块、光学网络电路或其它通信网络,以及驱动电路。具有音频或视频能力的网络中的设备的其它示例可以包括移动电话(例如,智能电话)、医疗保健监视设备、诸如汽车电子系统的车载电子系统、电话、电视、计算机监视器、计算机、手提计算机、平板计算机、笔记本计算机、个人数字助理(pda)、微波炉、冰箱、立体声系统、盒式录音机或播放器、dvd播放机、cd播放机、数码录像机(dvr)、录像机、mp3播放器、收音机、便携式相机、相机、数码相机、便携式存储芯片、复印机、传真机、扫描仪、多功能外围设备、腕表、钟表等。另外,装置可以包括未完成的产品。

除非上下文明确要求,否则在整个说明书和权利要求书中,词“包括”、“包含”等应在包含性的意义上来解释,而不是在独特或详尽的意义上;即,这些词应当被解释为“包括但不限于”。如本文一般使用的,词“耦合”或“连接”是指可以直接连接或通过一个或多个中间元件连接的两个或更多个元件。此外,当在本申请中使用时,词“本文”、“上面”、“下面”和类似含义的词应当指本申请的整体而不是本申请的任何特定部分。在上下文允许的情况下,具体实施方式中使用单数或复数的词也可以分别包括复数或单数。在对于两个或更多个项的列表的引用中的词语“或”旨在覆盖对该词的所有以下解释:列表中的任何项、列表中的全部项,以及列表中的项的任意组合。本文提供的所有数值旨在包括测量误差内的类似值。

而且,本文使用的条件语言,诸如“可以”、“可能”、“例如”、“诸如”等,除非另有具体说明或者在所使用的上下文中以其它方式理解,否则一般旨在传达某些实施例包括,而其它实施例不包括,某些特征、元素和/或状态。

本文提供的本发明的教导可以应用于其它系统,不一定是上面描述的系统。上述各种实施例的元素和动作可以组合,以提供进一步的实施例。在上述方法的实施例的变型中,一些方框可以被省略、重新排序、无序或按顺序或并行执行。

虽然已经描述了本发明的某些实施例,但是这些实施例仅作为示例呈现,并且不旨在限制本公开的范围。实际上,本文描述的新颖方法和系统可以以各种其它形式实施。此外,在不脱离本公开的精神的情况下,可以对本文描述的方法和系统的形式进行各种省略、替换和改变。所附权利要求及其等同物旨在覆盖落入本公开的范围和精神内的这些形式或修改。本文描述的系统和方法的各种示例可以包括许多优点,其中没有单个优点限定本发明。相反,本发明由权利要求限定。

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