用于随机运动模糊栅格化的深度缓冲器压缩转让专利

申请号 : CN201280020404.6

文献号 : CN103518227B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : M·安德森T·G·阿凯奈-莫勒J·N·哈塞尔格林

申请人 : 英特尔公司

摘要 :

深度缓冲器压缩方案使用双线性补片作为深度的预测器。该方案针对用随机模糊栅格化呈现的场景的压缩。片段瓦片可以分裂成两个或更多区域,并且可以使较高次的函数适于每一区域。然后,将残差作为△校正来存储。

权利要求 :

1.一种用于深度缓冲器压缩的方法,包括:

为像素块创建补片,其中,每一个像素具有多个样本;

通过将深度范围分裂为面元,利用至少一个深度值来标记所述面元并定位面元之间深度值的最大间隙来将样本群集化为多个层;

使用实际深度样本值以及屏幕空间中的样本位置来生成层的预测器函数,以便预测每一个样本处的深度值;以及对层中的样本的所预测的深度值与实际深度值之间的差异进行编码。

2.如权利要求1所述的方法,其特征在于,包括创建时间依存平面作为运动模糊的瓦片的预测器函数。

3.如权利要求1所述的方法,其特征在于,包括创建三线性补片作为运动模糊的瓦片的预测器函数。

4.如权利要求2所述的方法,其特征在于,包括使用屏幕空间中的样本位置,深度值和样本时间来开发所述时间依存平面。

5.如权利要求3所述的方法,其特征在于,包括使用屏幕空间中的样本位置,深度值和样本时间来开发所述三线性补片。

6.如权利要求1所述的方法,其特征在于,包括创建适于非模糊的瓦片的双线性补片。

7.如权利要求6所述的方法,其特征在于,包括使用屏幕空间中的样本位置和深度值来开发所述双线性补片。

8.如权利要求1所述的方法,其特征在于,包括压缩所述深度值并将所述压缩的表示存储到存储器中。

9.如权利要求1所述的方法,其特征在于,包括通过查找当前层中的所有样本的边界框、将所述框分裂为均匀的单元的网格、以及对每一单元查找带有最小和最大深度值的两个样本来开发补片。

10.如权利要求9所述的方法,其特征在于,包括计算设置的最小和最大深度值之间的中点。

11.如权利要求10所述的方法,其特征在于,包括从四个中点值导出双线性补片。

12.一种用于实现如权利要求1-11中任一项所述的方法的装置。

13.一种用于深度缓冲器压缩的装置,包括:

处理器,用于:

针对场景开发补片,其中,每一个补片具有多个样本;

通过将深度范围分裂为面元,利用至少一个深度值来标记所述面元并定位面元之间深度值的最大间隙来将样本群集化为多个层;

使用实际深度样本值以及屏幕空间中的样本位置来生成层的预测器函数,以便预测每一个样本处的深度值;以及对层中的样本的所预测的深度值与实际深度值之间的差异进行编码;以及耦合到所述处理器的存储器。

14.如权利要求13所述的装置,其特征在于,所述处理器用于确定所述场景是模糊的还是非模糊的。

15.如权利要求14所述的装置,其特征在于,所述处理器用于针对非模糊的场景开发双线性补片。

16.如权利要求15所述的装置,其特征在于,所述处理器用于使用屏幕空间中的样本位置和深度值来开发所述双线性补片。

17.如权利要求13所述的装置,其特征在于,所述处理器用于针对模糊场景开发三线性补片。

18.如权利要求17所述的装置,其特征在于,所述处理器用于使用屏幕空间中的样本位置,深度值和时间来开发所述三线性补片。

19.如权利要求13所述的装置,其特征在于,所述处理器用于只使用样本的位置和屏幕空间以及所述样本的深度来压缩深度值。

20.如权利要求13所述的装置,其特征在于,所述处理器用于在不使用来自栅格化器的信息的情况下压缩深度值。

21.如权利要求13所述的装置,其特征在于,所述处理器用于压缩所述深度值并将所述值存储到所述存储器中,其中所述存储器不与所述处理器集成。

22.如权利要求13所述的装置,其特征在于,所述处理器用于通过查找当前层中的所有样本的边界框、将所述框分裂为均匀的单元的网格、以及对每一单元格查找带有最小和最大深度值的两个样本来开发补片。

23.如权利要求13所述的装置,其特征在于,所述处理器用于计算设置的最小和最大深度值之间的中点。

24.如权利要求13所述的装置,其特征在于,所述处理器从四个中点值导出双线性补片。

25.如权利要求13所述的装置,其特征在于,包括操作系统。

26.如权利要求13所述的装置,其特征在于,包括电池。

27.如权利要求13所述的装置,其特征在于,包括固件和用于更新所述固件的模块。

说明书 :

用于随机运动模糊栅格化的深度缓冲器压缩

[0001] 背景
[0002] 这一般涉及深度缓冲器的压缩。
[0003] 以前的深度缓冲器压缩方案压缩通过栅格化静态三角形获得的深度。这大量地节省带宽使用量,这对图形处理器非常重要。然而,对于运动模糊和视场深度的随机的栅格化甚至对实时图形也正在变为现实,以前的深度缓冲器压缩算法由于呈现的片段的位置和深度的不规则性而失败。
[0004] 附图简述
[0005] 参考下面的图形来描述一些实施例:
[0006] 图1是根据一实施例的深度缓冲器压缩算法的三个步骤的图示;
[0007] 图2是根据一实施例的群集化技术的简图;
[0008] 图3是根据一实施例的模式1的简图,其中,在左边示出了一个瓦片(瓦片)和瓦片中的四个点,在右边在子瓦片的中间示出了A、B、C和D深度值;
[0009] 图4包括预测函数的三个图示,以及它们如何具有类似的数据简化步骤,左图示出了一组不规则的样本,这些样本带有指出深度的灰度样本,中间图示示出了样本的边界框,以使得框在xy维度被分为两半,并且在每一结果所得的子区域,从两个深度值(子瓦片中的最小值和最大值)的平均值创建代表性的深度和位置,而在右图中,描绘了根据一实施例的数据预测补片;
[0010] 图5是根据本发明的一个实施例的用于群集化的流程图;
[0011] 图6是根据一个实施例的预测器函数的流程图;
[0012] 图7是本发明的一个实施例的硬件描绘;以及
[0013] 图8是本发明的一个实施例的正面前视图。
[0014] 详细描述
[0015] 可以使用我们的算法来压缩来自所呈现的场景的深度值,而不会有模糊(即,不会有运动模糊,以及视场深度),但带有从随机栅格化器(rasterizer)生成的模糊(例如,运动模糊)。
[0016] 我们的算法可以不使用来自栅格化器的信息,在一个实施例中,就复杂性而言,这是很大优点,如此,输入可以基本上只是一组(x_i,y_i,d_i),其中,(x_i,y_i)是样本的屏幕空间中的位置,而d_i是样本的深度。我们压缩一组这样的样本,以使得它可以以压缩的形式存储在芯片外存储器中。我们的算法计算非模糊的场景的双线性补片(patch),模糊的场景的三线性补片,其中,时间t被用作第三维。这些补片经常叫做预测器函数。我们也可以在四个维度(x,y,z,t)中使用平面(plane)。此想法是,简单来说,猜测补片的位置,编码相对于此补片的差异。补片本身需要相对小的存储,并且使用比实际深度值少得多的比特来编码差异。这经常使得将块样本压缩到其原始存储器消耗的25%,50%,或75%(例如)成为可能。节省量将只以存储器带宽使用量来表示。然而,注意,计算功率和可用存储器带宽之间的缺口持续增长,且对于可预见的未来,体系结构最有可能是带宽受限制的。
[0017] 非常简单的通用框架描述了深度缓冲器压缩方案。让我们以一些假设开始。独立地处理一块w×h像素,有时叫做瓦片,并且我们假设每一个像素都具有n个样本。第i个样本通过 来表示,其中,头两个分量是瓦片内部的样本的x和y坐标,而第三分量 是样本的时间。还可以添加更多分量,例如,用于场深度呈现的透镜位置的分量 当前深度压缩方案不显式地处理运动模糊和场深度,因此没有时间分量,也没有透镜参数。注意, 中的全部对于特定样本都是固定的,并且它只由栅格化产生的深度 结果,只可以压缩深度值 然而,如果可能的话,由算法决定利用固
定的分量来更好地压缩。
[0018] 如图1所示的深度缓冲器压缩方案一般共享三个公共步骤,它们是:
[0019] 1.群集化,
[0020] 2.预测器函数生成,以及
[0021] 3.差异编码。
[0022] 但是,值得注意的是,算法可以没有上面的步骤中的一个或两个。对步骤中的每一个步骤的高级别的描述如下。
[0023] 当例如在瓦片在有属于背景层的一组样本,而瓦片中的样本的其余部分属于前景层时,需要群集化。在这些情况下,非常难以使用相同预测器函数来压缩瓦片中的所有深度。因此,群集化步骤尝试将瓦片的样本分离为两个或多个层,其中,每一层中的样本通常应该共享一些特征(例如,接近于照像机)。将样本分裂为两层或更多层的目标是,与作为单层来压缩所有样本相比,每一层都应该理想地变得压缩起来更简单。但是,对于只有前景样本的瓦片,或当只有一个三角形覆盖整个瓦片时,可能不需要群集化。一般而言,需要一个位掩码或多个位掩码来指出样本属于哪一个层。
[0024] 作为下一步骤,每一层都生成其自己的预测器函数。这里的目标是使用深度样本,以及可能的它们的固定的(x,y,t)坐标来创建预测器函数,d(x,y,t),其任务是尝试使用便宜(就存储、生成,以及评估而言)的函数来预测每一样本中的深度。例如,假设带有小的每像素位移的矩形已经呈现给瓦片。作为预测器函数,可以使用矩形的平面,因为它可能是对深度将在哪里的良好猜测。此猜测将不能是100%正确,从而,由下一步骤决定来校正。
[0025] 差异编码必须确保在瓦片的解压缩过程中可以重建确切的深度 因为图形应用程序编程接口(API)的共同要求是,深度缓冲器是无损耗的。预测器函数d(x,y,t),以及样本的深度之间的差异按如下方式来计算:
[0026]
[0027] 给定好的预测器函数,样本的深度和预测器函数之间的差异δi应该小。结果,△(delta)应该使用很少的比特来编码。如果有少量的层,则可以实现好的压缩比,以便使用很少的比特来存储预测器函数,以便△也可以使用很少的比特来编码。压缩方案的另一个成功因素是,算法应该实际在呈现过程中在许多瓦片上被激活。
[0028] 首先,我们将瓦片的Zmin和Zmax之间的深度范围分裂为n个面元(bin),如图5的框22所示。对于每一个面元,我们存储一个比特,其记录在面元中是否有至少一个样本。比特被初始化为零。然后,基于样本的深度值,将每一样本分类到一个面元,且相应的比特被设置为1,如在框24中所指出的。在此步骤中可以忽略被清除的样本。当处理完所有样本时,每个0表示至少(Zmax-Zmin)/n的深度中的间隔。通过查找最大连续零范围,如框26所示,获得两个深度层的分离的良好逼近。
[0029] 在图2中,从左到右,深度值在深度轴上被标记为交叉,然后,这些深度值被Zmin和Zmax包围。然后,接下来是面元化,其中在此情形中创建Zmin和Zmax之间的八个小面元,且带有至少一个深度样本的面元被用1标记,否则,它们用0标记。最后,查找最大零间隙,这将深度分离为两层。然后,通过预测器函数生成步骤,将由此步骤产生的样本群集中的每一个独立地处理为一层。另外,群集化过程隐式地生成指示每一样本属于哪一层的一个或多个位掩码。位掩码将是瓦片的压缩的表示的一部分。如果需要,可以简单地通过查找第二和第三(等等)最长连续零范围,来将样本群集化为更多层。还可以进一步一般化此概念。代替每个面元具有一个比特,我们每个面元存储一个计数器,该计数器记录多少深度样本落在该面元内。然后,通过查找图示中的最深并且最长的“谷(valley)”,来执行群集化,其中,y是作为bin(x)(面元(x))的函数的计数器。这会产生更好的结果。
[0030] 此时,我们具有从前面的步骤生成的位掩码,指示对于当前层,应该压缩瓦片的w×h×n样本中的哪一个。注意,我们可以只有1层,在这样的情况下,所有样本都被包括。
[0031] 大多数深度缓冲器压缩方案依赖于这一事实:深度d=z/w在屏幕空间中是线性的,即:
[0032] d(x,y)=z(x,y)/w(x,y)=a+bx+cy.  (2)
[0033] 然而,一旦时间维度被包括以使得呈现运动模糊,就不再是这种情况。我们通过将时间t与预测器相加,还提高预测器项的次数,来处理压缩通过运动模糊生成的随机缓冲器的问题。一般而言,我们可以使用预测器函数,这是许多项的总和:
[0034] d(x,y,t)=∑mnoamnoxmynto.  (3)
[0035] 我们提议基于此公式的预测函数阵列,带有不同的活动系数星座图。当执行压缩时,可以尝试所有可能的组合。然而,我们选择了看起来对于我们遇到的数据类型合理的几个。下面列出了所选模式:
[0036]
[0037] 对于我们的三个模式,预测器函数具有4-8个未知的系数(a,b,等等)。取决于目标平台中的不同操作的成本,我们可以从两个提议的方法中的一个,即,使用最小二乘法,或使用数据简化,来获得预测函数。
[0038] 对于最小序列(least sequence),由于每一瓦片都包含许多样本,因此,当确定预测器函数的系数时,可以设置过约束(over-constrained)线性系统。这样的系统常常通过计算伪逆(pseudo-inverse)来求解,这涉及许多乘法和加法运算以及对较小矩阵求逆,这可以使用克莱姆(Cramer)法则来做到。如果乘法和加法运算在目标平台上是便宜的,那么,最小平方方法可能是有吸引力的,以便求出预测器函数常数。
[0039] 对于数据简化,下面的方法基于将一层中的样本减少到更可管理数目的代表点。首先,我们针对所有样本查找x和y中的边界框(图6,框32)。然后,将边界框分裂成2×2个均匀网格单元(图6,框34)。对每一单元,我们查找带有最小和最大深度值的两个样本(图6,框ij
36)。然后计算这两个样本的中点(在xyz中)(图6,框38)。这得到四个代表点,r ,i,j∈{0,
1},其中,i和j是网格单元坐标。
[0040] 图5和6的序列可以通过软件、硬件和/或固件来实现。在软件和固件实施例中,序列可以实现为存储在诸如磁性、半导体或光存储器之类的一个或多个非瞬态计算机可读介质中的计算机执行指令。
[0041] 类似地,对于考虑了t的模式,我们也可以计算t中的边界,并将边界框分裂为2×2×2个网格单元。这将导致8个代表点rijk,其中i,j,k∈{0,1},而不是4个。接下来,我们描述如何从这些减少的代表性数据点来处理每一特定模式。
[0042] 模式0描述了四维平面,以使得d(x,y,t)=a+bx+cy+dt。此表示对静态,以及对于移动几何形状有用,因为它包含dt项。当计算平面公式时,我们首先将原点移动到代表点中的一个。因此,我们不能计算最佳a-系数。相反,我们以后在差分编码步骤中计算它。现在,我们只剩下bx+cy+dt项要求解,以及三个剩余的代表点。可以使用适于求解3×3线性系统的任何方法,诸如,例如,克莱姆法则,来计算这些。
[0043] 模式1是针对静态几何形状,即,对于所呈现的帧的没有运动模糊的部分。我们使用由d(x,y)=a+bx+cy+dxy(我们称为模式1)描述的双线性补片。(图6,框40)。与只平面公式使用相比,此模式的启示是两倍的。首先,双线性补片在某种程度上更灵活,因为它是二次表面,因此,具有较高的适于表面的较平稳变化的机率。其次,导出双线性补片相当简单。
[0044] 给定位于常规2×2网格中的四个深度值,A、B、C,以及D,按如下方式来导出双线性补片是简单的:d(x,y)=(1-x)(1-y)A+x(1-y)B+(1-x)yC+xyD。然而,对于特定层,我们计算四个代表点,如上文参考简化所描述的,而现在的问题是,这些点中的每一个都可以位于瓦片内部的(几乎)任意位置,而且我们需要从这些导出双线性补片。我们如图3所示的那样求解它,其中,我们简单地从三个点计算平面,并评估合意xy位置中的平面的深度。
[0045] 对于模式1,我们获得四个点,(xi,yi,zi),i∈{0,1,2,3},并且我们需要在子瓦片的中间计算深度,A,B,C和D,如右边所示。例如,对于左上方子瓦片,从(x0,y0,z0)、(x1,y1,z1)和(x2,y2,z2)计算平面公式。然后,在左上方子瓦片的中心评估平面公式,这会得到A。通过使用A、B、C、以及D,直接将它重写为下列形式:d(x,y)=a+bx+cy+dxy。注意,还可以设置线性方程组并使用例如克莱姆法则来直接求解b、c、和d。
[0046] 模式2线性地内插位于t=0和t=1处的两个双线性补片(P0和P1),以随捕捉随着时间的推移而移动的表面。因此,我们获得公式z(x,y,t)=P0+t(P1-P0)。为计算此表示,我们ijk ijk首先执行数据简化,以产生2×2×2个代表点r 。使用四个代表点r ,i,j∈{0,1}来以与对于模式1的相同的方式来计算两个补片Pk,k∈{0,1}。每一补片Pk现在大致表示在时间的瓦片数据。我们现在具有此模式需要的所有八个系数。在最后一
个步骤中,通过外推将两个补片定位在时间t0=0和t1=1。
[0047] 所有我们的预测函数都具有类似的数据简化步骤。图4示出了xy-补片模式的设置过程。在左边,我们以一组不规则样本开始。样本的灰度表示它们的深度。在中间,查找样本的边界框。框以xy维度分为两半。在每一结果所得的子区域,从带有最小深度10和最大深度12的两个样本的平均值创建代表性的深度和位置。在右边,我们现在具有数据预测补片。为使解压缩更加容易,需要在为解压缩器所知的四个隐式位置评估近似深度。
[0048] 由于群集化和被清除的样本,数据简化步骤中的一些网格单元可以没有任何样本,所以我们不能创建它们的代表rij(k)。为了对此进行补救,我们使用相邻网格单元来估计新代表点。出于简便起见,我们只在xy近邻上填充缺失的数据,并且不是在t。如此,我们只必须考虑2×2分区情况,并且针对时间依存模式,将它执行两次。
[0049] 如果只有一个网格单元缺少样本,则我们从其他三个点创建平面,并在空网格单元的中心评估它。
[0050] 如果只有两个代表点,例如,r00和r01,以及两个空网格单元,则我们如下面所示地创建新点,r10:
[0051] e=r01-r00,
[0052]
[0053] 其中,通过在x和y中将差异矢量e旋转90度,并将它添加到r00的x和y,来创建r10的头两个分量。简单地从r00复制其他分量。这从自r00到r01的矢量挤出平面。当此第三代表点已经创建时,如同一个代表点错失那样地来进行。最后,如果只有一个代表点存在,那么,正在每一空的网格单元的中间创建代表点。它们的深度值被设置为现有点的深度值。
[0054] 在最后一个步骤,我们计算编码如何从预测器函数重新创建特定样本的校正项。我们需要为每个样本存储两个值。第一个是将该样本与特定层相关联的层索引。通常,我们使用一层和四个层之间,如此我们需要高达两个比特来存储此索引。如果可以使用单层来压缩瓦片,则我们不必存储这些索引。
[0055] 要存储的第二每样本值是校正项,δi。这些通过在层中的所有样本上循环并计算预测值d(x,y,t)和样本的实际深度之间的差异来查找。在此阶段,我们跟踪用于存储校正项的所需数量的比特,并且还计算我们的四个预测器函数的a-常数。设置a-常数,以使得仅获得无符号的校正项(即,所有样本位于预测器函数上方)。
[0056] 对于每个校正项的k个校正比特,我们预留值2k-1作为清除值,因此,可以只使用最多(并包括)2k-2的校正项。然而,在一个实施例中,我们获得能够以非常便宜的方式指示特定样本是否仍被清除的益处。否则,这通常使用层索引中的特定值来完成。
[0057] 图7示出了系统700的实施例。在各实施例中,系统700可以是媒体系统,虽然系统700不仅限于此上下文。例如,系统700可以集成到个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上电脑、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA的组合、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动因特网设备(MID)、消息接发设备、数据通信设备等等。
[0058] 在各实施例中,系统700包括耦合到显示器720的平台702。平台702可以从诸如内容服务设备730、或内容分发设备740之类的内容设备或其他类似的内容源接收内容。包括一个或多个导航特征的导航控制器750可以被用来与例如平台702和/或显示器720进行交互。在下文中更详细地描述这些组件中的每一个。
[0059] 在各实施例中,平台702可以包括芯片组705、处理器710、存储器712、存储714、图形子系统715、应用程序716、全球定位系统(GPS)721、相机723和/或无线电718的任何组合。芯片组705可以在处理器710、存储器712、存储714、图形子系统715、应用程序716和/或无线电718之间提供相互通信。例如,芯片组705可以包括能够与存储714进行相互通信的存储器适配器(未描绘)。
[0060] 另外,平台702还可以包括操作系统770。与处理器772的接口可以与操作系统和处理器710接口。
[0061] 可以提供固件790以实现诸如引导序列之类的功能。可以提供更新模块以使得固件能够从平台702外面更新。例如,更新模块可以包括判断更新尝试是否真正的并标识固件790的最近的更新以促进对何时需要更新的判定的代码。
[0062] 在某些实施例中,平台702可以由外部电源来供电。在某些情况下,平台702还可包括内部电池780,该内部电池780在不适用于外部电源的各实施例中或在允许电池作电源或者外部电源作电源的各实施例中,充当电源。
[0063] 如图5和6所示的序列可以以软件和固件实施例,通过将它们包括在存储714内或处理器710内的存储器内或图形子系统715内来实现,仅举几个例子。在一个实施例中,图形子系统715可以包括图形处理单元,而处理器710可以是中央处理单元。
[0064] 处理器710可以实现为复杂指令系统计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容的处理器、多核,或任何其他微处理器或中央处理单元(CPU)。在各实施例中,处理器710可以包括双核处理器、双核移动处理器等等。
[0065] 存储器712可以实现为易失性存储器设备,诸如,但不仅限于,随机存取存储器(RAM)、动态随机存取存储器(DRAM),或静态RAM(SRAM)。
[0066] 存储714可以实现为非易失性存储器设备,诸如,但不仅限于,磁盘驱动、光盘驱动、磁带驱动、内部存储设备、附连存储设备、闪存、电池供电的SDRAM(同步DRAM),和/或网络可访问的存储设备。在各实施例中,存储714可以包括一技术,此技术用于在例如包括多个硬盘驱动器时来提高对有价值的数字媒体的存储性能增强的保护。
[0067] 图形子系统715可以对诸如静止图像或视频之类的图像执行处理,供显示。图形子系统715可以是,例如,图形处理单元(GPU)或视觉处理单元(VPU)。模拟或数字接口可以被用来可通信地耦合图形子系统715和显示器720。例如,接口可以是高清晰度多媒体接口、显示端口(DisplayPort)、无线HDMI,和/或遵循无线HD的技术中的任何一个。图形子系统715可以被集成到处理器710或芯片组705中。图形子系统715可以可通信地耦合到芯片组705的独立卡。
[0068] 此处所描述的图形和/或视频处理技术可以以各种硬件体系结构来实现。例如,图形和/或视频功能可以集成在芯片组内。替代地,可以使用单独的图形和/或视频处理器。作为再一个实施例,图形和/或视频功能可以通过通用处理器(包括多核处理器)来实现。在又一实施例中,功能可以在消费电子产品中实现。
[0069] 无线电718可以包括能够使用各种合适的无线通信技术传输和接收信号的一个或多个无线电。这样的技术可以涉及跨一个或多个无线网络的通信。示例性无线网络包括(但不仅限于)无线局域网(WLAN)、无线人域网(WPAN)、无线城域网(WMAN)、蜂窝网络,以及卫星网络。在跨这样的网络的通信中,无线电718可以根据任何版本的一个或多个适用的标准来操作。
[0070] 在各实施例中,显示器720可以包括任何电视机类型监视器或显示器。显示器720可以包括,例如,计算机显示器屏幕、触摸屏显示器、视频监视器、类似于电视机的设备,和/或电视机。显示器720可以是数字和/或模拟的。在各实施例中,显示器720可以是全息显示器。同样,显示器720还可以是可以接收视觉投影的透明表面。这样的投影可以传达各种形式的信息、图像,和/或对象。例如,这样的投影可以是对于移动增强的现实(MAR)应用程序的视觉覆盖。在一个或多个软件应用程序716的控制下,平台702可以在显示器720上显示用户界面722。
[0071] 在各实施例中,内容服务设备730可以由任何国家的,国际的和/或独立的服务托管,并由此可以被平台702例如通过因特网来访问。内容服务设备730可以耦合到平台702和/或显示器720。平台702和/或内容服务设备730可以耦合到网络760以往返于网络760进行通信(例如,发送和/或接收)媒体信息。内容分发设备740还可以耦合到平台702和/或显示器720。
[0072] 在各实施例中,内容服务设备730可以包括有线电视盒、个人计算机、网络、电话、启用因特网的设备或能够分发数字信息和/或内容的电器,以及能够通过网络760或直接在内容提供商和平台702和/或显示器720之间单方向地或双向地传递内容的任何其他类似的设备。可以理解,内容可以通过网络760往返于系统700中的组件中的任何一个和内容提供商单向地和/或双向地传递。内容的示例可以包括任何媒体信息,包括,例如,视频、音乐、医学和游戏信息等等。
[0073] 内容服务设备730接收内容,诸如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供商的示例可以包括任何有线或卫星电视或电台或因特网内容提供商。所提供的示例不限制本发明的各实施例。
[0074] 在各实施例中,平台702可以从具有一个或多个导航特征的导航控制器750接收控制信号。控制器750的导航特征可以被用来例如与用户界面722进行交互。在各实施例中,导航控制器750可以是指示设备,该指示设备可以是计算机硬件组件(具体地,人机接口设备),可使用户向计算机中输入空间(例如,连续的和多维)数据。诸如图形用户界面(GUI)、电视机和监视器之类的许多系统可使用户使用物理手势控制并向计算机或电视机提供数据。
[0075] 控制器750的导航特征的移动可以通过指针、光标、焦点环,或显示在显示器上的其他可视指示器,在显示器上反射(例如,显示器720)。例如,在软件应用716的控制下,位于导航控制器750上的导航特征可以被例如映射到用户界面722上显示的虚拟导航特征。在各实施例中,控制器750可以不是单独的组件,而是集成到平台702和/或显示器720中。然而,各实施例不仅限于在所示出的或此处所描述的上下文中的元件。
[0076] 在各实施例中,驱动程序(未示出)可以包括允许用户立即打开和关闭平台702的技术,类似于电视机,例如,当启用时,在初始引导之后,按下按钮。程序逻辑可以允许平台702当平台被“关闭”时向媒体适配器或其他内容服务设备730或内容分发设备740流送内容。另外,芯片组705还可以包括,例如,对于5.1环绕声音频和/或高清晰度7.1环绕声音频的硬件和/或软件支持。驱动程序可以包括集成的图形平台的图形驱动程序。在各实施例中,图形驱动程序可以包括外围组件互连(PCI)Express图形卡。
[0077] 在各种实施例中,可以集成系统700所示出的组件的任何一个或更多。例如,可以集成平台702和内容服务设备730,或者也可以集成平台702和内容分发设备740,或者,例如,也可以集成平台702、内容服务设备730,以及以及内容分发设备740。在各种实施例中,平台702和显示器720可以是集成单元。例如,可以集成显示器720和内容服务设备730,或者也可以集成显示器720和内容分发设备740。这些示例不限制本发明。
[0078] 在各种实施例中,系统700可以实现为无线系统、有线系统,或两者的组合。当实现为无线系统时,系统700可以包括适用于通过无线共享介质进行通信的组件和接口,诸如一个或多个天线、发射器、接收器、收发器、放大器、滤波器、控制逻辑等等。无线共享介质的示例可以包括诸如RF频谱之类的无线范围的某些部分等等。当实现为有线系统时,系统700可以包括适用于通过有线通信介质进行通信的组件和接口,诸如输入/输出(I/O)适配器、将I/O适配器与相应的有线通信介质连接的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等等。有线通信介质的示例可包括,线路、电缆、金属导线、印刷电路板(PCB)、后面板、交换机结构、半导体材料、双绞线、同轴电缆、光纤等等。
[0079] 平台702可以建立一个或多个逻辑或物理信道以传递信息。信息可以包括媒体信息和控制信息。媒体信息可以是指表示给用户的内容的任何数据。内容的示例可以包括,例如,来自语音谈话、视频会议、流式视频、电子邮件消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等的数据。来自语音谈话的数据可以是,例如,语音信息、静默时间长度、背景噪声、舒适噪声、音调等等。控制信息可以是指表示用于自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用来通过系统路由媒体信息,或指示节点以预先确定的方式处理媒体信息。然而,各实施例不仅限于图8中所示出的或所描述的上下文中的元件。
[0080] 如上文所描述的,系统700可以以不同的物理样式或形状因子来体现。图7示出了其中可以实现系统700的小形状因子设备800的各实施例。在各实施例中,例如,设备800可以实现为具有无线能力的移动计算设备。移动计算设备可以是指具有处理系统和移动电源(诸如,例如,一个或多个电池)的任何设备。
[0081] 如上文所描述的,移动计算设备的示例可以包括个人计算机(PC)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上电脑、个人数字助理(PDA)、蜂窝电话、蜂窝电话/PDA的组合、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动因特网设备(MID)、消息传送设备、数据通信设备等等。
[0082] 移动计算设备的示例还可以包括被配置为由人佩带的计算机,诸如腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带计算机、臂带计算机、鞋计算机、衣服计算机,及其他可佩带的计算机。例如,在各实施例中,移动计算设备可以实现为能够执行计算机应用程序以及语音通信和/或数据通信的智能电话。虽然可以利用作为示例实现为智能电话的移动计算设备描述一些实施例,但是,可以理解,其他实施例也可以使用其他无线移动计算设备来实现。在此上下文中,实施例不受限制。
[0083] 如图8所示,设备800可以包括外壳802、显示器804、输入/输出(I/O)设备806,以及天线808。设备800还可以包括导航特征812。显示器804可以包括用于显示适合于移动计算设备的信息的任何合适的显示单元。I/O设备806可以包括用于向移动计算设备中输入信息的任何合适的I/O设备。I/O设备806的示例可以包括字母数字键盘、数字键区、触摸板、输入键、按钮、开关、往复式开关、麦克风、扬声器、语音识别设备以及软件等等。信息还可以通过麦克风输入到设备800中。这样的信息可以通过语音识别设备来数字化。在此上下文中,实施例不受限制。
[0084] 各实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、感应器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等等。软件的示例可包括软件组件、程序、应用程序、计算机程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。判断一个实施例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及其他设计或性能约束。
[0085] 至少一个实施例的一个或多个方面可以通过存储在机器可读取的介质上的代表性的指令来实现,指令表示处理器内的各种逻辑,指令在由机器读取时使机器制造执行此处所描述的技术的逻辑。被称为“IP核”的这样的表示可以存储在有形的,机器可读的介质中,并提供给各种客户或生产设施,以加载到实际制造逻辑或处理器的制造机器中。
[0086] 各实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、感应器等等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等等。软件的示例可包括软件组件、程序、应用程序、计算机程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号,或其任何组合。判断一个实施例是否使用硬件元件或软件元件来实现可以根据任意数量的因素而不同,如所希望的计算速率、功率级别、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度,及其他设计或性能约束。
[0087] 至少一个实施例的一个或多个方面可以通过存储在机器可读介质上的代表性的指令来实现,指令表示处理器内的各种逻辑,指令在由机器读取时使机器制造执行此处所描述的技术的逻辑。被称为“IP核”的这样的表示可以存储在有形的机器可读介质中,并提供给各种客户或生产设施,以加载到实际制造逻辑或处理器的制造机器中。
[0088] 此处所描述的图形处理技术可以以各种硬件体系结构来实现。例如,图形功能可以集成在芯片集内。可另选地,可以使用单独的图形处理器。作为再一个实施例,图形功能可以通过通用处理器(包括多核处理器)来实现。