用于电子设备的渲染的制作方法

文档序号:33498152发布日期:2023-03-17 21:29阅读:28来源:国知局
用于电子设备的渲染的制作方法
用于电子设备的渲染
1.相关申请的交叉引用
2.本技术要求于2021年9月13日提交的题为“rendering for electronic devices”的美国临时专利申请号63/243,693的优先权的权益,其公开内容在此全部并入本文。
技术领域
3.本说明书整体涉及电子设备,包括例如用于电子设备的渲染。


背景技术:

4.电子设备通常包括要使用电子设备的显示器来显示的多个内容源。
附图说明
5.本主题技术的一些特征在所附权利要求书中被示出。然而,出于解释的目的,在以下图中阐述了本主题技术的若干具体实施。
6.图1示出了根据一个或多个具体实施的包括可实现本主题系统的各种电子设备的示例性系统架构。
7.图2示出了可实施本主题技术的各方面的示例性计算设备的示意图。
8.图3示出了根据一个或多个具体实施的显示多个动画的计算设备的示例。
9.图4示出了根据一个或多个具体实施的示出以多个帧速率为具有原始刷新率的显示器渲染多个动画的方面的时序图。
10.图5示出了根据一个或多个具体实施的示出以帧速率为具有比图4的原始刷新率更高的原始刷新率的显示器渲染动画的方面的时序图。
11.图6示出了根据一个或多个具体实施的示出以另一帧速率为图5的显示器渲染动画的方面的时序图。
12.图7示出了示出以不兼容的帧速率渲染多个动画的方面的时序图。
13.图8示出了可实施本主题技术的各方面的另一示例性计算设备的示意图。
14.图9示出了可包括在可实施本主题技术的各方面的计算设备中的附加特征的示意图。
15.图10示出了示出立即帧速率转变的方面的时序图。
16.图11a和图11b示出了示出可在帧速率转变之前和之后发生的相位偏移的方面的时序图。
17.图12a至图12h示出了根据一个或多个具体实施的示出使用帧速率仲裁实现的电子设备显示多个动画的操作的时序图。
18.图13示出了根据本主题技术的各方面的用于操作电子设备来显示多个动画的示例性过程的流程图。
19.图14示出了可用以实施本主题技术的各方面的示例性计算设备。
具体实施方式
20.下面示出的具体实施方式旨在作为本主题技术的各种配置的描述并且不旨在表示主题技术可被实践的唯一配置。附图被并入本文并且构成具体实施方式的一部分。具体实施方式包括具体的细节旨在提供对本主题技术的透彻理解。然而,主题技术不限于本文所述的具体细节,并且可使用一个或多个其他具体实施来实践。在一个或多个具体实施中,以框图形式示出了结构和部件,以便避免使本主题技术的概念模糊。
21.本文所述的本主题技术的具体实施提供了来自多个动画源的多个动画的同时显示,包括在该多个动画源具有不同优选帧速率和/或其他帧速率约束的情况下的同时显示。在一个或多个具体实施中,本主题技术有助于增加设备显示器的可变显示帧速率的使用,这可降低显示器的功率消耗。在一个或多个具体实施中,提供了帧速率仲裁系统和方法,其中一个或多个动画源向系统进程提供帧速率参数,该系统进程确定用于渲染显示帧的全局帧速率,并且该系统进程向该一个或多个动画源通知该全局帧速率。然后,动画源可以全局帧速率或与该全局帧速率兼容的另一帧速率提供帧。
22.图1示出了根据一个或多个具体实施的包括可实现本主题系统的各种电子设备的示例性系统架构100。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件或更少的部件。
23.系统架构100包括电子设备104、电子设备105、电子设备110、电子设备115和服务器120。出于解释的目的,系统架构100在图1中被示出为包括电子设备104、电子设备105、电子设备110、电子设备115和服务器120;然而,系统架构100可包括任何数量的电子设备和任何数量的服务器。
24.电子设备104、电子设备105和电子设备110中的任一者或全部可被实施为包括能够(例如,向用户101)显示经渲染的显示帧的显示系统的智能电话、平板设备、另一便携式电子设备和/或可穿戴设备(诸如,智能手表或其他可穿戴设备)。电子设备104、电子设备105和电子设备110中的任一者或全部可用电池和/或任何其他电源供电。
25.在一些示例中,电子设备104、电子设备105和电子设备110中的任一者或全部可显示经渲染的显示帧,这些经渲染的显示帧可包括一个或多个动画和/或静态内容。静态内容可包括在多个显示帧和/或人类可感知时间段(诸如,大于一秒或零点几秒的时间段或更长时间段诸如长达或长于一分钟的时间段)内在显示器上不改变的内容。动画可包括在一系列显示帧和/或人类可感知时间段内在显示器上改变的内容,诸如在一秒、零点几秒、若干秒和/或更长时间段(诸如,数秒、数小时或数天)内连续地、偶尔地或周期性地改变的内容。在一个或多个具体实施中,所显示的动画和/或静态内容可由用户感知并以实时方式交互。除此之外,电子设备104、电子设备105和电子设备110可向用户输出声音和/或触觉或触感反馈。如下文进一步详细讨论的,经渲染的显示帧可以全局帧速率提供给显示器,该全局帧速率是使用帧速率仲裁过程来确定的,该帧速率仲裁过程基于由动画包括在所显示帧中的一个或多个动画源提供的帧速率参数。
26.网络106可将例如电子设备105、电子设备110和/或电子设备115与服务器120和/或一个或多个其他用户的一个或多个电子设备通信地(直接或间接)耦接。在一个或多个具
体实施中,网络106可以是可包括互联网或可通信地耦接到互联网的设备的互连网络。
27.电子设备104、电子设备105和/或电子设备110中的任一者或全部可包括触摸屏或其他触敏表面,该触摸屏或其他触敏表面包括被配置为从触控笔、用户的手指或其他输入设备感测触摸事件的触摸传感器元件。电子设备104、电子设备105和电子设备110中的任一者或全部可以是例如包括触摸屏或其他触敏表面的智能电话、包括触摸屏或其他触敏表面的便携式计算设备(诸如,膝上型计算机)、包括触摸屏或其他触敏表面的外围设备(例如,数字相机、耳机)、包括触摸屏或其他触敏表面的平板设备、包括触摸屏或其他触敏表面的可穿戴设备(诸如,手表、腕带等)、包括例如触摸屏或其他触敏表面的任何其他适当设备,或具有触摸板的任何电子设备。在一个或多个具体实施中,电子设备104、电子设备105和/或电子设备110可不包括触摸屏,但可支持像有触摸屏时那样的输入手势。在图1中,举例来说,电子设备110和电子设备104被描绘为具有触摸屏的移动智能电话设备,并且电子设备105被描绘为平板设备。在一个或多个具体实施中,电子设备104、电子设备105、电子设备110、电子设备115和/或电子设备105可为并且/或者可包括下文相对于图14讨论的电子系统的全部或一部分。在一个或多个具体实施中,电子设备104、电子设备105和/或电子设备110可为或包括另一设备,诸如互联网协议(ip)相机、平板电脑或外围设备诸如电子触控笔等。
28.电子设备115可为例如台式计算机、便携式计算设备诸如膝上型计算机、智能电话、外围设备(例如,数字相机、耳机)、平板设备、可穿戴设备诸如手表、腕带等。在图1中,通过举例的方式,电子设备115被描绘为台式计算机。电子设备115可为并且/或者可包括下文相对于图14讨论的电子系统的全部或一部分,并且/或者可实施如本文所述的帧仲裁过程。
29.服务器120可形成计算机网络或服务器组130的全部或部分,诸如在云计算或数据中心实施中。例如,服务器120存储数据和软件,并且包括用于渲染和生成扩展现实环境的内容诸如图形、图像、视频、音频和多媒体文件的特定硬件(例如,处理器、图形处理器和其他专用或定制处理器)。在一个具体实施中,服务器120可用作云存储服务器,该云存储服务器存储由上述设备和/或服务器120生成的任何前述扩展现实内容。
30.图2示出了根据本主题技术的一个或多个具体实施的可由电子设备105实施的示例性架构。出于解释的目的,图2的架构的部分被描述为由图1的电子设备105实施,诸如由电子设备的处理器和/或存储器实施;然而,架构的适当部分可由任何其他电子设备实施,包括电子设备104、电子设备110、电子设备115和/或服务器120。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件或更少的部件。
31.图2的架构的各个部分可在软件或硬件中实施,包括通过一个或多个处理器和包含指令的存储器设备来实施,这些指令当由处理器执行时使得该处理器执行本文所述的操作。
32.在图2的示例中,一个或多个内容源(诸如,应用程序202和/或系统进程204)可各自向渲染服务223提供内容。如图所示,内容源可向渲染服务提供静态内容和/或动画内容。如图所示,渲染服务223可生成经渲染的显示帧以用于由显示器225显示,这些经渲染的显示帧包括来自内容源的内容中的一些或全部。如图所示,显示器225可输出所显示帧(例如,
通过操作显示器像素阵列来显示每个经渲染的显示帧的帧像素)。
33.一个或多个应用程序诸如应用程序202和/或一个或多个系统进程诸如系统进程204可各自提供包括用于由显示器显示的一个或多个动画的动画内容。在一些使用案例中,可提供来自多个动画源的多个动画(例如,来自应用程序的多个动画、来自多个动画的一个动画、来自系统进程的多个动画和/或来自多个系统进程的一个动画)以用于由显示器225同时显示。
34.例如,图3示出了其中电子设备105被实施为智能电话或平板设备并且电子设备的显示器225显示包括静态内容和多个同时动画的主屏幕的使用案例。在该示例中,当(例如,来自输入源诸如由箭头321指示的触控笔308的)用户输入已引起图标310在由箭头323指示的方向上的滚动动画(例如,从设备的一个主屏幕到该设备的下一个主屏幕的滚动动作)时,显示器225同时显示背景312、多个图标310(例如,应用程序图标)、电池指示符300、进程指示符304、按钮按下指示符诸如由于按下音量按钮309而产生的音量指示符306,以及信号强度指示符302。
35.在该示例中,背景312是来自系统进程诸如系统进程204的静态内容。在该示例中,电池指示符300、信号强度指示符302、音量指示符306和图标310的滚动动画是来自系统进程204的动画。在该示例中,进程指示符304是来自应用程序202的动画。图3的滚动动画仅是例示性的,并且可提供其他滚动动画,诸如当系统进程或应用程序的用户界面(ui)显示竖直或水平可滚动列表(例如,在下拉菜单中)并且用户输入轻扫或其他输入以引起列表的滚动时。
36.动画源中的每个动画源(例如,系统进程204和应用程序202)可具有限制和/或偏好,该源可按这些限制和/或偏好生成相应动画。例如,特定动画源可具有用于特定动画的优选帧速率、用于特定动画的最小帧速率和/或用于特定动画的最大帧速率。例如,用于特定动画的优选帧速率可以是动画在显示器225上具有最佳外观的帧速率,用于特定动画的最小帧速率可以是在低于该帧速率时可能可在显示器上感知到光学伪影(诸如,毛刺或模糊)的帧速率,并且用于特定动画的最大帧速率可以是动画源能够生成特定动画的帧(例如,由于被执行以生成帧的其他处理操作所使用的时间)的最大帧速率。在滚动动画的示例中,根据滚动输入的速度,可使用比人眼可在低刷新率和高刷新率之间区分的速率更快的帧速率。因为滚动动画可以不同的滚动速度(例如,基于输入轻扫或手势的速度)发生,并且/或者可随时间而减慢以模拟物理滚动,所以滚动动画源可通过以下操作来确定在滚动期间在给定时间的优选帧速率、最小帧速率和/或最大帧速率:接收滚动输入并将该滚动输入应用于模型(例如,人类感知模型)以获得帧速率参数。例如,滚动动画可获得滚动输入的速度,并且从人类感知模型提取与该滚动输入对应的帧速率作为优选帧速率或最小帧速率。例如,人类感知模型可将滚动速度映射到最小帧速率,在低于该最小帧速率时,帧转变将被典型的人类感知到。
37.此外,显示器225本身可具有原始刷新率。例如,显示器225的原始刷新率可以是(例如,响应于垂直同步(vsync)信号)显示器的像素周期性地刷新的速率,并且可由显示器制造商或设备制造商确定。在各种具体实施中,显示器225的原始刷新率可以是50赫兹(hz)、60hz、120hz、240hz或高于240hz。在一个或多个具体实施中,图3中所示的多个动画可以与显示器的原始刷新率兼容(例如,是该原始刷新率的偶数因子)的帧速率生成。
38.然而,要求仅以原始刷新率的偶数因子生成动画可能导致以对于动画质量和/或其他源偏好或设置而言不期望的帧速率生成动画,并且还可能导致设备功率的使用效率低下。例如,显示器的刷新率可与显示器的功率消耗基本上成比例;刷新率越高,显示器将消耗的功率越多。因此,可能期望能够调整显示器的刷新率。然而,当多个动画源提供多个动画以用于显示时修改显示器的刷新率可能导致帧速率不兼容,这会导致可能不期望的可见伪影。
39.例如,在一个或多个具体实施(诸如,其中显示器具有固定的原始刷新率的具体实施)中,显示器可具有x hz的原始刷新率,并且帧可以任何1/x秒心跳间隔(heartbeat)呈现,并且可在显示器上保持至少1/x秒。在该示例中,对于是x的因子的所有y,动画可以y hz流畅地运行。例如,60的因子是{1、2、3、4、5、6、10、12、15、20、30、60}。因此,在60hz原始刷新率显示器上,动画可通过每隔一个60hz帧跳过一次来以30hz的帧速率运行,通过每隔两个60hz帧跳过一次来以20hz的帧速率运行,等等。在该示例中,具有不同帧速率y的动画可在不引起毛刺的情况下共存,其中y是x的因子。
40.例如,图4示出了具有1/60hz心跳间隔的60hz原始刷新率显示器的时序图,其中第一动画设置有20hz帧速率,第二动画以60hz帧速率兼容地提供,并且显示帧被兼容地渲染(例如,通过渲染服务223)以用于以各种显示心跳间隔显示。
41.在一个或多个具体实施中,显示器诸如可变刷新率显示器可具有以任何1/x秒心跳间隔呈现帧并且可将呈现的帧在显示器上保持至少两个心跳间隔的能力。在这种具体实施中,由于显示器的有效最大帧速率对应于为两个心跳间隔的间隔(例如,2/x秒),所以显示器在本文中可被称为x/2hz原始刷新率显示(例如,即使在一个或多个具体实施中,显示器的当前刷新率可以是可从原始(最大)刷新率变化的或改变的,诸如改变为x/3hz、x/4hz、x/5hz、x/6hz或x/8hz的刷新率)。
42.例如,图5示出了具有1/240hz(4.17ms)心跳间隔的120hz原始刷新率显示器(例如,可变刷新率显示器)的时序图,其中120hz动画被提供并被渲染以用于以120hz的速率显示。在图5的示例中,显示帧可以任何心跳间隔呈现并且可在显示器上保持至少两个心跳间隔。换句话说,在该示例中,帧可以任何4.17ms心跳间隔呈现并且可在显示器上保持8.33ms。因此,在图5的示例中,最高帧速率为120hz。在一个或多个具体实施中,可通过每隔几个心跳间隔呈现一次帧来实现更低帧速率,例如,可每隔四个心跳间隔(例如,在该示例中,为16.67ms)呈现一次60hz帧,可每隔六个心跳间隔(例如,每隔25ms)呈现一次40hz帧,等等。在这些示例中,帧速率是120的所有因子(其具有偶数数量的心跳间隔),并且在一些示例中,可被称为“偶数定量(even-quanta)”帧速率。
43.该示例的120hz原始刷新率显示器允许“奇数定量”帧速率(例如,每隔三个心跳间隔或五个心跳间隔呈现一次帧的80hz帧速率或48hz帧速率),并且此类“奇数定量”帧速率在显示外观和功率消耗方面可以是有益的。例如,当在60hz帧速率和120hz帧速率之间转变时,80hz(参见例如图6)可用作中间帧速率(或反之亦然)。在帧速率转变期间使用中间帧速率可有助于在帧速率转变期间在显示器上的动画的可见外观。作为另一示例,有时可使用48hz帧速率和80hz帧速率分别代替60hz帧速率和120hz帧速率,以实现类似显示质量而功率消耗降低。例如,可在以60hz显示的滚动动画的结尾附近使用48hz帧速率,从而减速,以降低功率消耗而不影响该滚动动画的屏幕上质量。因此,48hz帧速率和80hz帧速率可不仅
提供视觉质量优势,而且还提供了节省电力以使得更多高可见度使用案例能够以120hz运行的机会。
44.然而,“奇数定量”帧速率不仅彼此不兼容,而且还与“偶数定量”帧速率不兼容。帧速率的不兼容性会在同时显示动画时导致帧毛刺和不均匀帧节奏,这可能降低用户体验并盖过上文所述的这些“奇数定量”帧速率的益处。例如,图7示出了在具有4.17ms(即,1/240hz)心跳间隔的120hz原始帧速率显示器上的同时存在的120hz和80hz动画的示例性时序图。
45.在图7的示例中,每当动画需要评估时,应在该特定时间产生帧。然而,在时间702,无法针对80hz动画渲染帧,因为在时间700之前,显示器已刚好以4.17ms间隔显示了帧。因此,在该示例中,仅当在时间704显示帧时,80hz动画才会引起显示器上的视觉更新,这导致长-短-长-短的抖动节奏,而不是流畅的80hz动画。
46.根据一个或多个具体实施,可执行帧速率仲裁操作来提供所有动画源的帧速率兼容性。帧速率仲裁可有助于保持在不同帧速率之间的转变中的确定性行为。本文所述的帧速率仲裁操作可有助于使“奇数定量(odd-quanta)”帧速率在显示器诸如显示器225(例如,具有1/240hz心跳间隔的120hz原始帧速率显示器)上可用,而不会引发可能降低用户视觉体验的视觉毛刺。
47.图8示出了根据本主题技术的一个或多个具体实施的可由电子设备105实施的具有帧速率仲裁器的示例性架构。出于解释的目的,图8的架构被描述为由图1的电子设备105实施,诸如由电子设备的处理器和/或存储器实施;然而,架构可由任何其他电子设备实施,包括电子设备104、电子设备110、电子设备115和/或服务器120。然而,并非所有所描绘的部件均可在所有具体实施中使用,并且一个或多个具体实施可包括与图中所示的那些相比附加的或不同的部件。可进行这些部件的布置和类型的变化,而不脱离本文所列出的权利要求的实质或范围。可提供附加的部件、不同的部件或更少的部件。
48.图8的架构的各个部分可在软件或硬件中实施,包括通过一个或多个处理器和包含指令的存储器设备来实施,这些指令当由处理器执行时使得该处理器执行本文所述的操作。在图8的示例中,电子设备105包括帧速率仲裁器800。在图8的示例中,帧速率仲裁器800被示出为与渲染服务223分开的实体。然而,帧速率仲裁器800可被提供作为渲染服务223的元件。
49.如图8所示,动画源(诸如,应用程序202和系统进程204)可向帧速率仲裁器800提供帧速率参数。帧速率仲裁器800可基于动画源的帧速率参数来确定全局帧速率,并且向这些动画源告知该全局帧速率。在一个或多个具体实施中,帧速率仲裁器800还可向渲染服务223告知全局帧速率。在一个或多个具体实施中,渲染服务223可渲染显示帧并以全局帧速率向显示器225提供经渲染的显示帧。在一个或多个具体实施中,帧速率仲裁器800还可向显示器225告知全局帧速率。在一个或多个具体实施中,显示器225可修改显示器的刷新率以与来自帧速率仲裁器800的全局帧速率匹配。
50.每个动画的帧速率参数可包括例如最小帧速率、最大帧速率和/或优选帧速率。最小帧速率和最大帧速率可限定动画源的帧速率范围。在已向动画源告知全局帧速率之后,动画源可以全局帧速率和/或以为该全局帧速率的因子(例如,偶数定量因子)的兼容帧速率向渲染服务223提供内容(例如,帧和/或用于生成帧的内容)。例如,对于120hz的全局帧
速率,一个或多个动画源可提供60hz显示帧或30hz显示帧,而不是以120hz的全局帧速率提供帧。然而,当全局帧速率为120hz时,可能不允许动画源提供奇数定量因子,诸如80hz帧,即使80hz是第二动画源的优选帧速率。
51.在一个或多个具体实施中,动画源(例如,应用程序202、系统进程204和/或渲染服务223的一个或多个过程)可向帧速率仲裁器800注册、更新和/或注销帧速率参数(例如,包括帧速率范围)。帧速率仲裁器800可记录已注册和/或修改的帧速率参数,并且基于所有活动帧速率参数注册项,帧速率仲裁器800可确定渲染服务223将生成经渲染的显示帧的全局帧速率。然后,动画源可从帧速率仲裁器800接收全局帧速率,并且适合与全局帧速率兼容的帧速率。
52.动画源可以是依赖于来自渲染服务223的用于生成动画内容的定时信息的客户端驱动的源(例如,应用程序202和/或系统进程204)或由渲染服务223本身拥有的动画源。例如,客户端驱动的动画源可能需要源(例如,应用程序202)在由渲染服务223指示的每个时间步骤评估其动画的状态,并且在该时间步骤提交动画的任何改变,而由渲染服务223拥有的动画源完全由该渲染服务管理。
53.在一个或多个具体实施中,应用程序源的帧速率参数可由动画源的开发者确定,并且可以是固定参数。在一个或多个其他具体实施中,还可在客户端侧源处执行帧速率仲裁过程,以确定该源的帧速率参数。例如,图9示出了其中图8的帧速率仲裁器800被实施为还包括动画源910的渲染服务223的过程并且其中提供了用于应用程序202和系统进程921(例如,系统进程204中的系统进程)的附加帧速率仲裁器907的示例。
54.在该示例中,应用程序202的帧速率仲裁器907基于由应用程序202生成的一个或多个动画的定时信息908来计算帧速率参数900(例如,帧速率范围、最小帧速率、最大帧速率和/或优选帧速率)。在一个或多个具体实施中,动画源的优选帧速率可与最小帧速率相同,与最大帧速率相同,并且/或者为在该动画的最小帧速率和最大帧速率之间(例如,在帧速率范围内)的帧速率。如图9所示,应用程序202然后可向帧速率仲裁器800注册、更新和/或注销帧速率参数900。
55.在图9的示例中,系统进程921的帧速率仲裁器907还基于由系统进程921生成的一个或多个动画的定时信息906来计算帧速率参数902(例如,帧速率范围、最小帧速率、最大帧速率和/或优选帧速率)。如图9所示,系统进程921然后可向帧速率仲裁器800注册、更新和/或注销帧速率参数902。
56.在图9的示例中,由渲染服务223拥有的动画源910提供描述渲染服务223如何渲染内容的层树911。在该示例中,每当渲染服务223正在准备渲染时遍历层树时,可累积层树911的一个或多个层912处的活动动画“a”,并且渲染服务的附加帧速率仲裁器907可基于帧速率偏好和/或各个活动动画“a”的动画特性(例如,动画特征的移动边缘的速度)来生成帧速率参数904(例如,帧速率范围、最小帧速率、最大帧速率和/或优选帧速率)。
57.如图9所指示的,帧速率仲裁器800可记录来自一个或多个动画源的帧速率参数(例如,包括来自应用程序202的帧速率参数900、来自系统进程921的帧速率参数902和来自渲染服务223的动画源910的帧速率参数904)。记录的帧速率参数可由帧速率仲裁器800(例如,由渲染服务223)存储并用于确定全局帧速率。在接收到来自任何动画源的任何记录的帧速率参数的变化时,帧速率仲裁器800可计算对全局帧速率的更新,如下文(例如,结合图
12a至图12h)进一步详细描述的。
58.在一个或多个具体实施中,作为用于根据帧速率参数900、帧速率参数902和帧速率参数904确定全局帧速率的过程的一部分,帧速率仲裁器800可将每个动画源的记录的帧速率参数转换为帧间隔参数。帧间隔参数可依赖于硬件。例如,对于120hz显示器,可将120hz的帧速率转换为2的帧间隔,每个显示帧在该显示器上保持两个心跳间隔。在一个或多个具体实施中,可获得帧间隔范围(例如,在与最小帧速率对应的最大帧间隔和与最大帧速率对应的最小帧间隔之间的范围)。在一个或多个具体实施中,帧速率仲裁器800可扩大帧间隔范围(例如,通过扩展范围以适应独立于动画源的其他设备和/或显示器设置或要求)。
59.在一个或多个具体实施中,帧速率仲裁器800可对各种动画源的帧间隔范围进行分类。在一个或多个具体实施中,帧速率仲裁器800可执行(例如,已分类的)帧间隔范围的相交,直到相交操作中的下一次相交将引起空白范围。在一个或多个具体实施中,帧速率仲裁器800可从由相交操作产生的帧间隔范围(例如,产生空白范围的相交操作之前的最后一个范围)内选择最小帧间隔作为全局帧间隔,该最小帧间隔与和记录的帧速率参数中的一个记录的帧速率参数对应的优选帧间隔匹配。在动画源都不提供优选帧速率(并且相应地,优选间隔)并且/或者在优选间隔都不在该范围内的情况下,如果设备优选的间隔在由相交产生的范围内或以下,则帧速率仲裁器可选择设备优选的帧间隔(例如,在一些具体实施中,与60hz帧速率对应的为4的间隔)作为全局帧间隔。如果设备优选的帧间隔未落入由相交产生的帧间隔范围内,并且设备优选的帧速率大于该范围内的最高间隔,则帧速率仲裁器800可选择该帧间隔范围内的最大间隔作为全局帧间隔。在一个或多个其他具体实施中,帧速率仲裁器800可选择帧间隔范围内的该最大间隔和为5的间隔(在一些具体实施中,对应于48hz帧速率)中的更小者作为全局帧间隔。
60.在一个或多个具体实施中,全局帧间隔可(例如,经由只读共享存储器)由帧速率仲裁器800与所有动画源共享(例如,并且/或者转换为全局帧速率并由该帧速率仲裁器与所有动画源共享)。一旦已分配全局帧速率,客户端驱动的动画源就可在应用程序被调度为运行的即将到来的vsync中将其帧速率更新为兼容帧速率。
61.由动画源进行的该更新可根据动画源是否已指定优选帧速率来不同地执行。例如,当动画源接收到全局帧速率时,如果优选帧速率被指定用于该动画源,则动画源所选择的兼容帧速率可以是小于全局帧速率、在动画源的帧速率范围内(例如,在最小帧速率和最大帧速率之间)并且最接近优选帧速率的帧速率。在动画源不具有优选帧速率的情况下,动画源所选择的兼容帧速率可以是小于全局帧速率、在动画源的帧速率范围内(例如,在最小帧速率和最大帧速率之间)并且最接近全局帧速率的帧速率。在一个或多个具体实施中,当层树遍历在每次渲染之前完成时,可以相同方式更新服务器侧动画源,诸如向渲染服务223提供层树911的动画源910。
62.在一个或多个具体实施中,帧速率仲裁可由帧速率仲裁器800在任何时间点执行。然而,动画源仅当其在调度的vsync时间被唤醒时才可更新。因此,在不将系统暴露于例如竞态条件的情况下,整个系统可能无法瞬时转变为不同的帧速率。例如,在其中所有动画源以60hz操作并且已开始处理要以16.67ms间隔提交给渲染服务223的帧的使用案例中,一个动画源可请求更新到80hz帧速率。在该示例性使用案例中,如果渲染服务223将立即转变为
80hz帧速率,则一些动画源将旨在以16.67ms间隔提供帧,并且一些动画将旨在以12.5ms间隔提供帧。然而,所有这些帧都将同时显示,从而导致视觉毛刺。图10示出了其中立即发生帧速率转变的另一种此类使用案例。在图10的示例中,两个动画(例如,“动画1”和“动画2”)正在生成以80hz渲染的80hz帧。然后,在时间1000,动画2提供已更新帧速率参数,这导致从80hz到60hz的全局帧速率变化。如图10所示,在其中电子设备(例如,渲染服务223)将立即切换到新的60hz全局帧速率(例如,而无需进行在下文讨论的帧速率转变调度)的使用案例中,只有动画2的动画源将知道该变化并且能够根据该变化时采取行动以将不同心跳间隔作为目标。在这种情况下,动画1可能已完成其下一个帧或先前被调度为在时间1002处呈现的帧,并且对于新定时,将不具有足够的时间来重做其工作,或者仍可能在做其工作的过程中并且无法改变为新的目标心跳间隔。如图10所示,在这种情况下,动画1的下一个帧将比预期的晚一个心跳间隔地呈现在显示屏上,这将产生与上文结合图7所示的不兼容帧速率讨论的类似的不期望效应。
63.图11a和图11b示出了其中帧速率转变可导致由于在这种使用案例中在转变之前和之后的速率的相对相位而引起的视觉毛刺的另一种使用案例。在图11a的示例中,从80hz到60hz的帧速率转变发生在具有非预期帧长度的时间1100。在图11b的示例中,从80hz到60hz的帧速率转变发生在具有60hz帧长度的时间1102。在图11a和图11b两者中,即使动画源可在转变之前告知帧速率将发生变化,并且可为用于显示的帧提供已更新定时,在转变之前和之后的帧速率的相位偏移也可能导致模糊半径或运动模糊宽度发生变化,从而产生对于人眼看起来像毛刺的东西。
64.根据主题技术的各方面,渲染服务223还可提供帧速率转变调度,其中帧速率转变被预先调度为在下一个vsync时间发生。该帧速率转变调度可有助于确保以与渲染服务223(例如,全局帧速率)相同的帧速率运行的动画源可依赖于当前帧中的先前接收到的定时保证(例如,从而解决上文讨论的并在图10中所示的立即转变问题)。以低于渲染服务223的帧速率(例如,全局帧速率)的帧速率运行的动画源可在转变期间接收不同帧时间。帧速率转变调度还有助于确保之前和之后的相位导致在转变时的公共vsync(例如,从而解决图11a和图11b中所示的问题)。
65.根据一个或多个具体实施,帧速率转变调度可包括在下一个vsync时间之前从一个或多个动画源接收帧速率参数的变化,以及确定和提供所得的已更新全局帧以在下一个vsync时间之后起作用。图12a至图12h示出了利用帧速率转变调度的帧速率仲裁的具体实施。在图12a至图12h的示例中,在该图中“现在”发生的当前时间1200用从图12a前进到图12h向右侧移动的竖直线指示。
66.例如,图12a示出了其中两个动画(“动画1”和“动画2”)以80hz帧速率提供在具有240hz心跳间隔的显示器上显示的动画的时序图。在图12b中,动画1和动画2两者提供以预期80hz帧速率显示的下一个80hz帧。在该示例中,已(例如,由帧速率仲裁器800)基于动画1的帧速率参数—80hz最小帧速率、120hz最大帧速率和80hz优选帧速率以及动画2的帧速率参数—60hz最小帧速率的、80hz最大帧速率和无优选帧速率来确定全局80hz帧速率。在该示例中,因为动画1的80hz优选帧速率在由动画2的60hz最小帧速率和80hz最大帧速率限定的范围内,所以全局帧速率可被设置为动画1的80hz优选帧速率,并且动画1和动画2两者可以全局帧速率生成帧。
67.如图12c所示,动画1可修改其帧速率参数以移除优选帧速率,并且在图12b的渲染帧之后,将最小帧速率降低到60hz并且将最大帧速率降低到80hz。在该示例中,在动画1和动画2两者的帧速率范围内的最小帧速率(例如,60hz)可被确定为新全局帧速率。如图所示,为了提供帧速率转变调度,到60hz的已更新全局帧速率的帧速率转变可被调度为在下一个80hz vsync时间发生。以此方式,在发生转变之前,对于下一个80hz vsync时间,可显示已由动画1和动画2生成的80hz帧,如动画源所预期的。
68.如图12d和图12e所示,因为直到下一个80hz vsync时间才发生转变,所以附加帧速率参数更新和相关联的全局帧速率更新可在转变生效之前发生。在图12d的示例中,动画1提供120hz的新优选帧速率并且将最小帧速率和最大帧速率分别提高到80hz和120hz,并且120hz的新的已更新全局帧速率(例如,最高优选帧速率)得以确定。如图所示,从当前80hz帧速率到120hz的新的已更新全局帧速率的转变被调度为代替在下一个vsync时间处的先前的80hz到60hz转变。在图12e的示例中,仍在调度80hz到120hz转变的下一个vsync时间之前,动画2更新其帧速率参数以提供作为优选帧速率和最大帧速率的公共80hz帧速率,以及60hz最小帧速率。在该示例中,优选帧速率中的更高者可被选择作为新全局帧速率(例如,在该示例中,仍为120hz),并且调度的从80hz到120hz的转变可被保持用于下一个vsync时间。
69.如图12f所示,动画1和动画2两者可提供即将到来的80hz帧并使这些帧在下一个80hz vsync时间显示,并且在该时间被通知将从该vsync时间开始使用的新全局帧速率。
70.在一个或多个具体实施中,用于调度的帧速率转变的帧速率转变时间戳以及已更新全局帧速率可(例如,经由只读共享存储器)与一个或多个动画源一起共享。当动画获得帧速率转变时间戳时,该动画可基于该转变时间戳并根据动画源的操作选择性地使用现有全局帧间隔或即将到来的已更新全局帧间隔。以此方式,本主题技术的各方面允许在帧速率转变之前和之后为所有动画源明确限定定时计算。
71.例如,如图12g和图12h所示,动画1可以120hz的新全局帧速率生成帧并使这些帧以120hz的全局帧速率显示,并且(例如,因为120hz的全局帧速率在动画2的帧速率范围之外),动画2可以60hz的兼容帧速率生成帧,以用于每隔一个120hz vsync时间显示。如图所示,本文所述的帧速率仲裁操作可允许具有240hz心跳间隔的显示器在各种时间支持为原始刷新率的偶数定量帧速率和原始刷新率的奇数定量帧速率的帧速率。
72.以此方式,渲染服务223和帧速率仲裁器800可提供帧速率仲裁操作(这些帧速率仲裁操作为显示系统内的多个同时动画提供帧速率的兼容性),并且减少和/或消除可能在帧速率转变边界出现的毛刺。
73.结合两种动画(即,动画1和动画2)描述了图12a至12h的示例。还应当理解,在其他示例中,一个或多个附加动画可提供帧速率参数,并且接收已更新全局帧速率并调整为已更新全局帧速率,如结合图12a至图12h所述。还应当理解,在一个或多个具体实施中,一个或多个输入源还可向帧速率仲裁器800提供帧速率参数。例如,输入源(诸如,触控笔、触摸表面或触摸屏的触敏电极阵列、鼠标、指针、键盘、相机等)可获得处于帧速率的输入事件。在一些使用案例中,由输入源接收到的输入可以是与所显示内容相关联的输入。因此,可能期望将输入事件与所显示内容同步并且/或者以其他方式协调输入事件与所显示内容。在一个或多个具体实施中,输入源可向帧速率仲裁器800提供帧速率参数(诸如,优选帧速率、
最小帧速率和/或最大帧速率),并且帧速率仲裁器800可包括在帧速率仲裁过程中从输入源接收到的帧速率参数,如本文结合动画源所述。帧速率仲裁器和/或电子设备105处的另一过程可向输入源提供由帧速率仲裁过程产生的全局帧速率。在一个或多个具体实施中,输入源然后可将输入事件帧速率调整为与全局帧速率兼容的帧速率。在一个或多个具体实施中,诸如当输入源无法以高达全局帧速率的帧速率生成输入事件或者当全局帧速率是输入源生成输入事件的帧速率的奇数因子时,输入源或电子设备105可在输入事件之间内插,以针对生成和/或显示显示帧的每个帧生成估计输入事件。例如,输入源可生成估计(内插)输入事件并向电子设备105提供估计输入事件,或者电子设备105可执行从输入源接收到的输入事件的内插并在电子设备105处生成估计输入事件。
74.图13示出了根据本主题技术的各方面的用于执行显示帧速率仲裁的示例性过程的流程图。出于解释的目的,本文主要参考图1和图8的电子设备105来描述过程1300。然而,过程1300不限于图1和图8的电子设备105,并且过程1300的一个或多个框(或操作)可由一个或多个其他合适设备的部件来执行。过程1300的框在本文中被描述为顺序地或线性地发生。然而,过程1300的多个框可并行地发生。此外,过程1300的框不必按所示顺序执行,并且/或者过程1300的一个或多个框不必执行和/或可由其他操作替代。
75.在图13的示例中,在框1302处,过程1300包括(例如,由电子设备诸如电子设备104、电子设备105、电子设备110、电子设备115或另一电子设备、部件或系统)记录第一动画源的至少第一帧速率参数。第一帧速率参数可包括第一动画源的最小帧速率、最大帧速率和优选帧速率中的至少一者。例如,第一帧速率参数可由如本文所述的电子设备的帧速率仲裁器(诸如帧速率仲裁器800)记录。
76.在一个或多个具体实施中,第一动画源包括滚动动画源,并且滚动动画源通过以下操作来确定第一帧速率参数:接收用户滚动输入;以及将该用户滚动输入应用于模型(例如,人类感知模型)以获得第一帧速率参数。滚动动画源可以是系统进程或应用程序进程,该系统进程或应用程序进程将诸如响应于来自用户的(例如,经由使用手指或触控笔进行的对触敏表面或触敏显示器的触摸输入实现的)轻扫或其他滚动指示符输入,而动画化滚动内容以用于显示。
77.在一个或多个具体实施中,第一动画源包括一般(例如,非滚动)动画源,并且该一般动画源通过至少确定一般动画源能够生成帧的最大速率来确定第一帧速率参数。例如,一般动画源可以是电池指示符、信号强度指示符、进程指示符或按钮功能指示符,如图3的示例所示。
78.在框1304处,过程1300包括基于记录的帧速率参数来确定全局帧速率,这些记录的帧速率参数至少包括第一帧速率参数。在一个或多个具体实施中,记录的帧速率参数包括第一帧速率参数,以及与第一动画源同时显示的第二动画源的第二帧速率参数。在一个或多个具体实施中,第一帧速率参数可包括第一动画源的最小帧速率、最大帧速率和优选帧速率,并且第二帧速率参数可包括第二动画源的最小帧速率、最大帧速率和优选帧速率。
79.在框1306处,过程1300包括向至少第一动画源告知所确定的全局帧速率(例如,如上文结合图8所述)。在一个或多个具体实施中,确定全局帧速率包括将该全局帧速率设置为第一动画源的优选帧速率和第二动画源的优选帧速率中的更高者(例如,如上文结合图12e讨论的)。在一个或多个具体实施中,确定全局帧速率包括将该全局帧速率设置为第一
动画源的最小帧速率和第二动画源的最小帧速率中的更高者(例如,如上文结合图12c讨论的)。
80.在一个或多个具体实施中,过程1300还可包括:在确定全局帧速率之后:接收对第二帧速率参数的更新以从第二帧速率参数移除优选帧速率;以及响应于该更新而修改全局帧速率(例如,如上文结合图12c讨论的)。在一个或多个具体实施中,第二动画源的最小帧速率、最大帧速率和优选帧速率是公共帧速率,并且确定全局帧速率包括将该全局帧速率设置为公共帧速率。
81.在一个或多个具体实施中,过程1300还可包括向第二动画源告知全局帧速率。在一个或多个具体实施中,过程1300还可包括以全局帧速率操作显示器。在一个或多个其他具体实施中,显示器可以除了全局帧速率之外的帧速率操作(例如,由于硬件和/或其他显示设置、条件和/或内容,显示器可覆写全局帧速率)。在一个或多个具体实施中,过程1300还可包括以全局帧速率从第一动画源接收帧;以及以与全局帧速率不同并且为全局帧速率的因子的帧速率从第二动画源接收帧(例如,如上文结合图12g和12h讨论的)。
82.如本文讨论的,帧速率仲裁操作还可包括对输入源(例如,触摸屏或其他触敏表面的触敏元件,来自触控笔、鼠标、键盘、相机的输入信号或任何其他输入源)的帧速率参数进行仲裁。例如,过程1300还可包括至少记录第一输入源的第二帧速率参数。第二帧速率参数包括第一输入源的最小帧速率、最大帧速率和优选帧速率中的至少一者。在一个或多个具体实施中,过程1300还可包括向至少第一输入源告知所确定的全局帧速率。
83.在一个或多个具体实施中,过程1300还可包括基于所确定的全局帧速率来对第一输入源的输入事件进行内插。例如,输入源可以输入帧速率(诸如,120hz(作为示例))接收输入帧(例如,触摸输入)。在一个或多个具体实施中,输入帧速率可不与动画的当前全局帧速率和/或显示器的当前刷新率对准。例如,对于具有可变刷新率和120hz的最大刷新率的显示器,并且在以120hz的输入帧速率提供输入事件的输入源的示例中,如果全局帧速率被设置为奇数定量帧速率(诸如80hz),则电子设备105或输入设备可在一些120hz触摸输入事件之间内插,以针对每个80hz显示帧生成估计(内插)触摸输入事件。又如,对于以240hz的刷新率操作的显示器,并且在以120hz的输入帧速率提供输入事件的输入源的示例中,电子设备可在120hz触摸输入事件之间内插,以用与显示器的240hz当前刷新率匹配的240hz帧速率生成内插输入事件。
84.在一个或多个具体实施中,记录的帧速率参数可包括第一帧速率参数、第二帧速率参数和第三帧速率参数,其中第二帧速率参数和第三帧速率参数各自对应于在第二动画源的单层树内的相应动画(例如,如上文结合图9所述)。
85.图14示出了根据一个或多个具体实施的可用以实施本主题技术的各方面的示例性计算设备。计算设备1400可以是用于生成上文所述特征和过程的任何计算设备或服务器并且/或者可以是用于生成上文所述特征和过程的任何计算设备或服务器的一部分,包括但不限于膝上型计算机、智能电话、平板设备、可穿戴设备,诸如护目镜或眼镜等。计算设备1400可包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。计算设备1400包括永久性存储设备1402、系统存储器1404(和/或缓冲器)、输入设备接口1406、输出设备接口1408、总线1410、rom1412、一个或多个处理单元1414、一个或多个网络接口1416和/或它们的子集和变型。
86.总线1410总体表示通信地连接计算设备1400的许多内部设备的所有系统、外围设备和芯片组总线。在一个或多个具体实施中,总线1410将一个或多个处理单元1414与rom 1412、系统存储器1404和永久性存储设备1402通信地连接。一个或多个处理单元1414从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行本主题公开的过程。在不同的具体实施中,一个或多个处理单元1414可以是单个处理器或多核处理器。
87.rom 1412存储一个或多个处理单元1414以及计算设备1400的其他模块所需要的静态数据和指令。另一方面,永久性存储设备1402可以是读写存储器设备。永久性存储设备1402可以是即使在计算设备1400关闭时也存储指令和数据的非易失性存储器单元。在一个或多个具体实施中,海量存储设备(诸如磁盘或光盘及其对应盘驱动器)可用作永久性存储设备1402。
88.在一个或多个具体实施中,可移除存储设备(诸如软盘、闪存驱动器及其对应盘驱动器)可用作永久性存储设备1402。与永久性存储设备1402一样,系统存储器1404可以是读写存储器设备。然而,与永久性存储设备1402不同,系统存储器1404可以是易失性读写存储器,诸如随机存取存储器。系统存储器1404可存储一个或多个处理单元1414在运行时可能需要的指令和数据中的任何指令和数据。在一个或多个具体实施中,本主题公开的过程被存储在系统存储器1404、永久性存储设备1402和/或rom 1412中。一个或多个处理单元1414从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行一个或多个具体实施的过程。
89.总线1410还连接到输入设备接口1406和输出设备接口1408。输入设备接口1406使得用户能够向计算设备1400传送信息以及选择命令。可与输入设备接口1406一起使用的输入设备可包括例如字母数字混合键盘和指向设备(也称为“光标控制设备”)。输出设备接口1408可例如使得能够显示计算设备1400所生成的图像。可与输出设备接口1408一起使用的输出设备可包括例如打印机和显示设备,诸如液晶显示器(lcd)、发光二极管(led)显示器、有机发光二极管(oled)显示器、柔性显示器、平板显示器、固态显示器、投影仪或用于输出信息的任何其他设备。
90.一个或多个具体实施可包括既充当输入设备又充当输出设备的设备,诸如触摸屏。在这些具体实施中,提供给用户的反馈可以是任何形式的感官反馈,诸如视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
91.最后,如图14所示,总线1410还通过一个或多个网络接口1416将计算设备1400耦接到一个或多个网络和/或耦接到一个或多个网络节点。以此方式,计算设备1400可以是计算机网络(诸如,lan、广域网(“wan”)或内联网)的一部分,或者可以是网络的网络(诸如互联网)的一部分。计算设备1400的任何或所有部件可与本主题公开一起使用。
92.可以利用编写有一个或多个指令的有形计算机可读存储介质(或一种或多种类型的多个有形计算机可读存储介质)部分地或全部地实现本公开范围之内的具体实施。有形计算机可读存储介质实质上也可以是非暂态的。
93.计算机可读存储介质可以是任何可以由通用或专用计算设备读、写或以其他方式访问的存储介质,包括任何能够执行指令的处理电子器件和/或处理电路。例如,非限制地,计算机可读介质可包括任何易失性半导体存储器,诸如ram、dram、sram、t-ram、z-ram和ttram。计算机可读介质也可包括任何非易失性半导体存储器,诸如rom、prom、eprom、
eeprom、nvram、闪存、nvsram、feram、fetram、mram、pram、cbram、sonos、rram、nram、赛道存储器、fjg和millipede存储器。
94.此外,计算机可读存储介质可包括任何非半导体存储器,诸如光盘存储装置、磁盘存储装置、磁带、其他磁性存储设备或者能够存储一个或多个指令的任何其他介质。在一个或多个具体实施中,有形计算机可读存储介质可直接耦接到计算设备,而在其他具体实施中,有形计算机可读存储介质可例如经由一个或多个有线连接、一个或多个无线连接、或它们的任意组合而间接地耦接到计算设备。
95.指令可以是直接能执行的,或者可用于开发可执行指令。例如,指令可被实现为可执行的或不可执行的机器代码,或者可被实现为可被编译以产生可执行的或不可执行的机器代码的高级语言指令。此外,指令也可被实现为数据,或者可包括数据。计算机可执行指令也可以任何格式组织,包括例程、子例程、程序、数据结构、对象、模块、应用、小程序、函数等。如本领域技术人员认识到的那样,包括但不限于指令的数量、结构、序列和组织的细节可明显不同,而不改变底层的逻辑、功能、处理和输出。
96.虽然以上论述主要涉及执行软件的微处理器或多核处理器,但一个或多个具体实施由一个或多个集成电路诸如asic或fpga执行。在一个或多个具体实施中,此类集成电路执行存储在电路自身上的指令。
97.本领域的技术人员将会认识到,本文所述的各种例示性的框、模块、元件、部件、方法和算法可被实现为电子硬件、计算机软件或两者的组合。为了说明硬件和软件的这种可互换性,上文已经一般性地按照功能性对各种例示性的框、模块、元件、部件、方法和算法进行了描述。此类功能性是被实现为硬件还是软件取决于具体应用以及对整个系统施加的设计约束。技术人员对于每个具体应用可通过不同方式实现所描述的功能性。各种部件和框可被不同地布置(例如,以不同的顺序排列,或以不同的方式划分),而不脱离本主题技术的范围。
98.应当理解,本发明所公开的过程中的框的特定顺序或分级结构为示例性方法的例示。基于设计优选要求,应当理解,过程中的框的特定顺序或者分级结构可被重新布置或者所有示出的框都被执行。这些框中的任何框可被同时执行。在一个或多个具体实施中,多任务和并行处理可能是有利的。此外,上文所述具体实施中的各个系统部件的划分不应被理解为在所有具体实施中都要求此类划分,并且应当理解,所述程序部件(例如,计算机程序产品)和系统可一般性地被一起整合在单个软件产品中或者封装到多个软件产品中。
99.如本说明书以及本专利申请的任何权利要求中所用,术语“基站”、“接收器”、“计算机”、“服务器”、“处理器”及“存储器”均是指电子设备或其他技术设备。这些术语排除人或者人的群组。出于本说明书的目的,术语“显示”或“正在显示”意指在电子设备上显示。
100.如本文所用,在用术语“和”或“或”分开项目中任何项目的一系列项目之后的短语“中的至少一者”是将列表作为整体进行修饰,而不是修饰列表中的每个成员(即每个项目)。短语“中的至少一者”不要求选择所列出的每个项目中的至少一个;相反,该短语允许包括任何一个项目中的至少一个和/或项目的任何组合中的至少一个和/或每个项目中的至少一个的含义。举例来说,短语“a、b和c中的至少一者”或“a、b或c中的至少一者”各自是指仅a、仅b或仅c;a、b和c的任意组合;和/或a、b和c中的每一个中的至少一个。
101.谓词字词“被配置为”、“能够操作以”以及“被编程以”并不意味着对某一主题进行
任何特定的有形或无形的修改而是旨在可互换使用。在一个或多个具体实施中,被配置为监视和控制操作或部件的处理器也可以是意指处理器被编程以监视和控制操作或者处理器可操作以监视和控制操作。同样,被配置为执行代码的处理器可解释为被编程以执行代码或能够操作以执行代码的处理器。
102.短语诸如方面、该方面、另一方面、一些方面、一个或多个方面、具体实施、该具体实施、另一具体实施、一些具体实施、一个或多个具体实施、实施方案、该实施方案、另一实施方案、一些实施方案、一个或多个实施方案、配置、该配置、其他配置、一些配置、一种或多种配置、主题技术、公开、本公开、它们的其他变型等等都是为了方便,并不意味着涉及这样的一个或多个短语的公开对于主题技术是必不可少的,也不意味着这种公开适用于主题技术的所有配置。涉及此类一个或多个短语的公开可适用于所有配置或一个或多个配置。涉及此类一个或多个短语的公开可提供一个或多个示例。短语诸如方面或一些方面可指代一个或多个方面,反之亦然,并且这与其他前述短语类似地应用。
103.字词“示例性”在本文中被用于意指“用作示例、实例或者例示”。在本文中被描述为“示例性的”或作为“示例”的任何实施方案不必被理解为优选于或优于其他具体实施。此外,在术语“包括”、“具有”等在说明书或权利要求中使用的限度内,这样的术语旨在是包含性的,与术语“包括”当在权利要求中被用作过渡字词时“包括”被解释的方式类似。
104.本领域的普通技术人员已知或稍后悉知的贯穿本公开描述的各个方面的元素的所有结构和功能等同物通过引用明确地并入本文,并且旨在被权利要求书所涵盖。此外,本文所公开的任何内容并非旨在提供给公众,而与该公开是否明确地被陈述在权利要求中无关。不应根据35u.s.c.
§
112(f)的规定解释任何权利要求要素,除非使用短语“用于
……
的装置”明确陈述了该要素,或者就方法权利要求而言,使用短语“用于
……
的步骤”陈述了该要素。
105.先前的描述被提供以使得本领域的技术人员能够实践本文所述的各个方面。这些方面的各种修改对本领域的技术人员而言是显而易见的,并且本文所限定的通用原则可应用于其他方面。因此,本权利要求书并非旨在受限于本文所示的方面,而是旨在使得全部范围与语言权利要求书一致,其中对奇异值中的元素的引用并非旨在意味着“仅仅一个”,而是指“一个或多个”,除非被具体指出。除非另外特别说明,否则术语“一些”是指一个或多个。男性的代名词(例如,他的)包括女性和中性(例如,她的和它的),并且反之亦然。标题和子标题(如果有的话)仅为了方便起见而使用并且不限制本主题公开。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1