一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

处理屏幕空间的图块的方法与流程

2021-11-26 23:21:00 来源:中国专利 TAG:

处理屏幕空间的图块的方法
1.相关申请交叉引用
2.本技术根据35u.s.c.
§
119(e)要求于2020年5月21日提交的美国临时申请第63/028553号的优先权,该申请的公开内容通过引用整体结合于此。
技术领域
3.本文公开的主题涉及图形处理单元(gpu)。更具体地,本文公开的主题涉及一种图形处理单元(gpu)的方法,该方法改变分箱处理顺序以减少dram业务。


背景技术:

4.来自不同绘图调用的基元(primitive)在典型的图形硬件管线(pipeline)中依序地处理。在图形硬件管线的分箱(binning)架构中,分箱器(binner)处理每个基元并标记基元占用的屏幕空间图块(tile)。也就是说,分箱器维护屏幕空间图块桶(bucket)的列表,该列表中包含占用屏幕空间图块的基元的列表。在子帧内可以对跨绘图的整组基元或对一个批次(batch)的整组基元执行分箱过程。例如,分箱架构可以使用基于批次的分箱过程,其中分箱器跨批次分布(distribute)基元,并单独分箱每个批次的基元,而不是一次分箱整组基元。每个批次的大小可以在运行时基于各种资源约束和/或应用程序编程接口(api)约束来确定。


技术实现要素:

5.示例实施例提供了一种处理屏幕空间的图块的方法,其中,该方法可以包括:基于第二批次基元的图块处理顺序,确定第一批次基元的图块的图块处理顺序,其中第二批次基元可以在第一批次基元之前被处理;基于为第一批次基元的图块确定的图块处理顺序来处理第一批次基元的图块;以及在处理第一批次基元的图块时更新图块处理顺序。在一个实施例中,该方法还可以包括:基于在处理第一批次基元的图块时更新的图块处理顺序来处理第三批次基元的图块,其中第三批次基元在第一批次基元之后;以及在处理第三批次基元的图块时更新图块处理顺序。在另一实施例中,第一批次基元的图块处理方向与第二批次基元的图块处理方向相反。在另一个实施例中,第一批次基元的多个图块可以包括n个图块,以及第二批次基元的多个图块包括n个图块,第二批次基元的图块处理顺序可以包括第二批次基元的n个图块的最近最少处理的图块到最近最多处理的图块的顺序,其中,确定第一批次基元的图块的图块处理顺序可以包括将具有与第二批次基元的m个图块相同的屏幕空间的第一批次基元的m个图块排序成对应于第二批次基元的m个图块的图块处理顺序,其中m小于或等于n。
6.示例实施例提供了一种处理屏幕空间的图块的方法,其中该方法可以包括:基于观察到的图块处理顺序来确定第一批次基元的图块的图块处理顺序,其中,第一批次基元可以包括n个图块,观察到的图块处理顺序可以基于第二批次基元的最近最少处理的图块到最近最多处理的图块的顺序,第二批次基元可以包括n个图块,并且第二批次基元可以在
第一批次基元之前处理;并且基于为第一批次基元的图块确定的图块处理顺序处理第一批次基元的图块。在一个实施例中,该方法还可以包括在处理第一批次基元的图块时更新观察到的图块处理顺序。在另一实施例中,确定第一批次基元的图块的图块处理顺序可以包括将具有与第二批次基元的m个图块相同的屏幕空间的第一批次基元的m个图块排序成对应于第二批次基元的m个图块的图块处理顺序,其中m小于或等于n。
7.示例实施例提供了一种处理屏幕空间的图块的方法,其中该方法可以包括:基于第二批次基元的图块处理顺序确定第一批次基元的图块处理顺序,第二批次基元可以在第一批次基元之前处理,第一批次基元的图块的图块处理顺序可以包括第一批次基元的图块的顺序,该第一批次基元的图块的顺序可以基于第一批次基元的图块与第二批次基元的最近最多处理图块到最近最少处理图块顺序的时间接近度;基于为第一批次基元的图块确定的图块处理顺序处理第一批次基元的图块;并且在处理第一批次基元的图块时更新图块处理顺序。在一个实施例中,该方法还可以包括基于在处理第一批次基元的图块时更新的图块处理顺序来处理第三批次基元的图块,其中第三批次基元可以在第一批次基元之后;以及在处理第三批次基元的图块时更新图块处理顺序。在另一实施例中,第三批次基元的图块处理方向可以与第一批次基元的图块处理方向相反。
附图说明
8.在以下部分中,将参考图中所示的示例性实施例来描述本文公开的主题的各方面,其中:
9.图1描绘了包括多个基元的示例屏幕空间;
10.图2描绘了两个连续批次的传统图块处理顺序;
11.图3描绘了根据本文公开的主题的图块处理顺序;
12.图4是根据本文公开的主题的利用llc中的数据局部性来减少dram业务的过程的流程图;
13.图5描绘了根据本文公开的主题的图块处理顺序的示例;
14.图6描绘了根据本文公开的主题的图块处理顺序的另一示例;
15.图7是根据本文公开的主题的包括gpu的系统的框图,该gpu改变分箱处理顺序以减少dram业务;以及
16.图8描绘了根据本文公开的主题的包括gpu的电子设备,该gpu改变分箱处理顺序以减少dram业务。
具体实施方式
17.在以下详细描述中,列出了许多具体细节,以便提供对本公开全面的理解。然而,本领域技术人员将理解,在没有这些具体细节的情况下,可以实践公开的方面。在其他情况下,未详细描述已知的方法、程序、组件和电路,以不模糊本文公开的主题。
18.贯穿本说明书,对“一个实施例”或“实施例”的引用意味着,与实施例相关的特定特征、结构或特性可以包括在本文公开的至少一个实施例中。因此,贯穿本说明书的各个地方中的“在一个实施例中”或“在实施例中”或“根据一个实施例”(或具有类似导入的其他短语)的短语的出现未必都指同一实施例。此外,可以在一个或多个实施例中以任何适当的方
式组合特定特征、结构或特性。在这方面,如本文所使用的,“示例性”一词意味着“作为示例、实例或说明”。此处描述为“示例性”的任何实施例不应被解释为必然优选或优于其他实施例。此外,可以在一个或多个实施例中以任何适当的方式组合特定特征、结构或特性。此外,取决于本文讨论的上下文,单数术语可以包括相应的复数形式,以及复数术语可以包括相应的单数形式。类似地,连字符术语(例如,“二

维(two

dimensional)”、“预先

确定(pre

determined)”、“像素特定(pixel

specific)”等)可偶尔与相应的非连字符版本(例如“二维(two dimensional)”、“预先确定(predetermined)”、“特定像素(pixel specific)”等)互换使用并且大写条目(例如,“计数器时钟(counter clock)”、“行选择(row select)”,“pixout”等)可与相应的非大写版本(例如,“计数器时钟”、“行选择”、“pixout”等)互换使用。这种偶尔可互换的使用不应被认为是相互不一致的。
19.此外,取决于本文讨论的上下文,单数术语可以包括相应的复数形式,以及复数术语可以包括相应的单数形式。还注意到,本文所示和讨论的各种图(包括组件图)仅用于说明目的,且未按比例绘制。同样,仅为说明目的示出各种波形和时序图。例如,为了清晰,某些元素的尺寸可能相对于其他图元进行放大。此外,如果认为适当,已经在图中重复了附图标记,以指示相应和/或类似元素。
20.本文使用的术语仅用于描述一些示例实施例,并且不旨在限制所要求的主题。如本文所使用,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文明确指示其他形式。还应进一步理解,术语“包含”和/或“包括”,当在本说明书中使用时,指定所阐述的特征、整数、步骤、操作、元素和/或组件的存在,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、组件,和/或其组。本文中使用的术语“第一”、“第二”等用作处于名词前面的标签,并且不意味着任何类型的排序(例如,空间、时间、逻辑等),除非明确定义为这样。此外,可以跨两个或多个图使用相同的附图标记来指代具有相同或类似功能的部件、组件、块、电路、单元或模块。然而,这种用法只是为了说明的简单和讨论的容易;它并不意味着,这些组件或单元的构造或架构细节跨所有实施例是相同的或这些共同引用的部件/模块是实施本文公开的一些示例实施例的唯一方法。
21.应理解,当元素或层被指代为在另一元素或层上、“连接到”或“耦合到”另一元件或层时,其可直接在另一元素或层上、连接或耦合到另一元素或层,或可以存在中间元素或层。相反,当元素被指代为“直接在”另一个元素或层上、“直接连接到”或“直接耦合到”另一个元素或层时,没有中间元素或层存在。贯穿全文,相似标记是指相似元素。如本文所使用的,术语“和/或”包括相关联的所列项目的一个或多个的任何和所有组合。
22.如本文所使用的术语“第一”、“第二”等被用作处于名词前面的标签,并且不意味着任何类型的排序(例如,空间、时间、逻辑等),除非明确定义为这样。此外,可以跨两个或多个图使用相同的附图标记来指代具有相同或类似功能的部件、组件、块、电路、单元或模块。然而,这种用法只是为了说明的简单和讨论的容易;它并不意味着,这些组件或单元的构造或架构细节跨所有实施例是相同的或这些共同引用的部件/模块是实施本文公开的一些示例实施例的唯一方法。
23.除非另有定义,否则本文中使用的所有术语(包括技术术语和科学术语)具有与本主题所属领域的普通技术人员通常理解的相同含义。应当进一步理解,术语(诸如在常用词典中定义的术语),应当被解释为具有与其在相关技术的上下文中的含义一致的含义,并且
除非在此明确地这样定义,否则不会以理想化或过于正式的意义来解释。
24.如本文所使用的,术语“模块”是指配置为提供本文结合模块描述的功能的软件、固件和/或硬件的任何组合。例如,软件可以实施为软件包、代码和/或指令集或指令,并且在本文所描述的任何实施方式中使用的术语“硬件”可以单个地或以任意组合地包括例如组件、硬接线电路、可编程电路、状态机电路和/或存储由可编程电路运行的指令的固件。这些模块可以共同地或单独地实施为形成较大系统的一部分的电路,例如但不限于集成电路(ic)、片上系统(soc)、组件等。
25.由基元分箱器执行的分箱过程可以在前端处理结束时(例如,在处理的顶点/几何(geometry)处理阶段)出现。通常,每一批次基元都会触及(touch)形成屏幕空间的图块的子集。可由后端图形硬件管线以特定顺序(线性顺序、莫顿(morton)顺序、层次莫顿顺序等)和单调方向(例如,所有批次从左上角的图块开始并进行到右下角的图块)呈现(rendering)图块。连续批次频繁地访问和处理相同的屏幕空间,因为占用相同屏幕空间的基元可能常常被跨多个批次分割。因此,与屏幕空间相对应的片上(on

chip)和/或片外(off

chip)动态随机存取存储器(dram)可以由跨批次的基元重参考(re

reference),使得dram(数据)业务增加,从而导致降低的gpu性能和增加的功耗。如果通过后端管线同时或在很近的时间接近度内处理跨批次的相同屏幕空间图块,则可以避免或减少dram业务的增加。通过同时或在很近的时间接近度内处理相同的屏幕空间图块,处理批次的基元所需的数据将驻留在片上或片外缓存中。然而,在某些图形处理器架构中,这种图块呈现模式可能不可行。
26.本文公开的主题改变了批次处理屏幕空间的顺序或次序,从而减少dram业务。在一个实施例中,本文公开的主题使用可能可用的时间数据局部性信息结合分箱操作来针对连续批次改变处理屏幕图块空间的顺序。例如,每个新批次都可以首先处理由在前的(preceding)批次最近最多(most recently)处理的屏幕空间图块,以利用任何可能已被调整(tune)以有效地服务具有良好时间局部性(locality)的业务模式的片上和/或片外缓存。处理屏幕空间的顺序也可以是用户选择的,以通过更有效地访问纹理数据来进一步减少纹理业务。
27.本文所使用的术语“时间数据局部性”涉及当前批次的屏幕空间图块与先前批次的相同屏幕空间图块的时间接近性。例如,如果确定当前批次的屏幕空间图块是与先前批次处理的相同屏幕空间图块或在先前批次结束时处理的相同屏幕空间图块,则当前批次的屏幕空间图块具有与先前批次的相同屏幕空间图块的时间数据局部性,并且将当前批次的屏幕空间图块的图块处理顺序移向当前批次的图块处理顺序的开始。为了说明这一点,考虑一种情况,其中屏幕空间包括16个图块,并且先前批次的所有16个图块都被从屏幕空间的左上到右下处理,如通常所做的那样。如果当前批次也包括覆盖所有16个图块的基元,根据本文公开的主题,当前批次的图块处理顺序将是先前批次的图块处理顺序的镜像。也就是说,当前批次的图块处理顺序将是从屏幕空间的右下到左上。
28.在一个实施例中,本文公开的主题可以反转跨连续批次的图块处理顺序,以便首先处理缓存中存在的屏幕空间图块,并且不产生附加的dram业务。本文公开的主题还可以登记由先前批次处理屏幕空间图块的顺序。每个新批次都会更新顺序,并且每个新批次都会基于过去的顺序重新排序屏幕处理,这常常减少dram业务。
29.通常,由特定批次处理的屏幕空间图块的数量太多,以至于无法完全适合缓存。在处理完整个批次之后,数据缓存的分配策略确保只有在批次的末尾处理的屏幕空间图块驻留在缓存中。本文公开的主题利用分配策略,并对下一批次进行排列以在数据存在于缓存中时访问数据。因此,本文公开的主题可以显著减少由例如移动gpu产生的总dram业务。dram业务减少还提高了gpu在时间间隔期间的性能,该性能否则会被内存带宽所限制,从而提高gpu的总性能。dram业务减少还通过例如实施gpu的soc来帮助降低功耗,并且反过来为gpu提供了改进的功率预算(power budget)。
30.本文公开的主题提供了一种重参考感知(re

reference aware)的图块处理顺序,其可以跨批次修改图块处理顺序和/或图块处理方向,以便在最小改变gpu架构的情况下,尽可能地同时或在很近的时间接近度内处理(跨批次的)相同的屏幕空间图块。同时批次的前几块和最后几块图块可以经历(experience)局部性,并且以其最简单的形式,本文公开的主题可以跨同时(simultaneous)批次改变图块处理方向,并且可以捕捉临时本地图块的颜色和深度缓存局部性。
31.图1描绘了包括多个基元101的示例屏幕空间100,其中仅指示一个基元101。基于批次的基元呈现管线可以以逐批次的(batch

by

batch)方式执行基元到图块映射(分箱)。批次可以包括不同的基元集。屏幕空间中基元的图块覆盖也可以不同,并且图块(b0、b1、

、b15)通常会跨批次重现。
32.通常,屏幕空间的图块的子集可以被一个批次的基元所触及。如图2中箭头所示的路径所指示的,由图形后端管线以通常从屏幕空间的左上到右下的呈现顺序来处理所触及的块。也就是说,从图块箱0(bin 0)到图块箱3(bin 4),再到图块箱4(bin 5)到图块箱7(bin 7),并依此类推,来处理图块。
33.通常跨基元的批次处理相同的屏幕空间图块。相对较小的批次可能期望显示出更多的与其他批次的基元重叠,并且重参考可能主要与绘图调用所触及的屏幕空间有关。例如,图2中的示例批次n和n 1分别包括来自图1中描绘的基元的示例屏幕空间的不同基元。屏幕空间图块(箱)b4和b9被跨批次n和n 1处理。
34.参考图2中的批次n和n 1,可为批次n生成的典型dram业务模式可以对应于从图块(箱)b0到图块b6,然后是图块b9的图块处理顺序。批次n的图块处理顺序的这个示例可以使用简写表示法表示为[b0

b6,b9]。使用这种简写表示法,对于批次n 1可能出现的典型dram业务模式可以对应于图块处理顺序[b4、b8、b9、b10、b12、b13、b14]。如上所述,批次n和n 1的单调遍历顺序可产生次优dram业务。
[0035]
对于相对较大的批次,第一批次中的大多数图块可能会在需要由紧随其后的批次重新获取之前从缓存中取出。在这种情况下,最后一级缓存(llc)可能会被破坏,导致附加的dram业务。对于图3中描绘的示例大批次n和n 1,典型dram业务模式可以对应于示例批次n的图块处理顺序[b1

b15],以及批次n 1的图块处理顺序[b2、b5、b6、b9、b10、b11、b12、b13、b14]。根据本文公开的主题的重新排序的图块处理顺序可以是:对于批次n为[b1

b15],以及对于批次n 1为[b14、b13、b12、b11、b10、b9、b6、b5、b2]。因此,与典型的dram业务模式相比,本文公开的主题提供的图块处理顺序不仅改变了批次n 1的图块处理顺序,而且也改变了批次n 1的图块处理方向,如由针对批次n 1示出的箭头路径所指示的。这种重新排序的业务模式和方向在某些gpu架构中可能出现非常频繁。
[0036]
图4是根据本文公开的主题的利用llc中的数据局部性来减少dram业务的过程400的流程图。过程400在401处开始。在402处,已经被推送到后端处理的所有图块的列表被按照图块被推送的顺序(先前顺序)维护。如果一组批次中的第一批次正在处理,则先前顺序尚未建立,在这种情况下,第一批次以传统方式处理。在403处,新批次的所有图块在新批次的处理的开始处累积。在404处,从最近最多(most recently,mr)被推送的图块到最近最少(least recently,lr)被推送的图块迭代先前顺序的图块。在405处,将也在从mr到lr的先前顺序中发现的所有新累积的图块推送到新批次的图块的处理顺序中。(如前所述,如果正在处理一组批次中的第一批次,则没有要迭代的先前顺序,因此404和405以传统的图块处理顺序处理该批次的图块。)在406处,当新批次的图块被推送到后端处理时,先前顺序被更新以表示新的mr到lr顺序。在407处,对于下一个新批次,过程返回到403。处理400继续,直到屏幕空间的呈现完成。
[0037]
过程400可以被实现为模块,该模块可以被实施为被配置为提供过程400的功能的软件、固件和/或硬件的任何组合。例如,这样的软件可以实施为软件包、代码和/或指令集或指令,并且这样的硬件可以单独地或以任何组合方式地包括例如组件、硬接线电路、可编程电路、状态机电路和/或存储由可编程电路运行的指令的固件。
[0038]
下面示出与过程400相对应的示例伪代码。
[0039][0040][0041]
图5示出了三个示例批次n到n 2,以说明使用图4的示例方法400以利用来自先前
批次的数据局部性并改变图块处理顺序以减少dram业务的示例。例如,批次n,示例先前顺序(未显示)可能是:[b0、b4、b5、b2、b1、b3、b6、b7、b9、b10、b14]。批次n 1的传统单调图块处理顺序可能是:[b1、b2、b3、b4、b5、b6、b9、b10、b13、b14]。使用方法400,批次n 1的图块的图块处理重新排序(或处理顺序中的推进)将是:[b14、b10、b9、b6、b3、b1、b2、b5、b4、b13],从而批次n和批次的n 1的完整图块处理顺序(由先前顺序表示)变为:[b0、b7、b14、b10、b9、b6、b3、b1、b2、b5、b4、b13]。不仅图块处理顺序已经改变了,当与批次n的处理方向相比时,如针对批次n所示的箭头路径所指示的,图块处理方向已经改变了。还应注意,先前顺序按最近最少处理的到最近最多处理的顺序维护屏幕空间图块的列表。
[0042]
对于图5中的批次n 2,先前顺序是:[b0、b7、b14、b10、b9、b6、b3、b1、b2、b5、b4、b13],批次n 2的传统单调图块处理顺序可能是:[b6、b9、b10、b11、b13、b14]。使用方法400,批次n 2的图块的图块处理重新排序将是:[b13,b6,b9,b10,b14,b11],从而更新后的先前顺序变为:[b0,b7,b3,b1,b2,b5,b4,b13,b6,b9,b10,b14,b11]。
[0043]
图6描绘了使用方法400以利用llc中的数据局部性并减少dram业务的附加示例。对于批次0,尚未生成先前顺序,因为批次0是第一个批次。传统的图块处理顺序是:[b1

b7,b9,b10]。使用流程400,重新排序的图块处理顺序将是:[b1

b7,b9,b10],因为没有用于迭代的先前顺序,所以批次1的“新”先前顺序将是:[b1,b2,b2,b3,b4,b5,b6,b7,b9,b10]。
[0044]
对于批次1,先前顺序是:[b1、b2、b2、b3、b4、b5、b6、b7、b9、b10]。传统的单调图块处理顺序是:[b4,b5,b6,b9,b13]。使用流程400,基于先前顺序,重新排序的图块处理顺序将是:[b9、b6、b5、b4、b13]。新的先前顺序是:[b1,b2,b2,b3,b7,b10,b9,b6,b5,b4,b13]。
[0045]
对于批次2,先前顺序是:[b1、b2、b2、b3、b7、b10、b9、b6、b5、b4、b13]。传统的单调图块处理顺序是:[b5,b7,b9,b10,b11,b13,b14,b15]。使用流程400,重新排序的图块处理顺序将是:[b13,b5,b9,b7,b11,b14,b15]。新先前顺序是:[b1,b2,b2,b3,b10,b6,b4,b13,b5,b9,b7,b11,b14,b15]。
[0046]
图7是包括gpu 701的系统700的框图,gpu 701根据本文公开的主题改变分箱处理顺序以减少dram业务。系统700可以包括gpu 701、中央处理单元(cpu)702和存储器703。gpu 701可以包括命令处理器704、几何引擎705、基元汇集器(assembler)706、分箱器707、光栅化器708和一个或多个着色器709。光栅化器708可以包括深度块710和颜色块711。如图7所示,在图7中指示为形成系统700的各种组件相互连接。在一个实施例中,分箱器707将基元分箱到屏幕图块空间中。在将一批次的基元分箱成适当的图块之后,分箱器707将每个屏幕空间图块(以及分箱在屏幕空间图块中的基元)传播到光栅化器。根据本文公开的主题,分箱器707改变分箱处理顺序以减少dram业务。
[0047]
图8描绘了根据本文公开的主题的包括gpu的电子设备800,该gpu改变分箱处理顺序以减少dram业务。电子设备800可用于但不限于计算设备、个人数字助理(pda)、膝上型计算机、移动计算机、web平板、无线电话、移动电话、智能电话、数字音乐播放器或有线或无线电子设备。电子设备800可以包括控制器810、输入/输出(i/o)设备820(诸如但不限于键板、键盘、显示器、触摸屏显示器、相机和/或图像传感器)、存储器设备830、接口840、图形处理单元(gpu)850和图像处理单元860,这些设备通过总线870彼此耦合。gpu 850可以根据本文公开的主题改变分箱处理顺序以减少dram业务。控制器810可以包括例如至少一个微处理器、至少一个数字信号处理器、至少一个微控制器等。存储器830可被配置成存储由控制器
810使用的命令代码或用户数据。
[0048]
电子设备800和电子设备800的各种系统组件可以包括图像处理单元860。接口840可被配置为包括无线接口,该无线接口被配置为使用rf信号向无线通信网络发送数据或从无线通信网络接收数据。无线接口840可以包括例如天线。电子系统800还可用于通信系统的通信接口协议中,诸如但不限于码分多址(cdma)、全球移动通信系统(gsm)、北美数字通信(nadc)、扩展时分多址(e

tdma)、宽带cdma(wcdma)、cdma2000、wi

fi、市政wi

fi(muni wi

fi)、蓝牙、数字增强无绳通信(dect)、无线通用串行总线(无线usb)、具有无缝切换的快速低延迟接入正交频分复用(flash

ofdm)、ieee 802.20、通用分组无线服务(gprs)、iburst、无线宽带(wibro)、wimax、先进wimax、通用移动通信服务

时分双工(umts tdd)、高速分组接入(hspa)、演进数据优化(evdo)、长期演进

高级(lte advanced)、多信道多点分发服务(mmds)、第五代无线(5g)等。
[0049]
本说明书中描述的主题和操作的实施例可以在数字电子电路中,或者在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等效物)中,或者在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即编码在计算机存储介质上用于由处理装置运行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。可替代地或此外,可以在人工生成的传播信号(例如,机器生成的电信号、光信号或电磁信号)上对程序指令进行编码,该信号被生成以对信息进行编码以便发送到适当的接收器装置以用于由数据处理装置运行。计算机存储介质可以是或被包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或其组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号中编码的计算机程序指令的源或目的地。计算机存储介质还可以是或包括在一个或多个单独的物理组件或介质(例如,多张cd、磁盘或其他存储设备)中。此外,本说明书中描述的操作可以实现为由数据处理装置对存储在一个或多个计算机可读存储设备上或从其他源接收的数据执行的操作。
[0050]
尽管本说明书可以包含许多具体的实施方式细节,但实施方式细节不应被解释为对任何要求保护的主题的范围的限制,而是被解释为对特定于特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独地或在任何合适的子组合中实现。此外,尽管上述特征可以被描述为以特定组合起作用并且甚至最初被要求这样做,但是在某些情况下,来自所要求保护的组合的一个或多个特征可以从所述组合中去除,并且所要求保护的组合可以被定向到子组合或子组合的变体。
[0051]
类似地,虽然在附图中以特定顺序描述了操作,但这不应理解为要求以所示的特定顺序或依序顺序执行此类操作,或者要求执行所有示出的操作,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中各种系统组件的分离不应理解为在所有实施例中都要求这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或者打包成多个软件产品。
[0052]
因此,本文描述了主题的特定实施例。其他实施例在所附权利要求的范围内。在某些情况下,权利要求中所述的行为可以按照不同的顺序执行,并且仍然可以实现期望的结果。另外,附图中描述的过程不一定要求所示的特定顺序或依序顺序以实现期望的结果。在
某些实现中,多任务和并行处理可能是有利的。
[0053]
如本领域技术人员将认识到的,本文所描述的创新构思可以在广泛的应用中被修改和改变。因此,所要求保护的主题的范围不应限于上面讨论的任何具体示例性教导,而是由所附权利要求限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献