深度立体:学习从现实世界形象预测新视图的制作方法

文档序号:13099019阅读:189来源:国知局
深度立体:学习从现实世界形象预测新视图的制作方法与工艺

本申请要求于2015年5月13日提交的美国临时申请序号no.62/161,159的优先权,将其通过引用并入如同完全在此阐述的那样。

本文档总的来说关于与图像相关联的深度网络和深度学习。



背景技术:

深度网络和深度学习可以应用于根据大规模数据生成和改进模型和表示。可以考虑深度学习是机器学习的更广泛应用的一部分。深度学习可以基于例如从多级处理/计算装置积蓄的计算机视觉中的特征表示的无监督学习,这多级处理/计算装置形成从低级到高级特征的分级。这多层的组成和布置可以例如基于要解决的特定问题来开发。



技术实现要素:

在一个方面中,一种方法可以包括:访问来自数据库的多个提出图像集合,该多个姿势提出图像集合分别对应于多个场景,该多个提出图像集合中的每一个包括多个场景中的相应的场景的多个视图;根据自动视图生成算法,基于从与该场景对应的提出图像集合中包括的场景的多个视图中选出的视图生成所请求的场景视图,其中,所请求的场景视图不包括在相应的提出图像集合中包括的场景的多个视图中;比较由自动视图生成算法生成的场景的视图与已知的场景视图;和基于比较更新视图生成算法。

在另一方面中,一种方法可以包括:接收要呈现的场景的视图的请求;从数据库访问分别表示多个场景视图的多个存储的提出图像;从多个存储的提出图像选择多个图像,所选的多个图像表示与所请求的场景视图相邻的场景视图;在多个深度重投影所选的多个图像中的每一个的深度片段;基于在重投影的深度片段的像素,确定所请求的场景视图的深度和确定在所确定的深度的所请求的场景视图的每个像素的颜色;和生成所请求的场景视图。

在另一方面中,一种方法可以包括:接收场景的视图的请求;从存储多个提出图像集合的数据库检索包括多个相应的场景的视图的多个提出图像集合中的每一个,该提出图像集合对应于所请求的场景视图;和基于从相应的提出图像集合中包括的多个场景视图选出的视图生成所请求的场景视图,所请求的视图不包括在相应的提出图像集合的多个场景视图中。

在另一方面中,用于生成场景视图的系统可以包括网络。该网络可以包括包含处理器的计算装置,该计算装置与数据库通信,该数据库存储分别对应于多个场景的多个提出图像集合,该多个提出图像集合中的每一个包括多个场景中的相应的场景的多个视图,该网络包括选择塔,配置为确定所请求的输出图像中的每个输出像素的深度,所请求的输出图像对应于所请求的场景视图,和颜色塔,配置为生成所请求的输出图像的每个输出像素的颜色。该选择塔和颜色塔可以配置为从与所请求的场景视图对应的提出图像集合中包括的多个场景视图选择的视图,所请求的场景视图不包括在相应的提出图像集合的多个场景视图中。选择塔和颜色塔可以配置为生成用于由计算装置的处理器处理以生成所请求的场景视图的所请求的输出图像。

在以下的附图和描述中阐述一个或多个实施方式的细节。其他特征从说明书和附图,以及从权利要求中显现。

附图说明

图1a和图1b图示根据在这里描述的实施方式从现有图像呈现的新视图。

图2图示根据在这里描述的实施方式,从各种视图到在深度范围的新目标相机视场的各种图像的平面扫过立体重投影。

图3和图4图示根据在这里描述的实施方式的包括选择塔和颜色塔的网络。

图5图示根据在这里描述的实施方式,配置为学习产生每个深度平面中每个像素的选择概率的选择塔。

图6图示根据在这里描述的实施方式,配置为学习跨源地组合和弯曲像素以产生在多个深度平面的特定像素的颜色的颜色塔。

图7图示根据在这里描述的实施方式,由系统和方法产生的重投影图像的两个不同实例。

图8图示可以用于实现在这里描述的技术的计算装置和移动计算装置的实例。

具体实施方式

深度网络可以应用于各种不同类型的识别和分类问题。在系统和方法中,根据在这里描述的实施方式,深度网络可以应用于例如使用深度架构的计算机视觉和图形中的识别和分类问题,该深度架构直接从大量的,比如几百万的提出图像集合学习执行新视图合成,该提出图像集合例如是具有已知特性的图像的集合,且该已知特性例如是透视和/或颜色和/或深度。例如,在根据在这里描述的实施方式的系统和方法中,可以从该相对大数目的提出图像集合训练深度网络,且然后,在操作中,该深度网络可以基于以大数目的提出图像集合进行的训练,依赖相对小数目的相关图像以生成新的预先未看见的视图。

相比依赖多个复杂的处理阶段,根据在这里描述的实施方式的系统和方法可以例如通过向网络呈现场景的相邻视图的图像,例如图像的像素来训练端到端,以直接产生未看见的任意/所请求的场景视图的图像。所请求的视图例如可以是从特定透视和/或视角和/或深度的被摄体或者被摄体区域的视图。相邻图像例如可以是可从与所请求的视图相邻的提出图像集合获得的图像。例如,在某些实施方式中,可以通过呈现场景的各种视图中的输入图像的集合,请求该输入图像的集合中未包括的视图,且然后向网络呈现应该响应于请求产生的图像来训练该系统。在某些实施方式中,对于视图合成,通过移去一个图像并且将其放一边,且然后从剩余图像中再现移去的图像,提出图像的一个或多个集合可以用作一个或多个训练集。根据在这里描述的实施方式,从相对昂贵的数据库采集的相对大量的数据可以用于训练模型。该类型的数据库的实例是街道视图地图数据库,其包括跨全球大部分的提出图像的巨大汇集。虽然为了便于说明和图示在适当时在下文中可以涉及该实例,在这里讨论的原理可以应用于利用其他这种昂贵的数据汇集的其他实施方式。

通过重复,充分利用大规模数据库(例如,街景地图数据库)中可用的图像/视图,系统可以连续地学习和改善其处理以产生所请求的图像。依赖提出图像集合和应用于不同领域,和基于从先前数据学习的比如颜色、深度和纹理的各种特征填充未看见的像素,该端到端方法可以允许某个级别的通用性。当生成视图插值和视图合成全向立体形象时,该方法可以减少例如由于封闭和含糊导致的人为因素的发生,且可以对于要合成的相对困难的场景产生相对高质量的结果。

从多个提出图像估计三维(3d)形状可能是在生成可以呈现和编辑的场景的3d表示时的基本任务。在某些实施方式中,可以通过基于呈现的图像(ibr)的形式执行新颖的视图合成以合成场景的新视图,在该基于呈现的图像中,通过弯曲和组合来自场景的附近提出图像的图像来合成场景的新视图。该方法例如可以应用于增强现实和/或虚拟现实系统、电话会议系统、3d单眼电影系统、电影摄影术、图像稳定化及其他这类实现。除了涉及可以对每个目标像素的立体、颜色和封闭分量建模的多视图立体或者图像弯曲方法的技术之外,根据在这里描述的实施方式的系统和方法可以平衡深度网络以从提出图像中直接学习合成新视图。

在该类型的新视图合成的方法中,深度网络可以用于直接回归以输出给定提出输入图像的像素颜色。该系统可以在由导致的宽的基线分开的视图之间插值,该宽的基线例如由训练的端到端性质,和深度网络学习与输入有关的极端复杂的非线性函数的能力导致。在根据在这里描述的实施方式的系统和方法中,关于正在呈现的场景的最小假定例如可以包括有限深度范围内场景的相对静止性质。即使在这些参数之外,产生的图像也可能相对常态地恶化且可能保持视觉上貌似真实。除了到新视图的合成的应用之外,利用在这里描述的深度架构的系统和方法也可以应用于给定适当的训练数据的其他立体和图形问题。

例如,如图1a所示,给定场景a的新视图cv,比如图1a所示的房屋可以由网络从分别在第一和第二视点v1和v2的现有的第一和第二图像i1和i2呈现,而没有与新视图cv有关的附加信息。类似地,给定场景b的新视图cv,比如图1b所示的室外场景,可以由网络从每个在不同的各个视点v1到vn的现有的多个图像i1到in呈现,而没有与新视图cv有关的附加信息。

在某些实施方式中,深度网络终对图像理解和解释的应用,可以提供用于将深度学习应用于图形生成,且具体来说应用于与特定的图形应用相关联的深度和立体的基础。另外,可以通过使用许多层小的卷积和池化(pooling)来实现改进的性能,该池化为了寻址与深度网络相关联的大量参数,否则将使得这些系统易于在没有大量数据的情况下过拟合(over-fitting)。

根据在这里描述的实施方式的系统和方法可以做出如上所述关于正在呈现的场景的最小假定,例如,场景是静止的且场景在有限的深度范围内存在。在某些实施方式中,模型可以概括超出训练数据到新颖的形象,例如包括在前工作中使用的图像汇集。

如图2所示,给定提出输入图像i1到in的集合,可以从新目标相机ct的视点或者与要从提出输入图像i1到in生成的新场景相关联的新视点呈现新图像,该新目标相机ct表示捕获视场。在图2中,平面扫过立体分别从视点v1和v2将提出输入图像i1和i2在许多不同深度重投影到目标相机ct,例如,从最小深度d1到最大深度dd,其中提出输入图像i1和i2的一个或多个重投影图像取一个或多个中间深度dk。例如,提出输入图像i1的重投影图像r1到rn可以在范围从d1到dd的深度生成,且提出输入图像i2的重投影图像s1到sn可以在范围从d1到dd的深度生成。在图2中,虚线可以指示从输入图像i1和i2重投影到特定的输出图像像素r1到rn、s1到sn的像素。

呈现新图像的一个方法可以是通过向网络直接提供输入图像而无经验地训练深度网络以合成新视图。在该方法中,新视点的提出参数(与新目标相机ct视场对应的要产生的新视图cv)可以作为输入提供到网络以产生期望的视图/图像。由于提出参数、输入图像和输出图像的复杂的非线性关系,这也涉及网络学习如何解释旋转角度和如何执行图像重投影,这可能是网络资源的无效率使用。另外,在该方法中,网络可能比较和组合在初始输入图像中的潜在地远离的像素以合成新视图,驱动网络中的相对密集的长距离连接的需要,导致网络的训练变慢和易于过拟合,特别是当处理大规模数据时。在某些情况下,这可以通过应用内部外延极性约束以限制到相应的外延极性线上的管道的连接而配置的网络结构解决。但是,该类型的结构可能是提出依赖的(pose-dependent)和计算无效率的,特别是当处理大规模数据时。

如上所述,分别从视点v1到vn的一系列输入图像i1到in可以相对于视点在d1和dd之间的不同距离重投影,或者要从其呈现新的/所请求的视图cv的新目标相机ct在这些不同的重投影距离呈现片段。该系统可以从相对接近于新目标相机ct的位置(例如,在街道视图的情况下距离新目标相机ct大约2米)到相对远离新目标相机ct的位置(例如,在街道视图的情况下距离新目标相机ct大约30米或更多),以给定间隔扫过通过该深度范围(例如,在某些实施方式中,64到96个不同深度)。在某些实施方式中,该系统可以以距离反比,或者距离倒数,例如,最大距离dd的倒数的最小间隔,或者基于在最小距离d1和最大距离dd之间的另一距离的另一间隔,步进通过深度范围。从这些重投影的深度片段,以可用的每个重投影的深度片段的许多图像(例如,4-5个输入视图,每个具有每个深度段的4-5个图像),可以生成每个输入视图的重投影的深度片段。例如,左重投影图像的像素和右投影图像的像素可以(分别)在正确深度对齐。可以组合重投影的深度片段以产生对于该深度片段最好的颜色,和确定特定的像素/图像的正确深度。网络可以确定特定的像素的正确深度和正确深度片段,且然后确定正确的颜色。这些要素可以一起学习。网络然后可以确定,或者学习特定像素处于特定深度片段的概率,将该概率乘以计算的颜色,且将其加和以产生最终的图像。

更具体地,在根据在这里描述的实施方式的系统和方法中,网络可以包括3d平面扫过容积的集合作为输入。平面扫过容积(psv)例如可以包括重投影到新目标相机ct的图像的堆叠。堆叠中的每个图像可以在变化深度的集合d∈d1...dd重投影到新目标相机ct中,以形成平面扫过容积vc=p1...pd...pd。也就是,如图2所示,平面扫过立体可以在深度范围d∈d1...dd将图像i1、i2从v1和v2重投影到新目标相机ct。将输入图像重投影到目标相机c中例如可以使用纹理映射进行,且可以由图形处理单元(gpu)执行。可以对于每个输入图像生成分离平面扫过容积vkc。每个平面扫过容积vkc中的每个素(voxel)vx,y,z可以具有r、g、b和a(阿尔法)分量,阿尔法信道指示对于特定的素的源像素的可用性。

通过使用平面扫过容积作为到网络的输入,提出参数可以是平面扫过容积的结构中使用的隐含输入,而不是分开地提供的输入。另外,因为现在相应的像素布置在平面扫过容积的相应的列中,可以在平面扫过容积内一般地强制外延极性约束。因此,不需要像素/图像之间的长距离连接,且给定输出像素/图像仅依赖于来自每个源的平面扫过容积中的每一个的素的小列。类似地,因为执行以在位置i,j产生输出像素p的计算显著地独立于像素pi,j的位置,可以使用卷积神经网络,该卷积神经网络可能涉及比全连接网络更少的参数且因此可以更快地训练。也可以更快地在卷积神经网络上运行推算,且可以共享来自较早层的计算。例如,在一个实施例中,模型可以将二维(2d)卷积层应用于输入平面扫过容积内的每个平面。除在卷积层内共享权重之外,该模型也可以利用平面扫过容积中跨平面的权重共享,这允许关于每个平面执行的计算独立于平面的深度。

在某些实施方式中,模型可以包括层的两个塔,其中到每个塔的输入是平面扫过容积vkc的集合。该双重架构可以允许深度预测和颜色预测两者。例如,在深度预测中,可以确定输出图像中的每个像素的近似深度,以随后确定要用于生成输出像素的源图像像素。该深度上的概率可以使用训练数据计算,而不是平方和距离(ssd)方法,归一化互相关(ncc)方法或者方差方法。在颜色预测中,给定所有有关的源图像像素,可以通过使用训练数据最优地组合源像素产生用于输出像素的颜色,而不是仅执行简单平均。

图3所示的两个塔可以实现深度预测和颜色预测的任务。选择塔可以生成指示每个像素具有特定深度的可能性的每个深度的概率地图(或者选择地图)。颜色塔可以生成每个深度的纯色(fullcolor)输出图像。例如,假定深度对于特定的像素是正确的,颜色塔可以产生每个深度可能的最好的颜色。然后可以组合彩色图像作为每像素权重和,其中权重从选择地图得到。也就是,选择地图可以用于确定用于每个输出像素的最好的颜色层。对视图合成的方法可以允许系统使用深度学习方法,同时端到端地学习选择塔和颜色塔两者的所有参数。另外,跨颜色层的权重平均可以产生对不可靠性的某些恢复力,特别在算法较不确信的区域中。

具体来说,每个塔的第一层可以级联源之上的输入平面扫过容积,允许网络跨源地比较和组合重投影的像素值。例如,如图3和图4所示的选择塔可以对于每个像素pi,j,在每个平面pd中计算该平面的该像素的选择概率si,j,d,如图4所示。如图3和图4所示的颜色塔可以对于每个像素pi,j,在每个平面pd中计算该平面的该像素的颜色ci,j,d,如图5所示。通过在平面的深度之上加和来计算每个像素的最终输出颜色,如等式(1)中所示。

等式(1):

到每个塔的输入可以包括平面扫过容积vkc的集合(包括在所有容积之上的所有重投影图像n-d,其中n是源图像的数目,且d是深度平面的数目)。每个塔的第一层可以在每个重投影图像pki上独立地操作,允许系统学习低级图像特征。在第一层之后,与n个源对应的特征地图可以在每个深度平面之上级联,且后续层可以在这些每深度平面特征地图上操作。选择塔的最终层也可以利用跨深度平面的连接。

在某些实施方式中,选择塔可以包括两个主级。早的层例如可以包括多个2d卷积矫正线性层,其共享跨所有深度平面的权重,且在第一层的深度平面内。例如,基于先前学习,早的层可以计算独立于深度的特征,比如像素差值,从而它们的权重可以共享。层的最终集合可以跨深度平面连接,以使得可以对深度平面之间的深度平面交互,比如由封闭引起的深度平面交互(例如,在深度模糊的情况下,网络可以学习优选具有较高分数的更近的平面)可以建模。网络的最终层可以是在深度之上的每像素softmax归一化变换器,如图4所示。该softmax变换器可能使得模型挑选每像素的单个深度平面,同时保证在所有深度平面之上的和是1。在一些实施例中,使用倒数第二层的双曲正切激活可以产生比线性层更稳定的训练。例如,在某些情况下,线性层可以在某个深度平面停下,而不由于例如与softmax层相关联的相对大的梯度而恢复。选择塔的输出可以是单信道节点si,j,d的3d容积,如等式(2)所示。

等式(2)

如图5所示,颜色塔可以包括例如跨所有平面共享权重的2d卷积矫正线性层,其后是线性重建层。封闭效应在颜色层中不具有相同级别的相关性,所以可以不需要跨深度交互。颜色塔的输出可以是节点ci,j,d的3d容积。输出中的每个节点可以具有与r、g和b对应的三个信道。

选择塔和颜色塔的输出可以一起与节点相乘以产生输出图像。在训练期间,产生的图像可以例如使用每像素损失l1与已知的目标图像it或者训练图像比较。可以根据等式(3)确定总损失l,其中是在像素i,j的目标颜色。

等式(3)

在某些实施方式中,不是一次性预测所有全图像,系统可以逐碎片地(patch-by-patch)预测输出图像。输入碎片周围的连续大面积的低分辨率版本的集合中的传递(passing)可以通过向网络提供更多上下文来改进结果,其中,改进的结果指的是预测的视图更精确。例如,在某些实施方式中,系统可以在四个不同分辨率中传递。每个分辨率可以首先由几个层独立地处理,且然后在进入最终层之前上采样和级联。上采样可以利用最近的相邻插值。完成的网络的更多细节如图6所示。

在一个示例实施方式中,如上所述,可以从相对昂贵的数据库采集相对大量的数据以训练模型。在上面描述的示例实施方式中,由街道视图数据库包括的跨越地球大部分的提出图形的巨大汇集可以用于训练这种模型。在该示例实施方式中,由移动车辆捕获的街景的图像可以用于训练网络。例如可以使用测距法来自运动技术的结构提出图像。在车辆移动时,车辆可以间歇地捕获图像的簇或者组或者环(rosette)。例如,车辆可以在多个预定时间戳的每一个捕获图像的环。每个环可以包括从视图的一个或多个预定点捕获的按预定布置的多个图像。例如,在某些实施方式中,取决于采用的图像捕获装置或者相机的类型,每个环可以包括8个图像,或者15个图像,或者另一数目的图像。每个包括多个图像的环可以定义输入图像的流。

在某些实施方式中,系统的训练可以包括实质上连续地运行样本生成管线,选择和重投影相对大数目的环中包括的输入图像的随机碎片。例如,在一个示例实施方式中,可以在样本生成管线中包括多达100,000个环,且可以训练网络以从26×26输入碎片产生8×8输出碎片,如图3所示。来自许多图像的碎片可以组合以生成迷你批(mini-batch),例如具有400的预定大小。该网络然后可以例如使用分布的梯度下降来训练。由于样本随机化,和相对大量的可用的训练数据,训练期间的任意碎片的复制使用在在该示例实施方式中是非常不可能的。

为了以上面描述的方式估计训练网络的有效性,使用相同模型或算法,但是使用两个不同类型的训练数据来训练两个网络。基于由如上所述的昂贵的街景数据库提供的图像数据训练第一网络。使用测距法及其他运动方法的组合提出街景数据库中包括的图像,其中使用卷帘快门的车辆安装的相机以每个曝光的不同方向捕获如上所述的图像的集合,或者环。使用来自标准测距法数据集的提出的图像序列训练第二网络。在关于视图插值的任务估计第一和第二网络的性能时,从与已知(但是保留)的图像相同的视点生成新颖的图像。在训练期间,用于训练第一网络的街景数据库的每个环提供在每个方向上的像素,所以重投影的深度平面总是具有有效的像素。对于用于训练第二网络的标准数据集,深度平面的某些部分不是从所有相机可见的。因为模型在训练期间没有遇到丢失像素,丢失像素在由第二网络生成的图像中生成某些错误,主要在图像的边界。

在进一步比较中,实现基线ibr算法,以使用四个最近的输入图像将像素从两个最近的图像压到(splat)目标视图中,散布相邻的有效像素以填充任何小的剩余孔,从而计算深度。根据在这里描述的实施方式的系统和方法对于所有间隔性能优于基线ibr算法。根据在这里描述的实施方式的系统和方法的性能也优于应用于图像间插值的光流算法。因为当实现该类型的光流算法时没有3d提出(3dpose)的概念,插值图像仅大约在保留图像的视点处。

总体地,在根据在这里描述的实施方式的系统和方法中实现的模型可以产生可能难以与初始的实际形象区分的相对高质量的输出图像。该模型可以处理各种不同类型的有挑战的表面和纹理,例如图1b所示的树和玻璃,其中镜面的性能正常地恶化,且相对注意不到。可能通常在训练期间遇到的移动对象,例如在场景中在风中飘扬的旗帜,可能以引起运动模糊的方式被模糊。学习产生这些图像的网络的实例如图7所示。

图7图示以该方式产生的重投影图像的两个不同实例。一个图像是具有相对光滑表面纹理的台子,且第二图像是具有更复杂的视觉纹理的树。这些图像在单个深度平面重投影,且已经选择这些图像以使得由这些图像表示的裁剪区域具有在该特定平面的强的选择概率。重投影的输入视图在图7的左部示出,在给定深度平面的选择层和颜色层的输出在图7的中间部分示出,且对平均值的比较在图7的右部示出。如图7所示,颜色层可能贡献多于简单地平均输入的重投影图像。而且,可以学习弯曲和鲁棒地组合输入以产生用于该深度平面的彩色图像。这可以允许系统产生各深度平面,其被分开多于一个像素的不一致性。

在根据在这里描述的实施方式的系统和方法中,深度网络可以仅使用提出形象的集合,被端到端地训练以执行新颖的视图合成,以从提出图像的集合中提供高质量的精确的合成视图。如上所述,用于学习预测的系统和方法可以由深度学习实现,由深度网络促进,以从大规模数据中生成和改进模型和表示。可以从多级处理/计算装置积蓄供能这种深度网络的数据,这多级处理/计算装置基于要解决的特定问题,形成从低级到高级特征的分级。

图8提供可以在深度网络中包括的通用电子计算装置700和通用移动电子计算装置780的实例。计算装置700意在表示各种形式的数字计算机,比如膝上型计算机、可转换计算机、平板计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、主机及其他适当的计算机。计算装置780意在表示各种形式的移动装置,比如个人数字助理、蜂窝电话机、智能电话机及其他类似的计算装置。这里示出的组件,它们的连接和关系,和它们的功能仅意在为示例性,且不意味着限制该文档中描述和/或要求的本发明的实施方式。

计算装置700包括处理器702、存储器704、存储装置706、连接到存储器704和高速扩展端口710的高速接口708,和连接到低速总线714和存储装置706的低速接口712。组件702、704、706、708、710和712中的每一个使用各种总线互连,且可以安装在公共的母板上或者按照适当的其他方式安装。处理器702可以处理用于在计算装置700内执行的指令,包括存储器704中或者存储装置706上存储以在外部输入/输出装置,比如耦合到高速接口708的显示器716上显示用于gui的图形信息的指令。在其他实施方式中,酌情地,可以与多个存储器和多个类型的存储器一起使用多个处理器和/或多个总线。此外,多个计算装置700可以与提供部分必要的操作的每个装置(例如,作为服务器排、一组刀片服务器或者多处理器系统)连接。

存储器704在计算装置700内存储信息。在一个实现中,存储器704是一个或多个易失性存储器单元。在另一实现中,存储器704是一个或多个非易失性存储器单元。存储器704也可以是另一形式的计算机可读介质,比如磁盘或者光盘。

存储装置706能够提供用于计算装置700的大容量存储。在一个实施方式中,存储装置706可以是或者可以包括计算机可读介质,比如软盘装置、硬盘装置、光盘装置或者磁带装置、闪存存储器或者其他类似的固态存储器装置,或者装置的阵列,包括以存储区网络或者其他配置的装置。计算机程序产品可以可触知地具体表现为信息载体。计算机程序产品也可以包括当执行时执行比如上面描述的一个或多个方法的指令。信息载体是计算机或者机器可读介质,比如存储器704、存储装置706或者处理器702上的存储器。

高速控制器708管理计算装置600的带宽密集操作,而低速控制器712管理低带宽密集操作。这种功能的分配仅是示例性的。在一个实施方式中,高速控制器708耦合到存储器704、显示器316(例如通过图形处理器或者加速器),且耦合到可能接受各种扩展卡(未示出)的高速扩展端口710。在该实施方式中,低速控制器712耦合到存储装置706和低速扩展端口714。低速扩展端口可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网),其可以例如通过网络适配器耦合到一个或多个输入/输出装置,比如键盘、定点装置、扫描仪,或者比如交换机或者路由器的联网装置。

计算装置700可以处于多个不同形式实现,如图所示。例如,其可以实现为标准服务器720,或者以这种服务器的组多次实现。它也可以实现为机架服务器系统724的一部分。另外,其可以以比如膝上型计算机722的个人计算机实现。替代地,来自计算装置700的组件可以与移动装置(未示出),比如装置780中的其他组件组合。这种装置中的每一个可以包括计算装置700、780中的一个或多个,且整个系统可以由彼此通信的多个计算装置700、780组成。

计算装置780包括处理器782、存储器764和比如显示器784、通信接口766和收发器768的输入/输出装置,及其他组件。装置780也可以提供有存储装置,比如微驱动器或者其他装置,以提供附加的存储。组件780、782、764、784、766和768中的每一个使用各种总线互连,且几个组件可以安装在公共的母板上或者按照需要以其他方式安装。

处理器782可以执行计算装置780内的指令,包括存储器764中存储的指令。处理器可以实现为包括单独的和多个模拟和数字处理器的芯片的芯片组。例如可以提供处理器用于装置780的其他组件的协调,比如用户界面的控制,由装置780运行的应用和装置780的无线通信。

处理器782可以通过控制接口788和耦合到显示器784的显示器界面786与用户通信。显示器784例如可以是是tftlcd(薄膜晶体管液晶显示器)或者oled(有机发光二极管)显示器,或者其他适当的显示技术。显示器界面786可以包括用于驱动显示器784以向用户呈现图形信息及其他信息的适当的电路系统。控制接口708可以从用户接收命令并将其转换以用于提交到处理器782。例如,控制接口788可以例如经由键盘780接收由用户键入的输入,并将输入发送到处理器782以用于处理,比如,用于将相应的文本键入到显示的文本框中。另外,外部接口762可以提供与处理器782的通信,从而使能装置780与其他装置的近场通信。例如可以提供外部接口362在某些实施方式中用于有线通信,或者在其他实施方式中用于无线通信,且也可以使用多个接口。

存储器764存储计算装置780内的信息。存储器764可以实现为一个或多个计算机可读介质或者媒体,一个或多个易失性存储器单元或者一个或多个非易失性存储器单元。扩展存储器774也可能被提供并通过扩展接口772连接到装置880,该扩展接口772例如可以包括simm(单列直插式存储器模块)卡接口。这种扩展存储器774可以提供装置780的附加存储空间,或者也可以存储装置780的应用或者其他信息。特别地,扩展存储器774可以包括指令以进行或者补充上面描述的处理,且还可以包括安全信息。因此,例如,扩展存储器774可以提供作为装置880的安全性模块,且可以以允许装置880的安全使用的指令进行编程。另外,安全应用可以与附加信息一起经由simm卡提供,比如以不易破解的方式将标识信息置于simm卡上。

如以下讨论的,存储器例如可以包括闪存存储器和/或nvram存储器。在一个实施方式中,计算机程序产品可触知地具体表现为信息载体。计算机程序产品包括当执行时执行比如上面描述的一个或多个方法的指令。信息载体是计算机或者机器可读介质(比如存储器764、扩展存储器874或者处理器352上的存储器),其可以经例如收发器768或者外部接口762接收。

装置780可以通过通信接口766无线地通信,该通信接口766可以在必要时包括数字信号处理电路系统。可以提供通信接口366用于在各种模式或者协议下的通信,比如gsm语音呼叫、sms、ems或者mms消息传递、cdma、tdma、pdc、wcdma、cdma2000或者gprs,等等。例如,这种通信可以通过射频收发器768发生。另外,可能发生短距离通信,比如使用蓝牙、wi-fi或者其他这种收发器(未示出)。另外,gps(全球定位系统)接收器模块770可以向装置780提供附加的导航和位置有关的无线数据,其可以由运行在装置780上的应用按照需要使用。

装置780也可以使用音频编解码器760可听地通信,该音频编解码器760可以从用户接收讲话信息并将其转换为可使用的数字信息。音频编解码器360同样地可以生成用于用户的可听声音,比如通过例如在装置780的听筒中的扬声器。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),且也可以包括由在装置780上操作的应用生成的声音。

计算装置780可以以多个不同形式实现,如图所示。例如,其可以实现为蜂窝电话机780。其也可以实现为智能电话机782、个人数字助理或者其他类似的移动装置的一部分。

在这里描述的各种技术的实现可以以数字电子线路,或者以计算机硬件、固件、软件或者以它们的组合实现。实现可以实现为计算机程序产品,即,可触知地具体表现为信息载体的计算机程序,例如,以用于由数据处理设备处理或者控制数据处理设备的操作的机器可读存储装置(计算机可读介质),该数据处理设备例如是可编程处理器、计算机或者多个计算机。因此,计算机可读存储介质可以配置为存储当执行时使得处理器(例如,在主机装置的处理器,在客户端装置的处理器)执行处理的指令。计算机程序,比如上面描述的一个或多个计算机程序,可以以任何形式的编程语言编写,包括编译或者解释语言,且可以以任意形式采用,包括作为独立程序或者作为模块、组件、子例程或者适用于计算环境中的其他单元。可以采用计算机程序以在一个计算机或者在一个地点或者跨多个地点分布并通过通信网络互连的多个计算机上处理。

方法步骤可以由执行计算机程序以通过关于输入数据操作并生成输出而执行功能的一个或多个可编程处理器执行。方法步骤还可以由设备执行,且该设备可以实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或者asic(专用集成电路)。

适于计算机程序的处理的处理器包括,举例来说,通用和专用微处理器两者,和任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或者随机存取存储器或者两者接收指令和数据。计算机的元件包括用于执行指令的至少一个处理器和用于存储指令和数据的一个或多个存储器装置。通常,计算机还可以包括,或者操作地耦合以从用于存储数据的一个或多个大容量存储装置,例如,磁的、磁光的盘或者光盘接收数据,或者传送数据到其,或者两者。适于具体表现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,举例来说包括半导体存储器装置,例如,eprom、eeprom和闪存存储器装置;磁盘,例如,内部硬盘或者可拆卸盘;磁光盘;和cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充,或者并入专用逻辑电路中。

为提供与用户的交互,实施方式可以在计算机上实现,该计算机具有用于向用户显示信息的显示装置,例如,阴极射线管(crt)、发光二极管(led)或液晶显示器者(lcd)监视器,和用户通过其可以向计算机提供输入的键盘和定点装置,例如,鼠标或者轨迹球。其它种类的装置也可用于提供与用户的互动;例如,提供给用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈或者触觉反馈;且来自用户的输入可以以任意形式接收,包括声学的、语音、或者触觉输入。

实施方式可以以计算系统实现,该计算系统例如包括后端组件作为数据服务器,或者包括中间件组件,例如,应用服务器,或者包括前端组件,例如具有用户可以通过其与实施方式交互的图形用户界面或者网络浏览器的客户端计算机,或者这种后端、中间件或者前端组件的任何组合。组件可以由数字数据通信的任何形式或者介质,例如,通信网络互连。通信网络的实例包括局域网(lan)和广域网(wan),例如,因特网。

虽然描述的实现的某些特征已经图示为在这里描述,本领域技术人员现在将想到许多修改、替代、改变和等同物。因此,要理解所附权利要求以在覆盖落入实现范围内的所有这种修改和改变。应当理解,已经仅通过示例,而不是限制的方式呈现,且可以做出形式和细节的各种改变。在这里描述的设备和/或方法的任意部分可以以任意组合进行组合,除了互斥的组合之外。在这里描述的实现可以包括描述的不同实现的功能、组件和/或特征的各种组合和/或部分组合。

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