三维视频的传输的制作方法

文档序号:12515664阅读:281来源:国知局
三维视频的传输的制作方法与工艺

本公开大致涉及三维图像。



背景技术:

人类大脑基于双眼之间的图像差异来感知三维(3-D)图像。通过使用从略微不同的角度获得的相同场景的两个图像,能够以高精确度对距对象的距离进行三角测量。每只眼睛观察由左眼和右眼看到的对象的略微不同的角度。3-D图像的使用允许观看者沉浸在另一环境中,以及在一些情况下允许观看者从不同的有利位置观看例如体育事件或音乐会的事件。

一些图像采集系统基于采集立体2-D图像。作为示例,可以使用通过使用成对的空间分隔开的平行摄像机采集的2-D图像来构建3-D图像。作为另一示例,当采集立体图像中的第二个图像时,可以物理地移动单个摄像机以产生空间偏移。在许多情况下,图像采集系统限于在限定的角度内采集3-D图像。

3-D显示器通常通过向观看者的左眼和右眼分别呈现两个偏移图像来提供对2-D图像深度的感知。这些2-D图像随后在大脑中进行组合以给出3-D深度的感知。显示“偏移”2-D图像以提供深度感知的其它示例性方法包括在观看者的眼睛上使用色度相反的滤色器(例如,红色和蓝绿色)、不同的偏振或镜头快门。



技术实现要素:

技术方案

方法,包括:从客户端装置接收与包括多个视图的三维视频的特定视图对应的请求;访问与视频对应的数据流;基于请求,选择所访问的数据流的一个或多个部分,所选择的部分中的至少一个与特定视图对应;以及将所访问的数据流中的、所选择部分发送到客户端装置。

附图说明

图1示出示例性3-D图像系统结构。

图2示出摄像机的示例性立体对。

图3示出摄像机系统的示例性摄像机配置的部分平面图。

图4示出示例性摄像机系统的平面图。

图5示出由摄像机系统的摄像机采集的图像的示例性集合。

图6示出示例性摄像机系统的侧视图。

图7示出由摄像机系统的摄像机采集的重叠图像的示例性集合。

图8示出用于拼接离散图像的示例性方法。

图9和图10示出用于拼接离散图像的其它示例性方法。

图11示出图像的示例性分割。

图12示出图像的示例性特征点匹配。

图13示出示例性顶部图像和示例性主拼接图像。

图14示出图13的处理之后的示例性顶部图像。

图15和图16示出用于拼接离散图像的示例性方法。

图17示出包括各种视频数据分量的内容包。

图18示出配置成将内容包广播为复合流的内容服务器。

图19示出涉及非绑定流的直接传输的示例性传输方案。

图20至图22各自示出用于传输视频流的示例性媒体方案。

图23示出分片流集合。

图24示出用于传输视频流的示例性交互方案。

图25示出用于发送3-D 360°视频的示例性方法。

图26示出基于使用摄影测量的混合拼接的示例性重构过程。

图27示出用于重构3-D 360°视频的示例性方法。

图28示出用于重构3-D 360°视频的另一示例性方法。

图29示出在将畸变操作应用于图像之前和之后的单目图像的示例性集合。

图30至图31示出示例性360°立体3-D环境。

图32示出用于与3-D视频交互的示例性方法。

图33示出示例性头戴式客户端计算装置的框图。

图34示出在佩戴示例性头戴式客户端计算装置的同时站在房间中的用户。

图35示出在佩戴头戴式客户端计算装置时由用户观看的示例性场景。

图36示出具有示例性通知的图35的示例性场景。

图37示出在图35的场景上叠加人的示例性场景。

图38示出在图35的场景上叠加狗的示例性场景。

图39示出分成两个示例性视图的示例性显示器。

图40示出在图35的场景上叠加桌子的示例性场景。

图41示出在图35的场景上叠加弯曲箭头的示例性场景。

图42示出具有示例性示意地图的图35的示例性场景。

图43示出具有示例性俯视图的图35的示例性场景。

图44示出示例性计算机系统。

实施本发明的最佳方式

方法,包括:从客户端装置接收与包括多个视图的三维视频的特定视图对应的请求;访问与视频对应的数据流;基于请求,选择所访问的数据流中的一个或多个部分,所选择的部分中的至少一部分与特定视图对应;以及将所访问的数据流中的、所选择的部分发送到客户端装置。

所接收的请求包括用于以指定比特率发送所访问的数据流的一个或多个部分或者用于省略所访问的数据流的一个或多个部分的指令。

所接收的请求包括用于对所访问的数据流进行转换的指令。

转换包括对所访问的数据流进行代码转换或尺寸调整。

存储经转换的数据流的结果。

对所访问的数据流进行解码;以及

从解码的数据流中提取所选数据流的每一部分。

所访问的数据流包括多个数据流;以及

多个数据流中的每一数据流包括所提取的部分中的特定一部分。

视频包括具有多个分辨率的视频流、来自单个摄像机的视频流、处理的视频流或者来自顶部摄像机的视频流。

所访问的数据流包括360°立体三维(3-D)视频。

所访问的数据流包括与视频时间同步的一个或多个音频流。

所访问的数据流包括用于在客户端装置上重构视频的数据。

重构数据包括视频的空间滤波数据、畸变数据、校正信息或投影参数。

重构数据包括音频空间重构数据。

所选择的部分与对应于特定视图的高分辨率视频对应。

所选择的部分还包括所访问的数据流中的、与特定视图外部的一个或多个区域的低分辨率视频对应的部分。

视频的分辨率与特定视图静止的时间量成比例地增加。

推断特定视图中的变化;以及

基于所推断的变化来选择所访问数据流中的、与所推断的变化对应的一个或多个部分。

发送包括基于检测到的与客户端装置的连接的带宽来调整比特率。

从客户端计算装置向服务器计算装置发送对包括多个视图的三维视频的特定视图的请求;从服务器计算装置接收数据流,数据流包括:与三维视频的特定视图对应的多个图像,以及用于组合多个图像以创建三维视频的特定视图的指令;根据指令,通过客户端计算装置组合多个图像;以及通过客户端计算装置呈现三维视频的特定视图。

数据流还包括:

与三维视频的至少一个其它视图对应的多个图像;以及用于组合与其它视图对应的多个图像以创建三维视频的其它视图的指令;以及通过客户端计算装置来组合多个图像包括:确定与三维视频的特定视图对应的特定多个图像;以及根据针对特定多个图像的指令来组合特定多个图像。

三维视频的特定视图是高分辨率视频;以及三维视频的至少一个其它视图是特定视图外部的一个或多个区域的低分辨率视频。

请求包括用于以指定比特率发送三维视频的一个或多个部分的指令。

包含能够被执行的指令的一个或多个非暂时性计算机可读存储介质,指令在被执行时:从客户端装置接收与包括多个视图的三维视频的特定视图对应的请求;访问与视频对应的数据流;基于请求,选择所访问的数据流中的一个或多个部分,所选择的部分中的至少一部分与特定视图对应;以及将所访问的数据流中的、所选择的部分发送到客户端装置。

所接收的请求包括用于以指定比特率发送所访问的数据流的一个或多个部分或者用于省略所访问的数据流的一个或多个部分的指令。

所接收的请求包括用于转换所访问的数据流的指令。

指令在执行时还可操作来:对所访问的数据流进行解码;以及从解码的数据流中提取所访问的数据流的每一部分。

视频包括具有多个分辨率的视频流、来自单个摄像机的视频流、处理的视频流或者来自顶部摄像机的视频流。

指令在执行时还可操作来:

推断特定视图中的变化;以及

基于所推断的变化来选择所访问数据流中的、与所推断的变化对应的一个或多个部分。

设备,包括:包含指令的一个或多个非暂时性计算机可读存储介质;以及一个或多个处理器,该一个或多个处理器联接到存储介质并且配置成执行指令以:

从客户端装置接收与包括多个视图的三维视频的特定视图对应的请求;

访问与视频对应的数据流;基于请求,选择所访问的数据流中的一个或多个部分,所选择的部分中的至少一部分与特定视图对应;以及将所访问的数据流中的、所选择的部分发送到客户端装置。

所接收的请求包括用于以指定比特率发送所访问的数据流的一个或多个部分或者用于省略所访问的数据流的一个或多个部分的指令。

所接收的请求包括用于对所访问的数据流进行转换的指令。

处理器还配置成执行指令以:

对所访问的数据流进行解码;以及从解码的数据流中提取所访问的数据流的每一部分。

视频包括具有多个分辨率的视频流、来自单个摄像机的视频流、处理的视频流或者来自顶部摄像机的视频流。

处理器还配置成执行指令以:

推断特定视图中的变化;以及基于所推断的变化来选择所访问数据流中的、与所推断的变化对应的一个或多个部分。

具体实施方式

采集并重构3-D视频的能力在充分利用游戏系统、电视或移动装置的3-D能力方面起着重要作用。通过对人类视觉感知的各个方面进行精确建模,所得到的3-D视频可能几乎无法通过人类自己的眼睛而与自然视图区分开,从而产生自然的3-D观看体验。

图1示出示例性3-D图像系统结构。在特定实施方式中,用于采集、编码并呈现360°3-D视频的系统结构100可以包括摄像机系统110、前端处理器120、拼接服务器130、内容服务器140和客户端系统150。尽管本公开描述和示出包括特定系统的特定3-D图像系统,但是本公开涉及包括任何合适系统的任何合适的3-D图像系统。

摄像机系统110可以包括配置成数字化地采集图像的多对摄像机112。作为示例而非作为限制,采集的图像可以对应于实时采集和处理的360°3-D视频。摄像机系统110的摄像机112可以连接到(例如,通过通用串行总线(USB))前端处理器120。前端处理器120可以通过使来自各个摄像机112的图像的启动和停止同步来提供对摄像机112的初始控制。前端处理器120还可以确定或设置摄像机参数,诸如快门速度或曝光时间。前端处理器120可以对来自摄像机系统110的输入视频进行标准化、畸变校正、压缩或编码。在特定实施方式中,前端处理器120的数量可以基于摄像机系统110的摄像机112的数量以及输入图像的尺寸(例如,帧率或帧尺寸)。来自前端处理器120的图像数据可以被传送到(例如,通过传输控制协议(TCP)网络)执行对摄像机系统110采集的离散图像的拼接的拼接服务器130。

如下所述,拼接服务器130可以将来自各个摄像机的离散图像拼接在一起,以生成3-D视频的完整帧。在特定实施方式中,拼接服务器130可以计算离散图像的图像对准并且将完整帧分割成竖直带。拼接服务器130可以以不同尺寸和比特率来重新压缩带,以进行可变比特率控制。当不需要实时性能时,可以使用单个拼接服务器130,或者当正在利用高分辨率、高帧率的3-D视频的实时性能时,可以使用多达几十或甚至几百个拼接服务器130。3-D视频的帧可以被存储或发送到内容服务器140。

内容服务器140可以用作客户端系统150的内容分配网络,以及与客户端系统150通信以将所请求的3-D视频的适当部分流送到观看者。内容服务器140可以以帧为单位向客户端系统150发送所请求的3-D视频。在特定实施方式中,内容服务器140的数量可以与接收3-D视频的客户端系统150的数量成比例。

客户端系统150可以用作供用户查看由内容服务器140发送的3-D视频的装置。此外,从客户端系统150到内容服务器140的输入可以修改发送到客户端系统150的3-D视频的部分。作为示例,可以基于来自客户端系统150的指示用户的观看角度已经变化的数据来调整3-D视频。在特定实施方式中,客户端系统150可请求与直视视图的帧加上任一侧上的附加帧对应的帧。在特定实施方式中,客户端系统150可以请求低分辨率的全帧图像,以及为观看者重构3-D。

图2示出摄像机112的示例性立体对200。在特定实施方式中,立体对200可以包括分别被称为左摄像机L和右摄像机R的两个摄像机112。左摄像机L和右摄像机R可以分别采集与人的左眼和右眼对应的图像,以及通过摄像机L和R采集的视频图像可以作为3-D视频回放给观看者。在特定实施方式中,立体对200可以被称为对、立体对、摄像机对或立体摄像机对。如下所述,摄像机系统110可以使用数字摄像机(“摄像机”)112的多个对200来采集3-D图像,其中摄像机系统110可以使用集成数字摄像机或与一个或多个外部数字摄像机的接口。在特定实施方式中,数字摄像机可以是指以数字格式采集或存储图像或视频的装置。在本文,术语“摄像机”可以是指数字摄像机,以及术语“视频”可以是指数字视频,或者以数字格式记录或存储的视频。

在特定实施方式中,摄像机112可以包括配置成采集单个照片图像或采集作为视频的图像集合的图像传感器。作为示例而非作为限制,摄像机112可以包括电荷耦合器件(CCD)图像传感器或者互补金属氧化物半导体(CMOS)有源像素图像传感器。在特定实施方式中,摄像机112的图像传感器可以具有大约16:9、4:3、3:2或任何合适的宽高比的宽高比(例如,传感器的宽度与高度的比率)。在特定实施方式中,摄像机112的图像传感器的宽度可以大于图像传感器的高度。在特定实施方式中,图像传感器的宽度和高度可以根据沿着图像传感器的两个轴的像素的数量来表示,以及图像传感器的宽度可以表示图像传感器的较长尺寸。作为示例而非作为限制,图像传感器可以具有在500和8000像素之间的宽度或高度。作为另一示例而非作为限制,具有1920像素宽度和1080像素高度的图像传感器可以被称为具有16:9宽高比的图像传感器。在特定实施方式中,摄像机112可以包括镜头或镜头组件以收集入射光并将入射光聚焦到图像传感器的聚焦区域上。作为示例而非作为限制,摄像机112可以包括鱼眼镜头、超广角镜头、广角镜头或普通镜头以将光聚焦到图像传感器上。尽管本公开描述和示出具有特定图像传感器和特定镜头的特定摄像机,但本公开涉及具有任何合适图像传感器和任何合适镜头的任何合适摄像机。

在特定实施方式中,摄像机112可以具有至少部分地取决于摄像机112的镜头组件的位置、焦距或放大率以及摄像机112的图像传感器的位置或尺寸的视场(FOV)。在特定实施方式中,摄像机112的FOV可以是指通过摄像机112可见的特定场景的水平、竖直或对角线范围。摄像机112的FOV内的对象可以由摄像机112的图像传感器采集,以及FOV之外的对象可不出现在图像传感器上。在特定实施方式中,FOV可以被称为视角(AOV),以及FOV或AOV可以是指可由摄像机112采集或成像的特定场景的角度范围。作为示例而非作为限制,摄像机112可以具有在30°与200°之间的FOV。作为另一示例而非作为限制,具有100°FOV的摄像机112可以表示摄像机112可以采集位于摄像机112正在指向的方向或取向114的±50°内的对象的图像。

在特定实施方式中,摄像机112可以具有两个特定的FOV,例如水平视场(FOVH)和竖直视场(FOVV),其中两个FOV彼此近似正交地定向。作为示例而非作为限制,摄像机112可以具有在30°与100°之间的范围内的FOVH和在90°与200°之间的范围内的FOVV。在图2的示例中,摄像机112具有大约80°的FOVH。在特定实施方式中,摄像机112可以具有比其FOVH更宽的FOVV。作为示例而非作为限制,摄像机112可以具有大约45°的FOVH和大约150°的FOVV。在特定实施方式中,具有两个不相等FOV的摄像机112可以至少部分地由于具有矩形形状的图像传感器的摄像机112(例如,摄像机112可以具有16:9宽高比的图像传感器)。在特定实施方式中,摄像机112可以被定位成使得其FOVV与摄像机112的图像传感器的宽度对准或对应,以及其FOVH与图像传感器的高度对准。作为示例而非作为限制,图像传感器可以具有高度和宽度,其中宽度表示图像传感器两个维度中的较长者,以及摄像机112可以被定向成使得其图像传感器的宽度轴对应于FOVV。尽管本公开描述和示出具有特定视场的特定摄像机,但本公开涉及具有任何合适的视场的任何合适的摄像机。

在特定实施方式中,摄像机112可以具有表示摄像机112指向的角度或方向的取向114。在特定实施方式中,取向114可以由沿着摄像机112的FOV的中心定向的线或射线来表示。在特定实施方式中,摄像机112的取向线114可以近似沿着摄像机112的纵向轴线定向、近似垂直于摄像机的镜头组件或图像传感器的表面、或者近似正交于轴线115,其中轴线115表示立体对200的摄像机L与R之间的线。在图2的示例中,取向114-L和取向114-R各自近似正交于轴线115,以及取向114-L和114-R各自近似沿着摄像机112的FOVH的相应中心定向。在特定实施方式中,立体对200的每个摄像机112可以具有相对于彼此的特定取向114。在特定实施方式中,立体对200的左摄像机和右摄像机112可以各自在近似相同的方向上指向,以及左摄像机和右摄像机的取向114可以近似平行(例如,取向114之间的角度可以近似为0°)。在图2的示例中,左摄像机取向114-L近似平行于右摄像机取向114-R,这表示摄像机L和R指向近似相同的方向。具有平行取向114的左摄像机和右摄像机112可以表示指向相同方向的摄像机,以及摄像机L和R可以被称为具有相同取向。在特定实施方式中,具有相同取向的左摄像机L和右摄像机R可以分别是指彼此平行在±0.1°、±0.5°、±1°、±2°、±3°内或在任何合适的角度值内的取向114-L和114-R。在特定实施方式中,立体对200的取向可以由平行的左摄像机和右摄像机112的取向114来表示。作为示例而非作为限制,当第一摄像机对的每个摄像机相对于第二摄像机对的摄像机以30°度定向时,第一立体对200可以被称为相对于第二立体对200具有30°度的取向。

在特定实施方式中,左摄像机L和右摄像机R可以具有在它们之间具有特定非零角度的取向114-L和114-R。作为示例而非作为限制,立体对200的两个摄像机可以彼此略微朝向或远离地定向,它们的取向之间的角度为大约0.5°、1°、2°或任何合适的角度值。在特定实施方式中,立体对200的取向可以由取向114-L和114-R的平均值表示。尽管本公开描述和示出具有特定取向的特定摄像机,但本公开涉及具有任何合适取向的任何合适的摄像机。

在特定实施方式中,成对摄像机(例如,L和R)的摄像机112之间的摄像机间间隔(ICS)可以表示两个摄像机彼此分离的距离。在特定实施方式中,立体对200可以具有摄像机112,摄像机112具有在6cm与11cm之间的ICS,其中ICS可以在两个摄像机112的两个对应点或特征之间测量。作为示例而非作为限制,ICS可以对应于两个摄像机112的中心点之间的距离、两个摄像机112的纵向轴线之间的距离或者两个摄像机112的取向线114之间的距离。在特定实施方式中,立体对200的摄像机L和R可以沿着轴线115分开ICS距离,其中轴线115表示连接摄像机L和R的线,以及摄像机取向114-L和114-R近似正交于轴线115。在图2的示例中,ICS是在沿着分离轴线115测量时摄像机L与摄像机R之间的距离。在特定实施方式中,ICS可以对应于人眼睛的瞳孔之间的近似或平均距离或者瞳孔间距离(IPD)。作为示例而非作为限制,ICS可以在6cm与7cm之间,其中6.5cm对应于人的近似平均IPD值。在特定实施方式中,立体对200可以具有高于平均IPD值的ICS值(例如,ICS可为7cm至11cm),以及此较高ICS值可以提供当回放给观看者时呈现出具有增强的3-D特性的场景。尽管本公开描述和示出具有特定摄像机间间距的特定摄像机对,但本公开涉及具有任何合适的摄像机间间距的任何合适的摄像机对。

图3示出摄像机系统110的示例性摄像机配置的部分平面图。在图3的示例中,摄像机系统110包括由L1和R1形成的第一摄像机对200、由L2和R2形成的第二摄像机对200以及由Ln和Rn形成的第n摄像机对200。在特定实施方式中,摄像机系统110还可以包括额外的摄像机对,例如摄像机对L3-R3(其中摄像机L3未在图3中示出)或者摄像机对Ln1-Rn1(其中摄像机Rn1未在图3中示出)。尽管本公开描述和示出具有特定数量的摄像机对的特定摄像机系统,但本公开涉及具有任何合适数量的摄像机对的任何合适的摄像机系统。

在特定实施方式中,摄像机系统110的摄像机112可以沿着直线、曲线、椭圆(或椭圆的一部分)、圆(或圆的一部分)或者沿着任何其它合适形状或任何合适形状的部分来布置。具有沿着圆形布置的摄像机112的摄像机系统110可以配置成在360°全景图上记录图像。在图3的示例中,摄像机112被沿着如由图3中的圆形虚线表示的圆的一部分来布置。图3所示的摄像机系统110可以在半圆上记录图像并提供大约180°的角度观看。在特定实施方式中,摄像机系统110的摄像机112可以各自位于同一平面中。作为示例而非作为限制,摄像机系统110的每个摄像机112可以位于水平平面中,以及每个摄像机112可以具有其沿着水平平面定向的FOVH,以及其FOVV被垂直于水平平面定向。在图3的示例中,摄像机112各自位于同一平面中,以及每个摄像机112的FOVH也被定向在此平面中。在特定实施方式中,摄像机系统110的摄像机112可以各自位于同一平面中,以及每个摄像机112的取向114也可以位于同一平面中。在图3的示例中,摄像机112各自位于同一平面中,以及摄像机取向(例如,114-L1、114-L2、114-R1和114-R2)也位于同一平面中,以使得每个摄像机沿着位于平面中的方向指向。在特定实施方式中,可以这样定位摄像机112,其中摄像机112的图像传感器的高度方向沿着水平平面定向,以使得图像传感器高度与FOVH对准并且对应于FOVH。此外,可以这样定位摄像机112,其中摄像机112的图像传感器的宽度方向垂直于水平平面定向,以使得图像传感器宽度对应于FOVV。在特定实施方式中,摄像机112可以采集具有这样的宽高比的图像,以使得图像的竖直范围大于图像的水平范围。

在特定实施方式中,摄像机系统110可以包括摄像机112的多个对200,其中摄像机对200彼此交错。在特定实施方式中,交错的摄像机对200可以是指第一摄像机对具有位于相邻的第二摄像机对的摄像机之间的一个摄像机的摄像机配置。此外,第二摄像机对也可以具有位于第一摄像机对的摄像机之间的一个摄像机。在特定实施方式中,相邻或邻接的摄像机对200可以是指彼此相邻定位或者布置成使得一个摄像机对200的摄像机位于另一摄像机对200的两个摄像机之间的摄像机对200。在特定实施方式中,交错的摄像机对200可以是指具有这样的第一摄像机对和第二摄像机对的摄像机配置,其中第二对摄像机通过第一摄像机对中的至少一个摄像机彼此分离。此外,第一对摄像机还可以通过第二摄像机对的至少一个摄像机彼此分离。在图3的示例中,摄像机对L2-R2与摄像机对L1-R1交错,反之亦然。摄像机对L1-R1和L2-R2交错,以使得摄像机R2位于摄像机L1与摄像机R1之间,以及摄像机L1位于摄像机L2与R2之间。类似地,摄像机对L1-R1和Ln-Rn也彼此交错。摄像机对L1-R1和Ln-Rn交错,以使得摄像机L1和R1至少通过摄像机Ln分开,以及摄像机Ln-Rn至少通过摄像机R1分开。在图3的示例中,摄像机对L1-R1与两个邻接的摄像机对——摄像机对L2-R2和摄像机对Ln-Rn交错。

在特定实施方式中,摄像机系统110可以包括摄像机112的第一对200,其中第一对摄像机通过摄像机112的第二对200的至少一个摄像机112彼此分离。在图3的示例中,摄像机对L1-R1的摄像机L1和R1通过摄像机对L2-R2的摄像机R2彼此分离。此外,第一对摄像机可以具有不同于第二对摄像机的取向114的取向114。在图3的示例中,摄像机对L1-R1的取向(其可以由取向114-L1或114-R1表示)不同于摄像机对L2-R2的取向(其可以由取向114-L2或114-R2表示)。在特定实施方式中,摄像机系统110还可以包括第三对摄像机(例如,图3中的Ln-Rn),以及第一对摄像机(例如,L1-R1)也可以通过第三对摄像机(例如,Ln-Rn)的摄像机(例如,摄像机Ln)彼此分离。此外,第三对摄像机可以具有不同于第一摄像机对和第二摄像机对的取向114的取向114。尽管本公开描述和示出具有以特定配置布置的特定摄像机的特定摄像机系统,但本公开涉及具有以任何合适配置布置的任何合适摄像机的任何合适的摄像机系统。

在特定实施方式中,摄像机系统110可以包括多个交错的摄像机对200,其中每个摄像机对200具有特定的取向114。在特定实施方式中,每个摄像机对200的摄像机112可以被均匀地布置,以使得每个摄像机对200相对于一个或多个相邻摄像机对200成角度Θ定向。在特定实施方式中,角度Θ可以对应于摄像机112的相邻对200之间的取向114的角间距或角度差。在图3的示例中,摄像机L1和R1在由它们的近似平行的相应取向114-L1和114-R1表示的相同方向上指向。类似地,摄像机L2和R2各自沿着由它们近似平行的相应取向114-L2和114-R2表示的方向来指向,此方向不同于摄像机对L1-R1的取向。在特定实施方式中,对于摄像机系统110的每个摄像机对200而言,相邻摄像机对200之间的角度Θ可以近似相同,以使得摄像机对200被布置成在它们相应取向114之间具有均匀的差值。作为示例而非作为限制,摄像机系统110的相邻摄像机对200可以各自以大约26°、30°、36°、45°、60°、90°的角度或者任何合适的角度来相对于彼此定向。在图3的示例中,摄像机对L2-R2相对于摄像机对L1-R1以角度Θ≈30°定向。在特定实施方式中,对于具有沿着圆形布置的n个均匀间隔的摄像机对200(其中n是正整数)的摄像机系统110,每个相邻摄像机对之间的角度Θ可以被表示为Θ≈360°/n。作为示例而非作为限制,对于具有以均匀间隔的圆形配置分布的n=12对摄像机的摄像机系统110,每个相邻摄像机对之间的角度Θ大约为360°/12=30°。作为另一示例而非作为限制,对于具有以均匀间隔的圆形配置分布的n=8对摄像机的摄像机系统110,每个相邻摄像机对之间的角度Θ大约为360°/8=45°。

在特定实施方式中,第一摄像机对和第二摄像机对200可以交错,以使得第二对摄像机的右摄像机112与第一对摄像机的左摄像机112相邻,以及第二对摄像机的右摄像机112的FOVH的中心与第一对摄像机的左摄像机112的FOVH的中心相交。在图3的示例中,第一摄像机对L1-R1与第二摄像机对L2-R2交错,以使得右摄像机R2与左摄像机L1相邻,以及摄像机R2的FOVH的中心(如取向114-R2所表示)与摄像机L1的FOVH的中心(如取向114-L1所表示)相交。在特定实施方式中,第一摄像机对和第三摄像机对200可以交错,以使得第三对摄像机的左摄像机112与第一对摄像机的右摄像机112相邻,以及第三对摄像机的左摄像机112的FOVH的中心与第一对摄像机的右摄像机112的FOVH的中心相交。在图3的示例中,第一摄像机对L1-R1与第n摄像机对Ln-Rn交错,以使得左摄像机Ln与右摄像机Rn相邻,以及摄像机Ln的FOVH的中心(由取向114-Ln所表示)与摄像机R1的FOVH的中心(由取向114-R1所表示)相交。尽管本公开描述和示出以特定方式交错的特定摄像机对,但本公开涉及以任何合适的方式交错的任何合适的摄像机对。

在特定实施方式中,相邻摄像机对200之间的角度Θ对于摄像机系统110的一个或多个摄像机对200可以是不同的,以使得摄像机对200可以具有不均匀的角间距。作为示例而非作为限制,摄像机系统110中的摄像机对200的角间距或分布可以至少部分地基于每个摄像机112的FOVH而变化。例如,摄像机系统110的具有较窄FOVH的一些摄像机对200可以具有30°的角间距,而具有较宽FOVH的其它摄像机对200具有50°的角间距。尽管本公开描述和示出具有带有特定角间距的特定摄像机对的特定摄像机系统,但是本公开涉及具有带有任何合适的角间距的任何合适的摄像机对的任何合适的摄像机系统。

在特定实施方式中,左摄像机的集合(例如,对应于人的左眼的摄像机L1、L2等)或右摄像机的集合(例如,对应于人的右眼的摄像机R1、R2、R3等)的每个FOVH可以具有与集合中的邻近摄像机的角度重叠116。在图3的示例中,角度重叠116表示在由邻近摄像机R1和R2采集的图像之间的共享部分或重叠。在图3中,摄像机R2和R3、摄像机Rn和R1,摄像机L1和L2以及摄像机Ln和Ln-1也可以共享类似的角度重叠。在特定实施方式中,具有角度重叠116的邻近摄像机112可以使它们的水平FOV在10%与30%之间重叠。作为示例而非作为限制,具有重叠10%至30%的水平FOV的邻近摄像机可以各自采集在10%与30%之间重叠的图像。作为另一示例而非作为限制,各自具有FOVH≈50°和大约10°的角度重叠116的邻近摄像机可以被称为具有大约20%(=10°/50°)的角度重叠或图像重叠。在特定实施方式中,以及如下所述,角度重叠116可以用于识别图像特征并且生成拼接图像,拼接图像无缝地示出由摄像机系统110采集的整个视图。尽管本公开描述和示出具有特定角度重叠的特定摄像机,但本公开涉及具有任何合适的角度重叠的任何合适的摄像机。

图4示出示例性摄像机系统110的平面图。如下所述,摄像机系统110可以包括配置成采集图像并且以360度和立体3-D格式记录或流送实时视频的摄像机112的立体对200的空间布置。在特定实施方式中,摄像机系统110可以包括形成n个摄像机对200的2n个摄像机112,其中n是正整数。在特定实施方式中,摄像机系统110可以包括n=1、2、3、4、6、8、10、12、14、16或任何合适数量的摄像机对200。作为示例而非作为限制,摄像机系统110可以包括形成n=4个摄像机对200的8个摄像机112,或者摄像机系统110可以包括形成n=8个摄像机对200的16个摄像机112。在图4的示例中,n等于12,以及摄像机系统110包括形成12个摄像机对200(例如,摄像机对L1-R1至摄像机对L12-R12)的24个摄像机112。如上所述,摄像机系统110的摄像机对200可以被均匀地布置成使得相邻的摄像机对200相对于彼此以Θ≈360°/n的角度来定向。在图4的示例中,n等于12,以及摄像机对200相对于彼此以大约30°(=360°/12)来定向,如由从摄像机系统110的中心到摄像机对200绘制的径向线R之间的30°角所表示的。

在特定实施方式中,摄像机系统110的摄像机112可以被配置成使得邻近左摄像机的水平FOV重叠,以及类似地,邻近右摄像机的水平FOV重叠。在图4的示例中,每对邻近的左摄像机(例如,摄像机L1和L2、摄像机L2和L3等)可以具有它们的水平FOV的在10%与30%之间的重叠。类似地,每对邻近的右侧摄像机(例如,摄像机R1和R2、摄像机R2和R3等)可以具有它们的水平FOV的在10%与30%之间的重叠。在特定实施方式中,每组左摄像机(例如,图4中的摄像机L1-L12)可以被定向来采集覆盖摄像机系统110周围的完整360°视图的对应的一组左图像。类似地,每组右摄像机(例如,图4中的摄像机R1-R12)可以被定向来采集覆盖摄像机系统110周围的完整360°视图的对应的一组右图像。

在特定实施方式中,摄像机系统110的摄像机112可以被布置成近似圆形配置,其中摄像机112位于摄像机主体118的外边缘或圆周处或附近。在特定实施方式中,摄像机主体118可以表示保持、容纳或包围摄像机系统110的摄像机112以及作为摄像机系统110的一部分的其它装置(例如一个或多个电源或处理器)的机械结构、包围件或壳体。在图4的示例中,摄像机系统110的24个摄像机112被以圆形配置布置在摄像机主体118的外边缘附近,摄像机主体118具有圆形形状。在特定实施方式中,摄像机系统110的每个摄像机对200可以被对准,使得其取向114被远离公共中心点117或者从公共中心点117径向向外指向。在图4的示例中,中心点117表示摄像机系统110的主体118的中心,以及如由径向线R表示的每个摄像机对的取向从中心点117径向向外指向。在特定实施方式中,摄像机系统110的摄像机主体118可以具有大约10cm、15cm、20cm、25cm、30cm或任何合适尺寸的尺寸、宽度或直径119。在图4的示例中,摄像机主体118可以具有直径119约为20cm的外边缘。在特定实施方式中,摄像机系统110可以具有与人体头部转动时的尺寸相当的尺寸。作为示例而非作为限制,摄像机主体118可以具有大约20cm的直径,以及摄像机对200可以被定位成对应于当人旋转他们的头部时人眼的位置。尽管本公开描述和示出具有特定尺寸、宽度或直径的特定摄像机系统,但本公开涉及具有任何合适的尺寸、宽度或直径的任何合适的摄像机系统。

在特定实施方式中,摄像机系统110的两个或更多个摄像机112可以被称为彼此相邻。在特定实施方式中,彼此相邻的两个摄像机112可以是指位于彼此旁边或附近的两个摄像机,以及没有其它摄像机位于这两个摄像机之间。在图4的示例中,摄像机L1和R3彼此相邻,以及摄像机L2和R3彼此相邻。在图4中,摄像机R1与摄像机L11和摄像机L12相邻。在特定实施方式中,可以在摄像机的特定集合内识别相邻的摄像机,而不考虑不是该集合的一部分的其它摄像机。作为示例而非作为限制,左摄像机的集合中的两个摄像机可以被识别为彼此相邻,即使可能存在位于这两个摄像机附近或之间的右摄像机。在图4中,对于左摄像机集合(摄像机L1至L12),摄像机L1与摄像机L2和L12相邻,以及对于右摄像机集合(摄像机R1至R12),摄像机R1和R2相邻。

图5示出由摄像机系统110的摄像机112采集的图像(I-1至I-8)的示例性集合。作为示例而非作为限制,图像I-1至I-8可以分别对应于由摄像机系统110的左摄像机L-1至L-8采集的图像。图像I-1至I-8可以表示使用与图3或图4所示类似的摄像机系统110采集的图像。在特定实施方式中,由摄像机系统110的左摄像机或右摄像机112的集合采集的图像集合可以在邻近图像之间具有重叠区域210,其中重叠区域210表示对应于近似相同场景的邻近图像的部分或区域。在图5的示例中,重叠区域2105-6表示邻近图像I-5和I-6之间的重叠,以及重叠区域2105-6中的采集场景包括云的右部分和桥的一部分。类似地,重叠区域2106-7表示邻近图像I-6和I-7之间的重叠,以及重叠区域2106-7中的采集场景包括桥塔。

在特定实施方式中,重叠区域210可以对应于邻近摄像机112的水平FOV的重叠。在特定实施方式中,由摄像机系统110的左摄像机或右摄像机112采集的邻近图像可以具有10%与30%之间的重叠。在特定实施方式中,重叠的量或百分比对应于重叠区域210的高度、宽度或面积与对应图像的高度、宽度或面积的比率。在图5的示例中,图像I-5与I-6之间的重叠量等于重叠区域2105-6的宽度204除以图像I-5或I-6的宽度206。在特定实施方式中,重叠区域210的尺寸或图像的尺寸可以根据距离(例如,以mm或cm为单位)或者根据像素数量来表示。在图5的示例中,如果重叠区域宽度204是162个像素,以及图像宽度206是1080个像素,那么图像I-5与I-6之间的重叠是15%(=162/1080)。尽管本公开描述和示出具有特定重叠区域或重叠量的特定图像,但本公开涉及具有任何合适的重叠区域或重叠量的任何合适的图像。

在特定实施方式中,摄像机112可以被定位来采集具有这样的宽高比的图像,以使得图像的竖直范围207大于图像的水平范围206。作为示例而非作为限制,摄像机112可以采集具有1920个像素的竖直范围207和1080个像素的水平范围206的图像。在图5的示例中,图像I-6具有大于水平范围206的竖直范围207。

在特定实施方式中,相邻图像或邻近图像可以是指彼此相邻定位且共享公共重叠区域210的图像。在图5的示例中,图像I-2和I-3相邻,以及图像I-6与图像I-5和I-7相邻。在特定实施方式中,相邻图像可以对应于由相应的相邻摄像机采集的图像。在图5的示例中,图像I-1至I-8可以分别对应于由左摄像机L1至L8(例如,图4的左摄像机L1至L8)采集的图像。图像I-1和I-2是相邻图像,以及这些图像可以分别由相邻的左摄像机L1和L2采集。

图6示出示例性摄像机系统110的侧视图。在特定实施方式中,摄像机系统110可以包括一个或多个顶部摄像机112T,其在由沿着摄像机系统110的外围布置的侧部摄像机112采集的另外的圆柱形侧视图上生成“屋顶”。在特定实施方式中,侧部摄像机112可以是指被布置成平面配置的摄像机112,其中它们相应的取向114位于同一平面内,例如图3或图4中所示的摄像机112。在特定实施方式中,顶部摄像机112T可以提供可以与来自侧部摄像机112的图像组合的向上视图,以使得用户可以在观看3-D视频时朝上查看(以及查看它们的左或右,或者在FOVV的向下范围内向下查看)。在特定实施方式中,摄像机系统110可以包括向上指向的一个或多个顶部摄像机112T,以及向下指向的一个或多个底部摄像机(图6中未示出)。作为示例而非作为限制,来自侧部摄像机112的图像可以与来自顶部摄像机112T和来自底部摄像机的图像组合,以使得用户在观看3-D视频时可以在任何方向(例如,左、右、上或下)上查看。在特定实施方式中,摄像机系统110可以包括两个或更多个顶部摄像机112T(例如,可以形成立体对的左上摄像机和右上摄像机),以及来自顶部摄像机112T的图像可以被组合以增强用户在观看3-D视频并向上查看时的3-D感知。尽管本公开描述和示出具有特定的顶部摄像机或底部摄像机的特定摄像机系统,但是本公开涉及具有任何合适的顶部摄像机或底部摄像机的任何合适的摄像机系统。

在特定实施方式中,顶部摄像机112T可以具有与一个或多个侧部摄像机112的竖直视场FOVV重叠的视场FOVT。作为示例而非作为限制,来自顶部摄像机112T的图像的外边缘部分可以与来自摄像机112的图像的上部重叠10%至30%。在图6的示例中,角度重叠116表示顶部摄像机112T的FOVT与侧部摄像机112的FOVV之间的重叠。在特定实施方式中,顶部摄像机112T可以具有相对较高的FOVT。作为示例而非作为限制,顶部摄像机112T可以包括鱼眼镜头,以及顶部摄像机112T的FOVT可以在140°至185°的范围内。在特定实施方式中,摄像机系统110可以包括侧部摄像机112的集合,以及可不包括顶部摄像机112T。作为示例而非作为限制,摄像机系统110可以包括具有在140°至185°范围内的FOVV的侧部摄像机112,以及侧部摄像机112可以配置成采集完整360°视图的全部或大部分,而无需使用顶部摄像机。在特定实施方式中并且如图6所示,摄像机系统110可以包括侧部摄像机112的集合以及顶部摄像机112T。在特定实施方式中,具有顶部摄像机112T的摄像机系统110可以允许侧部摄像机112相对于没有顶部摄像机的摄像机系统110具有减小的FOVV。作为示例而非作为限制,摄像机系统110可以包括具有在100°至160°范围内的FOVV的侧部摄像机112,其中FOVV与顶部摄像机112T的FOVT重叠。

在特定实施方式中,顶部摄像机112T可以位于摄像机系统110的顶部表面附近,或者如图6所示,顶部摄像机112T可以相对于摄像机系统110的顶部表面凹陷或缩陷。作为示例而非作为限制,顶部摄像机112T可以位于凹陷位置,这可以提供与侧部摄像机112的更大量的重叠。在特定实施方式中,摄像机系统110的侧部摄像机112可以各自具有位于摄像机系统110的水平平面中的取向114,以及顶部摄像机112T的取向114T可以近似垂直于取向114。在图6的示例中,侧部摄像机112被水平地定向,以及顶部摄像机112T具有竖直取向114T。尽管本公开描述和示出具有带有特定布置、取向或视场的特定边缘摄像机和特定顶部摄像机的特定摄像机系统,但本公开涉及具有带有任何合适布置、取向或视场的任何合适的边缘摄像机和任何合适的顶部摄像机的任何合适的摄像机系统。

图7示出由摄像机系统110的摄像机112采集的重叠图像的示例性集合。在特定实施方式中,具有n个摄像机对200和一个顶部摄像机112T的摄像机系统110可以针对视频的每一帧采集2n+1个图像。图7所示的图像可以使用类似于图6所示的摄像机系统110的2n个侧部摄像机112和顶部摄像机112T来采集。在特定实施方式中,n个左摄像机112和n个右摄像机112可以如上所述成对地布置并交错,以使得左摄像机图像I-L1至I-Ln重叠,以及右摄像机图像I-R1至I-Rn重叠。在图7的示例中,重叠区域210L表示邻近的左摄像机的图像的重叠部分,以及重叠区域210R表示邻近的右摄像机的图像的重叠部分。作为示例而非作为限制,邻近的左摄像机2和3可以分别利用对应的重叠区域210L2-3来采集图像I-L2和I-L3。在图7的示例中,图像I-Top表示由顶部摄像机112T采集的图像,以及重叠区域210T表示与来自侧部摄像机112的图像的上部重叠的图像I-Top的外缘部分。在特定实施方式中,重叠区域210T可以用于将顶部图像I-Top与来自一个或多个侧部摄像机112的图像进行拼接。

在特定实施方式中,左摄像机和右摄像机112可以被布置成使得每个左摄像机重叠区域210L在对应的右摄像机112的单个图像内被采集,以及每个右摄像机重叠区域210R在对应的左摄像机112的单个图像内被采集。在图7的示例中,图像I-L1和I-L2的重叠区域210L1-2对应于图像I-R1,以使得左摄像机L1与L2之间的重叠由右摄像机R1采集。类似地,图像I-R2和I-R3的重叠区域210R2-3对应于图像IL3,以使得摄像机R2与R3之间的重叠包含在摄像机L3的视场内。在特定实施方式中,以及如下所述,两个图像之间的重叠区域210可以用于识别图像特征并创建拼接图像。此外,由另一摄像机采集的重叠区域210也可以用于拼接过程中。在图7的示例中,可以至少部分地基于位于两个图像的重叠区域210R1-2中的特征来将图像I-R1和I-R2拼接在一起。此外,由于图像I-L2采集相同的重叠区域,所以图像I-L2也可以用于拼接过程或者用于验证应用于图像I-R1和I-R2的拼接过程的准确性。尽管本公开描述和示出配置成采集具有特定重叠区域的特定图像的特定摄像机系统,但本公开涉及配置成采集具有任何合适的重叠区域的任何合适图像的任何合适的摄像机系统。

在特定实施方式中,摄像机系统110可以包括用于获得关于图像中的对象的深度信息的一个或多个深度传感器。作为示例而非作为限制,一个或多个深度传感器可以位于摄像机系统110的摄像机112之间或附近。在特定实施方式中,深度传感器可以用于确定与位于摄像机112的FOV内的对象有关的深度或距离信息。作为示例而非作为限制,深度传感器可以用于确定摄像机112的FOV内的人位于距摄像机系统110大约1.5米处,而背景中的对象位于大约4米远处。在特定实施方式中,可以基于三角测量技术来确定深度信息。作为示例而非作为限制,可以使用三角测量来分析由两个或更多个相应摄像机112采集的两个或更多个图像,以确定图像中的对象与摄像机系统110的距离。在特定实施方式中,摄像机系统110可以包括基于结构光扫描技术工作的深度传感器。作为示例而非作为限制,结构光3-D扫描器可以利用投影光图案(例如,来自诸如激光器或发光二极管的红外光源的光片或平行光带)照亮场景,以及来自投影光图案的反射或散射光的图像可以被采集(例如,通过作为深度传感器的一部分的摄像机),以及用于确定场景中的对象的距离。在特定实施方式中,摄像机系统110可以包括基于飞行时间技术工作的深度传感器,其中距对象的距离通过光脉冲行进到对象和从对象行进所需的时间来确定。尽管本公开描述以特定方式工作的特定深度传感器,但本公开涉及以任何合适的方式工作的任何合适的深度传感器。

在特定实施方式中,深度传感器可以提供与位于摄像机系统110附近(例如,距摄像机系统110的0.1米至10米内)的对象有关的深度信息,以及深度信息可以用于增强拼接过程。如下所述,拼接过程可以使用来自相邻摄像机的重叠图像之间的对应关系来计算场景的几何形状。通过使用深度传感器,可以确定一个或多个摄像机112的FOV内的物品的相对深度或距离,而不是假设单个总深度。在特定实施方式中,深度传感器信息可以允许图像的靠近部分与远离部分分开进行拼接。作为示例而非作为限制,使得近距离对象和远距离对象被单独地拼接并且随后组合的场景分割可以通过考虑摄像机系统110与图像中的对象之间的距离来提供改善的拼接结果。在特定实施方式中,深度传感器可以提供拉伸、压缩或扭曲靠近摄像机系统110定位的对象的图像的部分的能力,从而改善对象在经拼接图像中的呈现。作为示例而非作为限制,当对象接近摄像机系统110(例如,人在摄像机系统110的0.5米内经过)时,考虑对象的距离可生成具有减少量的畸变的拼接图像。在特定实施方式中,深度传感器可以提供从视图中排除在摄像机系统110的阈值距离内的对象的能力。作为示例而非作为限制,可以在图像处理期间去除被确定为非常接近摄像机系统110的对象(例如,在摄像机系统110的0.1米内的人的手),以使得对象不会遮挡场景的视图。

在特定实施方式中,摄像机系统110可以包括一个或多个红外(IR)摄像机,其中IR摄像机可以是指对IR光(例如,波长在大约0.8μm与14μm之间的光)敏感的摄像机。在特定实施方式中,IR摄像机可对热辐射敏感,或者可以提供在弱光情形下(例如,黑暗的房间或夜间户外)(其中可见摄像机(例如,摄像机112)可能具有低敏感度)来对场景进行成像的能力。作为示例而非作为限制,除了摄像机112(其可针对可见光感测而优化)之外,摄像机系统110还可以包括一个或多个IR摄像机,以及来自摄像机112和IR摄像机的信息或图像可以被组合以改善在弱光情形下的图像采集或呈现。作为另一示例而非作为限制,摄像机系统110可以包括被布置来在摄像机系统110周围的360°全景图上采集图像的IR摄像机的集合。作为又一示例而非作为限制,摄像机系统110的摄像机112可以被配置成对可见光以及红外光具有灵敏度。尽管本公开描述和示出具有特定可见光或红外光摄像机的特定摄像机系统,但本公开涉及具有任何合适的可见光或红外光摄像机的任何合适的摄像机系统。

在特定实施方式中,摄像机系统110可以包括一个或多个辅助摄像机,其配置成对具有较宽的FOV或具有与摄像机112不同的视野的场景进行成像。作为示例而非作为限制,摄像机系统110可以包括如上所述的摄像机112的集合,以及摄像机系统还可以包括具有比摄像机112的FOV更宽的FOV的一个或多个鱼眼摄像机或立体摄像机。在特定实施方式中,具有更宽FOV的辅助摄像机可以允许即使在观察大范围的均匀颜色或纹理(例如,墙壁)时也能够成功地拼接由摄像机112采集的图像。在特定实施方式中,摄像机112可以被配置成具有高分辨率(这可能导致相对窄的FOV),以及具有更宽FOV的辅助摄像机可以提供广角参考,其允许来自摄像机112的高分辨率图像被成功地对准并拼接在一起。

在特定实施方式中,摄像机112可以采集大于或近似等于180度的竖直视场。作为示例而非作为限制,摄像机系统110可以包括具有大约185°的FOVV的摄像机112。在特定实施方式中,摄像机系统110可以包括具有大于或等于180°的FOVV的摄像机112的集合,以及摄像机系统110可以不包括顶部摄像机112T,因为可以由摄像机112提供完整观看覆盖。

在特定实施方式中,摄像机系统110可以包括一个或多个鱼眼摄像机,其中鱼眼摄像机可以是指具有宽FOV(例如,大于或等于180度的FOV)的摄像机。作为示例而非作为限制,摄像机系统110可以包括位于摄像机主体118的中心附近的2个、3个或4个鱼眼摄像机。作为另一示例而非作为限制,摄像机系统110可以包括一对或多对鱼眼摄像机(例如,被配置成两对鱼眼摄像机的四个鱼眼摄像机)。成对鱼眼摄像机可以配置成采集3-D图像,以及可以包括由对应于IPD的ICS距离分开的两个鱼眼摄像机。在特定实施方式中,具有鱼眼摄像机的摄像机系统110可以配置成模拟3-D立体视觉(例如,深度或3-D结构的感知),以及可以对应于位于图像球体内部的一个或多个虚拟摄像机。

在特定实施方式中,摄像机系统110可以包括具有相对高FOVV和相对低FOVH的摄像机112。作为示例而非作为限制,摄像机112可以具有提供竖直比水平更宽的视场的镜头(例如,散光镜头)。作为另一示例而非作为限制,摄像机112可以具有大约180°的FOVV和大约30°的FOVH。在特定实施方式中,相对窄的水平FOV可以提供在水平方向上具有相对低的畸变的采集图像。在特定实施方式中,与相对宽的FOVV相关联的竖直方向上的畸变可以通过至少部分地基于镜头校准信息的后采集处理来消除。在特定实施方式中,去除竖直方向上的畸变可以是比沿着水平和竖直方向两个方向来去除畸变更有效的过程。作为示例而非作为限制,具有相对低的FOVH的摄像机112可以提供去除畸变的改善,因为图像畸变主要沿着一个轴(例如,竖直轴)。

在特定实施方式中,摄像机系统110可以包括中等FOV摄像机112的两个或更多集合。作为示例而非作为限制,摄像机112可以具有30度至90度的竖直和水平FOV。在特定实施方式中,摄像机系统110可以包括摄像机112的两个或更多集合,其中这些集合被布置成行(例如,摄像机112的一个集合或圈位于另一集合上方)。摄像机112的每个集合可以配置成采集一圈图像,每个圈在水平方向上覆盖360度全景并且在竖直方向上覆盖中等FOV(例如60度)。作为示例而非作为限制,摄像机系统110可以包括摄像机112的三个集合,每个摄像机具有大约65度的FOVV,其与相邻组重叠大约15度。摄像机112的每个集合可以以高分辨率和相对低的畸变来采集图像,以及来自每个圈的图像可以被组合以生成覆盖完整全景的高分辨率、低畸变图像。

在特定实施方式中,摄像机系统110可以包括多个摄像机112,其中摄像机112可以不被组合成立体对。作为示例而非作为限制,摄像机系统110可以包括被布置为具有重叠的水平FOV的12个摄像机,以使得摄像机采集360度全景。在特定实施方式中,摄像机112可以被对准,以使得它们的取向114被远离公共中心点117(例如,摄像机系统110的主体118的中心)或者从公共中心点117径向向外指向。在特定实施方式中,摄像机112可以不采集3-D图像,以及可以在拼接或重构过程期间的图像采集之后产生3-D效果。作为示例而非作为限制,后采集处理可以应用于图像以模拟立体视觉。

在特定实施方式中,校准程序可以应用于摄像机112或摄像机系统110。作为示例而非作为限制,摄像机112、摄像机对200或摄像机系统110可以具有由生产公差导致的定位或对准误差,以及校准程序可以用于校正或补偿这些误差并且允许改善对图像的拼接。在特定实施方式中,校准程序可以用于确定摄像机112或摄像机对200具有位置或取向误差或偏移,以及可以在图像采集期间或者在后采集期间校正所采集图像中的对应误差或偏移。作为示例而非作为限制,摄像机对200可以被制造成具有6.5mm的ICS,以及根据校准程序,可以确定摄像机对200具有7.0mm的ICS。摄像机对200的ICS与目标ICS之间的0.5mm相差可以在图像采集期间或者利用采集后校正过程来校正(例如,对应于0.5mm的偏移可以被应用于由摄像机112中的一个采集到的图像)。作为另一示例而非作为限制,摄像机对200可以被制造成在相邻摄像机对200之间具有均匀的30°角间距,以及根据校准程序,可以确定摄像机对200具有相对于相邻的摄像机对200的29°角间距。可以在采集图像时或者在采集后校正过程期间校正摄像机对200之间的1°角误差(例如,可以将对应于1°旋转的偏移应用于来自一个或多个摄像机112的采集图像)。

在特定实施方式中,可以在制造摄像机系统110之后、在使用摄像机系统110之前,以周期性间隔(例如,每月、每几个月)或者在任何合适的时间或时间间隔来将校准程序应用于摄像机系统110。作为示例而非作为限制,摄像机系统110可以在采集场景之前应用校准程序,这可以确保在图像采集期间摄像机112的位置和取向是已知的,从而确保成功的拼接过程。作为另一示例而非作为限制,校准程序可以被应用于摄像机系统110,以校正可能由于温度变化、摄像机系统110的老化或机械冲击(例如,如果摄像机系统110在运输期间掉落)而产生的摄像机112的不对准。在特定实施方式中,一旦执行校准程序,关于摄像机112或摄像机对200的校准的数据可以被存储在摄像机系统110的非易失性存储器中。尽管本公开描述了以特定方式和在特定时间执行的特定校准程序,但本公开涉及以任何合适的方式和在任何合适的时间执行的任何合适的校准程序。

在特定实施方式中,可以使用投影光来校准摄像机系统110的摄像机112。在特定实施方式中,可以使用广角投影仪、灯前方的遮罩或者将光学校准图案投影到附近表面上的激光扫描器或反射器来实现投影光校准。作为示例而非作为限制,激光束可以由衍射光栅或电动镜反射,以生成投影到附近表面上的校准图案。投影的激光图案可以由摄像机112成像,以确定摄像机校准参数。在特定实施方式中,用于生成并投影校准图案的光学组件(例如,激光器、反射镜或光栅)可以被电动调节以在不使用时缩回到摄像机系统主体118内或下方。在特定实施方式中,光学校准组件可以被配置成旋转以在不同方向上投射校准图案,以使得可以校准摄像机系统110的不同摄像机112。在特定实施方式中,摄像机系统110可以被放置在受控房间或球形表面内,以提供改善的校准精度。尽管本公开描述了特定的投影光校准系统,但本公开涉及任何合适的投影光校准系统。

在特定实施方式中,可以使用物理或机械过程或结构来校准摄像机系统110的摄像机112。作为示例而非作为限制,机械校准结构(例如扇形或伞形装置)可以被存储在摄像机112之间或者摄像机系统主体118下方或内部。在校准期间,这些物理校准器可以被机械地部署在相对于摄像机系统100的已知位置处。物理校准器可以通过摄像机112成像,以及采集的图像可以与已知的几何结构进行比较以确定校准参数。在特定实施方式中,机械校准装置可以是与摄像机系统110分离的物理装置。作为示例而非作为限制,外部校准装置可以具有从球形外部主体向内延伸的内部辐条,以允许摄像机系统110被保持在相对于校准装置已知的精确位置。作为另一示例而非作为限制,外部校准装置可以包括允许摄像机系统110相对于校准装置精确定位的光学传感器。在特定实施方式中,校准装置的内表面可以具有由摄像机112成像的校准标记,以及可以基于采集的校准标记图像来确定摄像机112或摄像机对200的校准参数。在特定实施方式中,摄像机系统110可以包括将校准图案投影到校准装置的内表面上的光学组件。尽管本公开描述了特定的物理校准系统,但本公开涉及任何合适的物理校准系统。

在特定实施方式中,摄像机系统110可以包括集成为摄像机系统110的一部分的一个或多个处理器,或者摄像机系统110可以被联接到位于摄像机系统110外部的一个或多个处理器。作为示例而非作为限制,摄像机系统110可以包括位于摄像机系统110的主体118内部的一个或多个前端处理器120。作为另一示例而非作为限制,摄像机112可以通过USB连接到一个或多个前端处理器机器120的集合。在特定实施方式中,前端处理器120可以执行摄像机112的初始控制、摄像机畸变校正、图像剪裁、视频编码、图像数据压缩或视频传输。作为示例而非作为限制,摄像机系统110可以包括连接到摄像机112的独立的前端处理器120,前端处理器120执行初始图像调整、摄像机参数控制或摄像机数据的初始编码,以减少用于传输的视频有效载荷。在特定实施方式中,与摄像机系统110相关联的前端处理器的数量可以至少部分地取决于摄像机系统110中的摄像机112的数量以及由摄像机112采集的视频的尺寸或帧率。作为示例而非作为限制,每个摄像机112可以被连接到一个或多个专用处理器120。尽管本公开描述和示出以特定方式联接到特定处理器的特定摄像机系统,但是本公开涉及以任何合适的方式联接到任何合适的处理器的任何合适的摄像机系统。

在特定实施方式中,可以由一个或多个处理器120校准、控制或映射摄像机参数(例如,亮度、对比度、增益、曝光、白平衡、饱和度、焦距或光圈设置)。在特定实施方式中,因为每个摄像机112可差异化地看到场景,所以可以独立于其它摄像机来设置或控制每个摄像机112的白平衡设置。作为示例而非作为限制,位于窗户旁边的摄像机112可以看到蓝色场景,而相邻的摄像机112可以看到暗红的室内照明,以及这两个摄像机可以具有不同的白平衡设置。在特定实施方式中,可以全局地控制一个或多个摄像机参数,以确保相邻摄像机(例如,相邻的左摄像机112或相邻的右摄像机112)的设置不会偏离地太远。作为示例而非作为限制,对于摄像机112的曝光或增益的设置可以至少部分地基于一个或多个相邻摄像机112的设置。作为另一示例而非作为限制,如果调整曝光或增益设置,那么处理器120可以确保对于同一眼睛的相邻摄像机(例如,相邻的左摄像机112或相邻的右摄像机112)的设置不会偏离地太远,以最小化图像条带或者不可接受的拼接性能。在特定实施方式中,摄像机112的焦距设置可以被维持地无穷远,以最小化可能由摄像机焦距的变化引起的拼接错误。在特定实施方式中,摄像机112可以被设置成具有减小的孔径以提供更大的景深,这可以导致拼接误差的减小。尽管本公开描述了以特定方式控制的特定摄像机参数,但本公开涉及以任何合适的方式控制的任何合适的摄像机参数。

在特定实施方式中,编码过程可以涉及每个摄像机110的一个前端处理器120,或者可以由多个摄像机110共享的单个处理器120(具有单个内核或多个处理器内核)。前端处理器120可以使用加速器、专用集成电路(ASIC)或子处理器来处理采集、修改、压缩、存储或传输视频数据的任务的部分。每个处理器120可以运行通用操作系统,或者可以是在与中央控制处理器完全同步或近似同步工作的ASIC本身。在特定实施方式中,中央控制处理器可以充当用于与前端图像采集处理器120对话的分布器或中央控制点。在特定实施方式中,中央处理器可以被实现为单个大型ASIC的部分,其具有重复的资源以连接到每个摄像机112并控制每个摄像机112。在这种情况下,可以运行相同代码或基于硬件的算法的多个线程或副本,以并行化采集过程。在特定实施方式中,前端处理器120可以使用处理器本地存储系统,或者可以立即将数据流送到一个或多个共享存储资源。在特定实施方式中,可以利用分布式的存储装置,以及处理器本地存储装置可以被用作拼接系统的缓冲器,以实现系统负载分布。

在特定实施方式中,前端处理器120可以使用总线或网络来传输数据。数据传输可以使用任何合适的数据传输格式。在特定实施方式中,可以利用保证接收或以其它方式通知接收者丢包的传输方法。在特定实施方式中,发送部件可以重新发送损坏的包或者可以允许接收器将指示发生包损坏的标志插入到所存储的数据流中。在特定实施方式中,拼接系统随后可以根据需要补偿这种损坏或丢失的包。

在特定实施方式中,摄像机112可以具有一些镜头畸变以及相对于目标位置或取向114的一些偏离。在特定实施方式中,对这些效果的校正可以是静态的,以及它们可以使用前端中的查找表来进行预校准和校正。作为示例而非作为限制,可以直接对图像应用全景调平、晕映校正、镜头畸变校正、白平衡校正、曝光校正和匹配或者视点调节。以这种方式,可以在任何压缩引起的颜色或特征移位发生之前来调整图像,这可以减少可见校正伪像的出现。此外,可以应用颜色校正来增强边缘锐度、整体曝光或白平衡。在特定实施方式中,可以对场景应用降噪,以减小图像的压缩尺寸。在特定实施方式中,前端处理器120可以在应用一个或多个图像校正或增强步骤之后对图像进行降采样。作为示例而非作为限制,可以对输出图像进行降采样,而不是使用占用大量处理器资源的二次采样过程。在特定实施方式中,可以以比用于后续拼接的分辨率更高的分辨率来采集图像,以及此高分辨率图像采集可以帮助减轻可能与校正或增强步骤相关联的混叠或伪像。

在特定实施方式中,一个或多个拼接服务器130可以接收由摄像机系统110的一个或多个前端处理器120编码的图像。如上所述,图像可以对应于由摄像机系统110实时采集的360°3-D视频。在图1的示例中,使用TCP通过以太网网络将图像从前端处理器120发送到拼接服务器130。在特定实施方式中,可以以任何合适的顺序从前端处理器120接收图像或者存储图像。作为示例而非作为限制,在被传送到一个或多个拼接服务器130之前,图像(例如,图7中所示的图像I-L1至I-Ln)可以以对应于它们的空间顺序的顺序来布置。在特定实施方式中,当不需要实时性能时(例如当图像被处理以用于稍后传输或观看时),拼接系统可以包括单个拼接服务器130(或者两个或更多个拼接服务器130)。在特定实施方式中,当需要实时性能时(例如,当拼接高分辨率、高帧率视频以用于实时传输或观看时),拼接系统可以包括数十至数百个拼接服务器130。尽管本公开描述和示出包括特定数量的拼接服务器的特定拼接系统,但本公开涉及包括任何合适数量的拼接服务器的任何合适的拼接系统。

在特定实施方式中,一个或多个拼接服务器130可以从一个或多个前端处理器120接收离散图像的集合,以及拼接服务器130可以将离散图像“拼接”在一起并且生成用于传输或显示的单个3-D帧。作为示例而非作为限制,拼接服务器130可以从摄像机系统110的左摄像机112接收左图像的集合,以及拼接服务器130可以拼接或组合图像以实时地生成3-D图像的左帧。类似地,拼接服务器130可以拼接来自右摄像机112的右图像的集合以实时地生成3-D图像的右帧,以及左帧和右帧一起可以表示单个实时3-D帧。在特定实施方式中,拼接过程可以通过扭曲、畸变或对准多个离散图像来创建基本上无缝的图像,以确保重叠图像的对应点相匹配。作为示例而非作为限制,拼接过程可以使用来自相邻摄像机的离散图像之间的对应性来计算由拼接图像采集的场景的几何形状。作为另一示例而非作为限制,拼接过程可以扭曲、畸变或对准离散图像,以使得重叠图像的集合的对应点匹配,以及丢弃重叠图像的多余部分。随后,拼接过程可以将对准的图像的集合组合成合并的无缝图像。在特定实施方式中,可以处理与人的左眼和右眼对应的图像以确保两只眼睛看到场景的对应部分,从而减少眼疲劳。

在特定实施方式中,一个或多个拼接服务器130可以对由摄像机112采集的视频执行拼接过程。作为示例而非作为限制,单个拼接服务器130(或者并行操作的多个拼接服务器130)可以对由摄像机112采集的一系列图像执行拼接。在多摄像机系统中,例如图4的示例中所示的摄像机系统110,可以在拼接过程期间执行对所采集图像的时间码对准。在特定实施方式中,可以同步地采集或拼接视频的一系列图像,以维持图像之间的时间相干性。作为示例而非作为限制,前端处理器120可以在由每个摄像机112采集的每个图像上存储时间码或时间戳(例如,绝对本地时间或相对时间计数器的值)。例如,分别由摄像机L1至L12采集的图像IL-1至IL-12可以各自包括这样的时间戳,该时间戳对应于采集图像时的时间。在特定实施方式中,由摄像机112采集的图像可以包括与图像被采集的时间对应的时间戳,以及对于三维视频的每一帧,拼接服务器130可以将在特定时间范围内所采集的图像拼接在一起。例如,拼接服务器130可以要求待拼接在一起的图像具有符合在10ms、20ms、30ms内或在任何合适的时间间隔内的时间戳。作为另一示例,拼接服务器130可以要求待拼接在一起的图像具有在特定量的帧周期内相同的时间戳,其中帧周期是帧率的倒数。例如,视频可以具有对应于40ms的帧周期的25帧/秒(FPS)的帧率,以及拼接服务器130可以要求待拼接在一起的图像具有在一个帧周期内(例如,在40ms内)、在一半帧周期内(例如,在20ms内)、或者在帧周期的任何合适部分内相同的时间戳。在特定实施方式中,如果检测到图像集合的时间戳中的间隙或误差,或者如果图像帧被标记为损坏,那么拼接服务器130可以丢弃整个该图像的集合,以及可以重新使用先前拼接的图像。作为示例而非作为限制,如果图像集合的一个或多个图像具有比平均时间戳或目标时间戳多一个帧周期的时间戳,那么该图像集合可以被丢弃,以及先前的拼接图像可以被重新使用来代替丢弃的图像。

在特定实施方式中,摄像机系统110可以容纳摄像机112之间的独立快门。作为示例而非作为限制,可以测量并存储发送采集图像的指令(例如,从控制器发送到前端处理器120或摄像机112的指令)所需的时间。作为另一示例而非作为限制,每个前端处理器可以接收在未来时间处开始图像采集的指令,未来时间基于对特定前端处理器的延迟而调整,由此确保每个图像流同时开始。在特定实施方式中,拼接服务器130可以确定初始帧的时间,以及可以根据此初始时间点计算后续帧时间差,其中初始帧的时间被认为是“时间零点”。

在特定实施方式中,拼接服务器130可以确定拼接在一起的离散图像(例如,图像I-L1至I-Ln)的竖直对准和水平对准。在特定实施方式中,可以比较来自多个摄像机的图像,以使得将所有左图像与其它左图像(例如,I-L1至I-Ln)进行比较,以及将所有右图像与其它右图像(例如,I-R1至I-Rn)进行比较。在图5的示例中,图像I-6可以与相邻图像I-5和I-7进行比较。此外,可以将左图像与右图像(例如,I-L1和I-R1)进行比较,以确保它们相对于彼此正确对准。作为示例而非作为限制,图像I-L1至I-L12可以分别对应于通过在图4的示例中所示的摄像机系统110的左摄像机L1至L12采集的图像。如上所述,对应于每只眼睛的摄像机的FOV(例如,L6)具有与其相邻者(例如,L5和L7)的重叠,以使得空间对准图像导致相邻图像之间的重叠区域210(例如,I-6和I-7)。如下所述,相邻图像的重叠区域210可以用于识别用于创建拼接图像200的图像特征。在特定实施方式中,由于摄像机系统的已知几何形状,当执行一些拼接参数计算时可以作出假设。

图8示出用于拼接离散图像的示例性方法。方法300可以开始于步骤310,在步骤310中从多个摄像机112接收多个图像。在特定实施方式中,摄像机可以包括具有第一取向114的第一摄像机112和具有第二取向114的第二摄像机112。在特定实施方式中,图像可以包括来自第一摄像机112的第一图像和来自第二摄像机112的第二图像。在步骤320处,在第一图像和第二图像内检测多个特征点。在步骤330处,确定位于第一图像与第二图像之间的重叠区域内的一对或多对对应的特征点。在特定实施方式中,对应的特征点对包括来自第一图像和第二图像中的每一个的特征点中的相应一个。在步骤340处,基于所计算的、每对对应的特征点之间的偏移来对第一图像或第二图像进行空间调整。在步骤350处,基于空间调整来将第一图像和第二图像组合成合并图像或拼接图像。在适当情况下,特定实施方式可以重复图8的方法的一个或多个步骤。尽管本公开描述和示出了以特定顺序发生的图8的方法的特定步骤,但是本公开涉及以任何合适的顺序发生的图8的方法的任何合适的步骤。此外,尽管本公开描述和示出用于拼接离散图像的示例性方法,其包括图8的方法的特定步骤,但是本公开涉及拼接离散图像的任何合适的方法,其包括任何合适的步骤,这些步骤在适当情况下可以包括图8的方法的步骤的全部、一些或者不包括图8的方法的步骤。此外,尽管本公开描述和示出执行图8的方法的特定步骤的特定部件、装置或系统,但本公开涉及执行图8的方法的任何合适的步骤的任何合适的部件、装置或系统的任何合适的组合。

图9和图10分别示出用于拼接离散图像的其它示例性方法400和450。在特定实施方式中,用于拼接图像的方法(例如分别在图9或图10中示出的方法400和450)可以提供用于拼接保持3-D感知的图像的过程,以及自动地执行(例如,此过程几乎不需要人为干预或完全不需要人为干预)。尽管本公开描述和示出以特定顺序执行特定步骤以拼接图像的特定流程,但本公开涉及以合适的顺序执行任何合适的步骤的任何合适的流程。

在特定实施方式中,从摄像机系统110的前端处理器120接收的图像可以在拼接之前调整尺寸。如下所述,在确定对应的特征点对的同时降低图像的分辨率可以加速拼接过程。此外,如下所述,分辨率的降低可以改善在弱光条件下对噪声的复原,以及增加对用于特征检测的小尺度纹理的总体灵敏度。作为示例而非作为限制,2至8兆像素(MP)图像的尺寸可以被重新设定成较低分辨率,这对于实时3-D拼接过程更容易管理。作为另一示例而非作为限制,由摄像机112采集的8MP图像的尺寸可以被重新设定成2MP,以及重新设定尺寸的2-MP图像可以用作拼接过程的输入。在特定实施方式中,重新设定尺寸的图像可以被限制成具有最小尺寸(例如,1MP、2MP或任何合适的最小尺寸)。作为示例而非作为限制,4MP和2MP图像都可以被重新设定尺寸到1MP。在特定实施方式中,对接收到的图像重新设定尺寸可以减少图像中的噪声,此噪声可能使用局部对比度增强来影响特征检测。作为示例而非作为限制,标度核(例如Lanczos内核)可以用于最小化可能导致特征检测中的错误的核伪像。在特定实施方式中,可以通过被重新设定尺寸到具有比原始图像更低的分辨率的图像来确定拼接参数。作为示例而非作为限制,在使用重新设定尺寸的图像(例如,2MP图像)的集合来确定拼接参数之后,由摄像机112采集的原始高分辨率图像(例如,8MP图像)的集合可以使用所确定的拼接参数拼接在一起。

在特定实施方式中,从摄像机系统110接收的图像可以被畸变校正(Dewarp),以将图像拼接到矩形平面上。作为示例而非作为限制,如下所述,接收的图像可以被超采样以减少可能阻碍特征检测的伪像的量。在特定实施方式中,畸变校正程序可以与标度程序组合,这可以减少对超采样的需要。作为示例而非作为限制,所接收的图像可以经历组合的畸变校正和标度程序,以及畸变校正和标度的组合可以减少图像中的伪像。可替代地,接收到的图像的畸变校正可以被用作作为位置的函数的全局转换,以及对所接收的图像的像素数据的访问可以经历转换和超采样来生成合适的值。在特定实施方式中,图像的畸变校正转换可以由等式(1)来近似:

公式图1

[公式.1]

其中x是沿着投影的3-D空间的纬度的位置,y是沿着投影的3-D空间的经度的位置,a..e是摄像机畸变校正参数,scale′是图像的标度因子,translate′是水平或竖直空间平移参数,以及x′和y′分别是在畸变校正转换之后的纬度位置和经度位置。在特定实施方式中,可以基于摄像机系统的一个或多个摄像机的特性使用估测的标度因子来执行畸变校正过程。在特定实施方式中,可以对初始图像的一个或多个集合执行畸变校正过程,以及可以使用畸变校正过程的抽象概念来将简化版本的畸变校正过程应用于稍后的图像。作为示例而非作为限制,对点和图像的访问可以被概括,以提供更快的畸变校正过程。

如图10的示例所示,在步骤305处,可以检测形成场景的接收图像中的特征。在特定实施方式中,可以对图像I-6的灰度版本执行特征检测和匹配,以及可以在单独的操作中或者通过查找表(LUT)来将特定对比度应用于图像I-6。在特定实施方式中,可以使用局部对比度增强来在图像I-6上全局地执行特征检测。局部对比度增强增加“局部”对比度,同时防止“全局”对比度的增加,从而保护大规模阴影/高亮细节。作为示例而非作为限制,局部对比度梯度可以指示对应于特征的边缘、拐角或“斑点(blob)”。可以使用例如尺度不变特征转换(SIFT)、加速鲁棒特征(SURF)或定向FAST及旋转BRIEF(ORB)的特征检测算法来检测图像I-6的特征,其中FAST表示“加速段测试的特征(Feature from Accelerated Segment Test)”,以及BRIEF表示“二进制鲁棒独立基本特征(Binary Robust Independent Elementary Feature)”。在特定实施方式中,特征检测过程可以检测一个或多个特征点214。作为示例而非作为限制,可以通过取多个高斯平滑操作的差来检测特征点214。此外,可以存储特征点214的位置(例如,存储在网格内或搜索区域212内)和每个搜索区域212的每个特征点214的对比度值。

图11示出图像的示例性分割。在特定实施方式中,接收到的图像(例如,图像I-7至I-5)可以被分割成多个搜索区域212。作为示例而非作为限制,图像I-7至I-5可以与对应于特定眼睛的图像(例如,所有左图像或右图像)对应,如图7的示例所示。在特定实施方式中,接收的图像(例如,I-7至I-5)可以被分割成以4×6个矩形网格布置的24个搜索区域,如图11的示例所示。如上所述,来自与特定眼睛对应的相邻摄像机(例如,所有左摄像机)的图像(例如,I-7至I-5)具有重叠区域2106-7和2105-6,此重叠区域与相应摄像机的FOV之间的角度重叠116成比例。在特定实施方式中,图像(例如,I-7至I-5)的重叠区域2106-7和2105-6可以与接收到的图像(例如,I-7至I-5)的右边缘和左边缘对应。在特定实施方式中,特征点检测或匹配可以限于相邻图像的重叠区域。在图11的示例中,对于相邻图像I-6和I-7,特征点检测可以仅应用在重叠区域2106-7中。可以不考虑重叠区域210外部的区域,这可以确保位于重叠区域外部的不相关或不必要的点不影响拼接过程。

图12示出图像的示例性特征点匹配。如图10的示例所示,在步骤310处,可以在重叠区域2106-7的搜索区域上局部执行特征点匹配,以最小化不相关点对拼接图像220的影响。作为示例而非作为限制,可以对检测到的特征点214A-B执行特征点计算,以将图像I-6的特征点214A与图像I-7的对应特征点214B匹配。可以通过在重叠区域2106-7的搜索区域中局部比较每个检测到的特征点214A-B周围的区域来检测对应的特征点214A-B。在特定实施方式中,对于相应的图像I-7和I-6中的特征点214A-B的相应对比度设置可以被应用为特征点214A-B的匹配的一部分。作为示例而非作为限制,图像I-7与I-6之间的对比度差值可以被补偿为对比度曲线的偏移。在特定实施方式中,可以利用附加比特(例如,对8比特值使用带符号的16比特)计算对比度曲线的此偏移,以将此偏移考虑在内。偏移的差值可导致最佳匹配具有提前已知的均匀差值。

在特定实施方式中,可以根据图像的尺寸来设置用于匹配特征点214的区域的尺寸。在特定实施方式中,摄像机系统110的几何形状可以是已知的,以及基于已知的摄像机系统几何形状,相邻图像I-6和I-7的搜索区域和重叠区域2106-7的像素的近似数量可以是事先已知的。作为示例而非作为限制,由于摄像机系统110的摄像机112的位置和取向相对于彼此是固定的,所以相邻的左摄像机(例如,摄像机L1和L2)或相邻的右摄像机(例如,摄像机R11和R12)之间的重叠可以是已知的,以及类似地,相邻的左摄像机或右摄像机(例如摄像机L1和R1)之间的重叠也可以是已知的。在特定实施方式中,确定对应的特征点对可以使用最近邻搜索算法来执行。作为示例而非作为限制,最近邻搜索算法可以识别图像I-7的重叠区域2106-7的每个搜索区域内的特征点214B的模式,其与图像I-6的重叠区域2106-7的每个搜索区域内的特征点214A的对应模式匹配。在特定实施方式中,最近邻算法可以使用围绕每个特征点214A-B的搜索半径来确定对应的特征点对214A-B。作为示例而非作为限制,搜索区域可以具有32像素、64像素的半径或者任何合适的半径,或者搜索区域可以具有32像素×32像素的尺寸、64像素×64像素的尺寸或者任何合适的尺寸。在特定实施方式中,次级细化步骤可以用于在最终单应性计算之前重新对准对应的特征点对。

在特定实施方式中,特征匹配过程可以使用估测的参数,以及可以在重叠区域或搜索区域内应用一些搜索来优化位置。在特定实施方式中,当特征搜索从图像(例如,图像I-6或I-7)的中心移动到边缘时,可以增加搜索半径。作为示例而非作为限制,可以由于与实际参数和估测参数(例如,实际FOV和估测FOV)之间的差值相关联的增加的误差而增加搜索半径。在特定实施方式中,可以向具有少于预定数量(例如,3对)的对应特征点对214A-B的区域212添加附加特征点。作为示例而非作为限制,如果特征搜索表明特定区域212中少于3个特征点,那么来自备用特征点集合的备用特征点可以被添加到特征集合。在特定实施方式中,备用、替代或附加特征点可以基于摄像机系统110的特性、每个摄像机112的特性,校准数据或者其任何组合,以及附加特征点可以在数据结构中被标明或标记。

在特定实施方式中,可以启发式地优化摄像机参数或图像(例如,I-6和I-7)以减少在生成拼接图像220的最终优化中的自由变量的数量。作为示例而非作为限制,启发式优化可以用于优化或细化一个或多个摄像机相关参数(例如,FOV、取向114或者竖直或水平摄像机中心的位置)。特征匹配过程可以使用至少部分地基于已知的摄像机几何形状(例如,摄像机系统110的摄像机112的位置或取向)或者校准过程估测的摄像机参数。例如,已知摄像机112的标称位置和取向可以允许估测摄像机FOV、角度重叠116、摄像机取向114或摄像机位置(例如,竖直和水平摄像机中心的位置)。在特定实施方式中,可以迭代地优化估测的摄像机参数,或通过使用用于多个非线性值的组数值方法来优化估测的摄像机参数。在特定实施方式中,对于每个图像(例如,I-6和I-7),可以将对应的特征点对214A-B的位置彼此进行比较,以及基于相应特征点214A-B的位置的偏移对对应的摄像机参数进行调整。作为示例而非作为限制,可以响应于检测到特征点214A-B之间的平均径向偏移来调整FOV参数或取向参数。作为另一示例而非作为限制,可以响应于分别在特征点214A-B之间检测到平均竖直或水平偏移来调整(例如,平移)竖直或水平摄像机位置参数。

在步骤315处,可以使用基于对应特征点的匹配对的单应性矩阵来确定图像I-6与I-7之间的摄像机位移(例如,摄像机旋转或平移)的估测,如图10的示例中所示。在特定实施方式中,可以基于由单应性矩阵确定的估测摄像机位移来对图像I-6和I-7进行调整。可以使用单应性矩阵来计算用于调整和对准图像I-6和I-7以形成合并的拼接图像220的拼接参数。作为示例而非作为限制,可以首先针对图像I-6和I-7计算单应性矩阵,以及可以基于计算的单应性矩阵对后续图像进行调整。

可以对图像I-7和I-6进行调整以将图像I-7和I-6适当地组合成拼接图像220。在特定实施方式中,可以进行调整以满足一个或多个优化标准。作为示例而非作为限制,优化标准可以是应最小化对应的特征点对214A-B的竖直或水平偏移。作为另一示例,优化标准可以是对应的特征点对214A-B的水平偏移应当小于在观看者看成重影之前的最大水平偏移。作为又一示例,优化标准可以是对应的特征点对214A-B的竖直偏移应当小于最大竖直偏移。

在特定实施方式中,可以假设一个或多个初始条件来执行对图像I-6和I-7的调整。作为示例而非作为限制,初始条件可以假设第一摄像机对(例如,图4中的摄像机对L1-R1)具有限定摄像机系统110的主射线(或偏航)的取向114。作为另一示例,初始条件可以假设围绕y轴的其余摄像机对(相对于第一摄像机对)的取向114为Yi=(i-1)×360°/n,其中y轴与摄像机系统的平面垂直,i=2……n,以及n是摄像机系统的摄像机对的数量。作为示例而非作为限制,对于具有n=8个摄像机对的摄像机系统110,摄像机对200相对于彼此以45度定向。作为又一示例,初始条件可以假定摄像机系统110的摄像机112沿着x轴和z轴齐平(例如,分别为零滚动和俯仰)。

在特定实施方式中,可以通过最小化一个或多个优化成本来确定对图像I-6和I-7的调整。作为示例而非作为限制,对应的特征点对214A-B之间的距离可以表示基本总体优化成本。作为另一示例,沿着轴的旋转调整可以具有与加权旋转位移(例如,关于每个轴(偏航、俯仰和滚动)的kx(X'-X0)2,其中kx是加权系数)成比例的成本。此外,每个轴可以具有特定的加权系数,例如偏航轴的kY、俯仰轴的kP和滚转轴的kR。在特定实施方式中,图像I-6和I-7的FOV或平移调整可以具有每轴kx|X'-X0|的线性成本。每个轴可以具有特定的加权系数,例如用于FOV调整的kFOV、用于x轴平移的kCX和用于y轴平移的kCY。在特定实施方式中,可以对优化成本进行函数化,以使得可以修改优化成本函数以处理角落情况。

在特定实施方式中,可以通过使用启发式优化的结果、初始条件、优化成本或其任何组合执行全局优化来将图像(例如,I-6和I-7)拼接在一起。这些因子可以使用例如蒙特卡罗、梯度下降、高斯-牛顿的稀疏版本或其它合适的非线性优化求解器来进行全局优化。在特定实施方式中,联立参数可以通过由(2)表示的联立方程来进行全局优化:

公式图2

[公式.2]

其中x′和y′是通过畸变校正操作得到的坐标;HomographyMatrix是通过如上所述的对应的特征点对来计算;YPR分别是沿着偏航、俯仰和滚动轴的旋转调整;scale是图像的标度;translate是平移调整;以及x"、y"和z"是优化坐标。

由等式(2)描述的联立方程可能遇到收敛失败。在步骤325处,对具有来自备用源(例如,校准)的超过40%的特征点的图像的失败收敛可能表示特定图像太白、太近或者缺少特征,如图10的示例中所示。在这种情况下,可以根据上述初始条件来调整特定图像。在特定实施方式中,由等式(2)描述的联立方程的收敛可能由于替代的特征点具有太大的空间偏移而失败。在这种情况下,替代的特征点可以使它们的优化成本减半,以及再次执行全局优化。作为示例而非作为限制,优化的减少和执行全局优化可以执行预定次数(例如,4个循环)。此外,如果等式(2)继续收敛失败,那么特征点的贡献可以被设置为零。

在特定实施方式中,除了来自与具有重叠的特定眼睛对应的相邻摄像机的图像之外,来自与另一只眼睛对应的相邻摄像机的图像也可以具有与两个图像的重叠。作为示例而非作为限制,来自摄像机L1和L2的图像可以具有重叠区域,以及相邻的摄像机(例如,摄像机R1、R2或R3)也可以采集包括相同重叠区域的图像。如图7的示例所示,图像I-L1和I-L2具有重叠区域210L1-2,以及图像I-R1也与这两个图像重叠。在特定实施方式中,可以检测来自相邻摄像机(例如,摄像机R1)的图像(例如,图像I-R1)的特征,以及可以在相邻图像(例如,图像I-L1和I-L2)的重叠区域(例如,重叠区域210L1-2)与来自相邻摄像机的图像之间确定对应的特征点对。此外,可以基于检测到的、相邻摄像机的重叠区域的对应特征点对以及来自相邻摄像机的图像的重叠部分计算单应性矩阵。在特定实施方式中,可以将对应于相邻摄像机(例如,摄像机L1和L2)的单应性矩阵的结果与对应于相邻摄像机(例如,摄像机R1)的单应性矩阵进行比较。此外,确定对应于左眼视图的拼接图像与对应于右眼视图的拼接图像之间的对应关系可以用来稳固拼接图像的立体对之间的竖直偏移。

在特定实施方式中,如上所述,一旦计算拼接参数或调整,就可以检查它们的正确性。在特定实施方式中,可以使用由摄像机系统110采集的已知场景的图像来执行校准。对已知场景的对应的特征点对的检测可以提供特征点的集合,该特征点的集合可以用作图像调整以拼接图像的基础。一旦拼接服务器已检测到重叠区域内的对应的特征点对,就可以在每个检测到的特征点周围的区域中执行误差计算(例如,差的平方和)。如果误差计算超过预定阈值,那么检测到的对应的特征点对可以被标记为可疑。如果对应的特征点对的数量下降到低于预定阈值数量的对,那么可以标记离散图像的拼接。在特定实施方式中,可以利用校准数据的特征点替换标记的对应的特征点对,从而迫使单应性计算认为图像处于校准取向。

在计算单应性矩阵之后,可以检查它们的正确性。如图10的示例所示,在步骤335处,可以检查连续单应性矩阵的偏航旋转之间的差值。如果差值在基于如上所述的校准数据的预期差值的±2-3°内,那么图像调整可以被认为是正确的。作为示例而非作为限制,可以计算每个摄像机被分开30°的12摄像机系统的单应性矩阵。如果偏航旋转差值在预期值的预定范围内(例如,在27°与33°之间),那么可以认为计算的单应性矩阵是可接受的。在特定实施方式中,来自摄像机的图像用于计算单应性矩阵。如果计算的单应性矩阵或摄像机位置在预期位置和角度的±2度内,那么可以认为拼接良好。如图10的示例所示,在步骤345处,如果一些图像的拼接失败,那么可以利用来自校准数据的替代特征点来替换检测到的对应的特征点对,以及重新尝试拼接过程。如图10的示例所示,在步骤355处,如果超过预定阈值数量的多个图像的拼接过程失败,那么可以拒绝整个拼接,以及可以使用来自最后成功拼接帧的单应性矩阵。在初始帧发生拼接失败的情况下,可以替代地使用基于校准数据计算的单应性矩阵。

图13示出顶部图像I-Top和拼接图像220的示例。顶部图像I-Top可以由顶部摄像机112T采集,以及拼接图像220可以由将左图像或右图像(例如,图像I-R1至I-Rn)拼接或组合在一起的拼接过程而生成。在图13的示例中,拼接图像220包括图像I-1、I-2和I-3,其被拼接在一起以形成拼接图像220。在特定实施方式中,在来自摄像机112的图像被拼接在一起以形成拼接图像220之后,来自顶部摄像机112T的顶部图像I-Top可以被拼接或添加到拼接图像220的上部210U。类似地,在特定实施方式中,来自底部摄像机的图像可以被拼接或添加到拼接图像220的底部部分。在特定实施方式中,将顶部图像或底部图像添加到拼接图像220可以提供附加视图以适应可能不覆盖±90°竖直FOV的拼接图像220。作为示例而非作为限制,可以将图7的示例中所示的左图像I-L1至I-Ln拼接在一起,以形成具有对应于摄像机112的FOVV的竖直范围的拼接图像220。例如,拼接图像220可以展现摄像机系统110周围的360°水平全景视图,以及全景视图可以相对于摄像机系统110的水平平面覆盖±70°竖直范围(对应于FOVV=140°)。在形成拼接图像220之后,顶部图像I-Top可以被拼接到拼接图像220的顶部部分,从而形成具有360°全景视图的图像,此360°全景视图具有大约-70°至大约+90°的范围的竖直范围。此外,底部图像也可以被拼接到拼接图像220的底部部分,从而形成在所有方向上延伸的图像(例如,覆盖在从大约-90°至大约+90°的范围内竖直延伸的完整360°水平视图,其中-90°表示向下直视,以及+90°表示向上直视)。尽管本公开描述和示出具有特定水平范围和竖直范围的特定拼接图像,但本公开涉及具有任何合适的水平范围和竖直范围的任何合适的拼接图像。

在特定实施方式中,顶部图像I-Top的部分可以与拼接图像220的部分重叠或对应。此外,顶部图像I-Top的特定部分可以基于摄像机110的摄像机112的已知配置以及顶部摄像机112T的已知配置而与特定图像(例如,图像I-1、I-2、I-3等)关联。作为示例而非作为限制,由两个相邻接缝线217界定的顶部图像I-Top的每个区域(例如,阴影区域219)可以对应于拼接图像220的特定图像。在图13的示例中,图像I-Top的阴影区域219可以对应于由摄像机系统110的特定摄像机112采集的图像I-2。构成拼接图像220的图像与顶部图像I-Top的部分之间的对应关系可以基于摄像机112的配置或取向114以及顶部摄像机112T的配置。在特定实施方式中,图像I-Top中的接缝线217可以对应于拼接图像220的接缝217M,其中接缝217M可以表示在形成拼接图像220的相邻离散图像之间的边界。作为另一示例而非作为限制,中心线218可以对应于拼接图像220的离散图像的近似中心218M。在特定实施方式中,线217和218可以分别表示在顶部图像I-Top被处理或优化用于拼接到拼接图像220之前,接缝217M和中心218M的估测位置。

在特定实施方式中,拼接图像220的上部210U可以表示拼接图像220的与顶部图像I-Top的外部环形区域210T重叠的区域。例如,拼接图像220可以与相对于水平取向114覆盖例如±70°的FOVV对应,以及顶部图像I-Top可以与从竖直方向(例如,+90°纬度)延伸到+60°的纬度的图像对应。图像I-Top的外部实心黑色圆圈可以对应于+60°的纬度,以及图像I-Top的较小虚线圆圈210E可以对应于+70°的纬度。重叠区域210U和210T可以与图像I-Top与拼接图像220之间的10°重叠(例如,从纬度+60°到纬度+70°)对应。在特定实施方式中,将顶部图像I-Top拼接到拼接图像220的算法可以包括如上所述的搜索特征、确定位于重叠区域210U和210T中的对应特征点对,以及如下所述使用这些对应特征点对来将图像I-Top′与拼接图像220拼接。尽管本公开描述和示出具有彼此对应或重叠的特定部分的特定顶部图像和拼接图像,但本公开涉及具有彼此对应或重叠的任何合适部分的任何合适的顶部图像和拼接图像。

图14示出在图13的处理之后的示例性顶部图像。在特定实施方式中,在被添加到拼接图像220之前,顶部图像I-Top的较小的虚线圆210E可以被处理、转换或优化以形成处理后的图像I-Top′,随后将其拼接或添加到拼接图像220。在特定实施方式中,应用于顶部图像I-Top的较小的虚线圆210E的处理步骤可以包括旋转或移动线217或218,或者弯曲顶部图像I-Top的较小的虚线圆210E,以使得处理的图像I-Top′与拼接图像220匹配或融合。在特定实施方式中,单个处理图像I-Top′可以与对应于左视图和右视图或眼睛的相应的拼接图像220一起使用。作为示例而非作为限制,顶部图像I-Top的重叠区域210T可以在转换过程之前进行裁剪。在特定实施方式中,可以将处理后的图像I-Top′添加到展现左眼视图的拼接图像和展现右眼视图的拼接图像。在特定实施方式中,顶部图像I-Top的较小虚线圆210E可以经历两个处理例程,以分别基于对应于左眼视图和右眼视图的拼接图像来生成单独的左处理和右处理的顶部图像。作为示例而非作为限制,可以将左处理的顶部图像添加到展现左眼视图的拼接图像,以及可以将右处理的图像添加到展现右眼视图的拼接图像。

在特定实施方式中,如上所述,对顶部图像I-Top的较小的虚线圆210E进行处理以生成处理后的图像I-Top′可以包括在重叠区域210T和210U中检测对应特征点对。作为示例而非作为限制,可以检测位于接缝线217与图像I-Top的外边缘相交的位置附近的特征。检测到的特征的一个或多个特征点可以与来自拼接图像220的对应特征点匹配,以及基于对应的特征点对之间的匹配,可以计算图像I-Top的较小虚线圆210E相对于拼接图像220的偏移。在特定实施方式中,在没有检测到对应的特征点对的情况下,可以基于摄像机几何形状来确定特征点,或者可以使用摄像机校准来确定在顶部图像I-Top的较小的虚线圆210E上执行的处理。

在特定实施方式中,围绕顶部图像I-Top的中心的径向弯曲可以被确定成使得顶部图像I-Top的中心位置中心保持固定。此外,基于确定的径向弯曲,接缝线217可以被旋转以与拼接图像216的接缝217M结束的位置相交,以及中心线218可以被旋转以匹配在拼接离散图像以产生拼接图像220期间所执行的任何偏航调整。作为示例而非作为限制,如果形成拼接图像220的离散图像(例如,图像I-1、I-2或I-3)中的一个经历+2°的偏航调整,那么+2°的旋转可以被应用到对应的中心线218。

在特定实施方式中,图像I-Top′的较小虚线圆210E的外边缘的一个或多个部分可以被拉出或拉入以匹配拼接图像220。作为示例而非作为限制,接缝线217或中心线218与图像I-Top的较小的虚线圆210E的外边缘相交的位置可以被拉出或拉入,以匹配拼接图像220的对应区域。作为示例而非作为限制,图像I-Top的较小的虚线圆210E的外边缘可以分别通过适当地增加或减少接缝线217或中心线218的长度而拉出或拉入。在特定实施方式中,经处理的图像I-Top′可以被单独地保存为盖层(Cap)图像,或者经处理的图像I-Top′可以被整合到拼接图像220中。作为示例而非作为限制,可以对处理后的图像I-Top′应用极线(Polar-to-Rectilinear)转换,以及随后可以如下所述地将处理后的图像I-Top′与拼接图像220进行融合。

在特定实施方式中,可以将离散图像拼接在一起以形成拼接图像220的接缝217M可以使用梯度融合来“融合”。作为示例而非作为限制,辉度或亮度可以具有沿着接近接缝217M的方向的梯度。例如,从任一横向方向朝向接缝217M移动,亮度可以减小。可以以类似的方式来融合拼接图像220和处理图像I-Top′的外边缘的相交部分。作为示例而非作为限制,拼接图像220与处理图像I-Top′之间的相交部分的亮度可以具有与拼接图像220的尺度成比例的梯度,以使得融合在高纬度处是平滑的。

离散图像的融合可以发生在包含接缝217M的重叠区域内。此外,融合可以沿着非线性路径发生,以减少来自融合路径的视觉不连续性。在特定实施方式中,融合算法可以探索多个候选融合路径。可以在相邻离散图像的相交部分周围的区域中执行边缘检测算法。如果候选融合路径正好是任一图像的侧边缘,那么候选融合路径可以在两个方向上沿循侧边缘,直到候选融合路径在拼接图像220的底部边缘处。如果候选融合路径相交,那么候选路径可以沿着它们的当前方向继续。在特定实施方式中,从候选融合路径选择融合路径可以基于选择到达拼接图像220的底部边缘的唯一候选融合路径,或者如果多个候选融合路径到达底部边缘,那么则选择最短的候选融合路径。在特定实施方式中,候选融合路径是相对于候选融合路径所在的图像的中心的最小凹形。对于被“跟踪”的部分,掩码梯度应当正好在具有小模糊半径的轨迹线上为50%。

在特定实施方式中,Voronoi型接缝查找器可以用于空间稳定的拼接。此空间稳定性可以确保共享的单应性矩阵和融合数据可以被重新使用,这可以减少融合边缘闪变。Voronoi型接缝查找器可以用于进一步细化上述特征匹配器的搜索区域,从而改善限制在最可能位于输出图像中的区域(例如,重叠区域)内的特征点的单应性矩阵的准确性。此数据可以被实时地反馈到前端处理器以忽略在拼接图像220的拼接中可能未使用的图像数据。

在特定实施方式中,当生成拼接图像220时,所采集图像中的对象的近场深度的变化可能是个问题。如上所述,深度信息(例如,从深度传感器获得或通过使用立体对的图像中的对象的三角测量获得)可以用于基于特征点到摄像机的接近度来分离特征点匹配。距离观察者或摄像机更近的对象具有不同于用于拼接更远的对象的几何形状。在特定实施方式中,远场对象的深度变化可以对拼接质量具有最小影响,以及因此计算资源可以集中于考虑近场深度变化。在特定实施方式中,拼接服务器130可以基于深度数据确定一个或多个图像中的对象是否位于可以采取附加测量来改善拼接质量的区域内。作为示例而非作为限制,随后可以响应于检测到位于摄像机112或摄像机系统110的预定阈值距离内的对象而触发单应性矩阵的计算(或重新计算)。

在特定实施方式中,离散图像可以被分割成单独拼接和融合的多个部分,或者可以优先考虑近场对象,因为这些对象可能具有比远场对象更可见的拼接误差。作为示例而非作为限制,近场对象可以与远场对象分离并且单独进行拼接。在特定实施方式中,可以通过使用二进制掩码将近场对象放置在远场对象上来将分离的近场对象与远场对象一起掩码到拼接图像220上。近场对象可能看起来与观察近场对象上的相同点的摄像机非常不同。在特定实施方式中,拼接服务器可以选择使用相邻图像中的一个来在重叠区域中拼接对象。作为示例而非作为限制,接缝查找器(例如,Voronoi型)可以用于根据包含近场对象的区域的大部分的图像来拼接近场对象。在特定实施方式中,非均匀弯曲可以用于将近场对象的单应性矩阵与远场对象的单应性矩阵进行组合。例如,基于网格的弯曲可以在近场对象与远场对象之间的边缘处的两个单应性矩阵之间进行转换,以用于拼接拼接图像220的前景和背景。

当对象从远场移动到近场时,单应性矩阵可能显著改变。在特定实施方式中,可以在单独的计算线程上通过拼接过程来执行单应性矩阵的计算。作为示例而非作为限制,一个计算线程可以执行离散图像的拼接,以及另一个计算线程可以针对单应性数据分析离散图像并且向共享存储装置提供更新。其余的情况可以通过使用校准数据或者使用最后可用的单应性矩阵来管理。在特定实施方式中,可以使用图形处理单元(GPU)来加速计算单应性矩阵或拼接过程。作为示例而非作为限制,系统的中央处理单元(CPU)可以用于计算单应性矩阵,以及GPU可以用于使离散图像畸变并融合。

在特定实施方式中,可以执行为立体视频的拼接专门设计的一个或多个调整。在特定实施方式中,来自与左眼视图和右眼视图对应的拼接图像220的对应特征点对可以被投影到3-D球面投影空间上。在特定实施方式中,在左眼视图和右眼视图的起始点之间可能存在差值。可以通过将第一摄像机位置用作开始位置并且第一摄像机具有零偏航的初始条件来校正此差值。可以基于这些初始条件来调整其余摄像机。

在特定实施方式中,可以使用共享单应性矩阵来执行与左眼视图和右眼视图对应的拼接图像220。计算用于生成与左眼视图对应的拼接图像220的调整的拼接过程可以与计算用于生成与右眼视图对应的拼接图像220的调整的拼接过程进行通信,以确保总体单应性并且使图像调整在左眼视图与右眼视图之间是一致的。此外,图像参数或曝光校正应当在左眼视图与右眼视图之间的合理范围内一致。在特定实施方式中,立体视频可以具有在左眼视图与右眼视图之间时间同步的帧。

在特定实施方式中,生成用于视频的拼接图像220可以使用预见性方法。作为示例而非作为限制,对于当前帧,可以针对当前帧和未来的某些预定数量的后续帧来计算拼接调整(例如,单应性矩阵)。在特定实施方式中,响应于检测到在未来帧中产生的成对的对应特征点(例如,对象从远场到近场的移动)的大幅变化来计算整组拼接参数。此外,可以设置变化标志,其使得拼接参数被内插(例如,正弦回归)到新计算出的拼接参数,以使得拼接平滑地切换以处理场景变化。确定预定数量的后续帧应当考虑计算新的拼接调整所需的时间。

图15和图16分别示出用于拼接离散图像的示例性方法500和550。在特定实施方式中,用于拼接实时360°3-D视频的方法500是将单独帧的拼接分布在多个拼接服务器上,如图15的示例所示。可以按照拼接服务器各自完成单应性矩阵管理,或者拼接服务器可以使用中央单应性服务器来共享单应性矩阵。在特定实施方式中,中央单应性服务器可以对单个的服务器节点分派任务,以计算单应性矩阵或者拼接图像。用于完成拼接图像的服务器的数量可以与期望的帧率或拼接服务器的吞吐量成比例。作为示例而非作为限制,对于具有每秒1帧(FPS)吞吐量的单个拼接服务器,可以使用30个拼接服务器来产生30FPS拼接视频。

在特定实施方式中,用于拼接实时360°3-D视频的另一方法550是将视频段(例如,视频块或多个帧)的拼接分布在多个拼接服务器上,如图15的示例中所示。多个拼接服务器可以同时处理视频的拼接,其中每个拼接服务器生成与所接收的视频段对应的拼接视频段。收集服务器或视频组合器可以从拼接服务器接收各个视频段,以及将它们合并以生成拼接的视频。

在特定实施方式中,离散图像可以被手动拼接以生成拼接图像或视频。可以绕过对应的特征点对的特征提取和确定,以及提供手动选择的对应的特征点对。从此点开始,可以如上所述执行拼接过程的其余部分。

360°立体3-D视频的传输可能需要内容服务器140与显示视频的客户端装置150之间的高带宽网络连接。作为示例而非作为限制,360°立体3-D视频可以使用多达标准视频的5倍的数据带宽。编解码器是可以用于对与360°立体3-D视频对应的数字数据流高效地编码的计算机程序。在特定实施方式中,编解码器可以基于对先前帧的参考而按时间顺序对360°立体视频流的后续帧进行编码。作为示例而非作为限制,编解码器可以使用初始视频帧作为正常编码的主图像。确定下一时序图像与主图像之间的差异或“增量”,并由编解码器进行编码以采集时序偏移。如上所述,与左眼视图和右眼视图对应的立体对具有相对于彼此的空间偏移。在特定实施方式中,编解码器可以以与时序编码类似的方式来将立体视频的图像另外空间编码为主/次图像对。作为示例而非作为限制,用于时序编码的主图像可以与来自一只眼睛的视图对应,以及被用作用于空间编码的主图像。在特定实施方式中,用于另一眼睛的对应图像可以被编码成相对于主图像的“增量(Delta)”图像或B图像。作为示例而非作为限制,对应于一只眼睛的主帧与对应于眼睛的图像之间的“增量”由编解码器确定并编码,以采集空间偏移。在特定实施方式中,编码可以将左眼视图和右眼视图的空间编码与当前图像和后续图像的时序编码进行组合。在特定实施方式中,对左图像与右图像之间的相似性或差异的搜索可以使用在图像的处理期间由拼接系统计算的点移动的信息。

在特定实施方式中,编解码器可以用于通过将左眼视图和右眼视图组合成单个图像来压缩最终的视频输出,从而采集帧之间的空间冗余,这是因为大多数空间信息将是相同或相似的。此外,编解码器可以用于通过将左眼视图和右眼视图的单个图像与左眼视图和右眼视图的后续单个图像进行组合来压缩最终的视频输出,从而采集帧之间的时序冗余,这是因为大多数时序数据将是相同或相似的。因此,在特定实施方式中,编解码器可以包括描述从左眼图像到右眼图像的增量的信息或者从右眼图像到左眼图像的增量的信息,这两者对应于相同的时序时间点;从第一时间点处的左眼图像到第二时间点处的左眼图像的增量;从第一时间点处的左眼图像到第二时间点处的右眼图像的增量;或者其任何合适的组合。编解码器可以使用对应于任何一个或多个合适的时间点的图像来作为参考。本公开涉及以下情况:编解码器可以针对给定的任何一对摄像机使用左图像或右图像。在特定实施方式中,编解码器可以通过确定一个或多个共享转换块来压缩最终视频,以使得可以使用块数据的底层“字典”来执行压缩和运动补偿。转换块或底层字典可以在左视频与右视频之间共享,从而允许具有共享底层压缩数据的两个流的视频。在特定实施方式中,转换块可以用作用于压缩最终视频的线性块转换(例如,离散余弦转换(DCT))的输入。在特定实施方式中,编解码器可以维持四个不同的运动补偿流:(1)主眼睛的运动补偿;(2)主眼睛的运动变化;(3)次眼睛的偏移(和偏移的变化);以及(4)次眼睛的运动变化。

在特定实施方式中,拼接系统可以将离散图像拼接在一起成为立体3-D 360°视频,以及将立体3-D 360°视频存储为高数据视频帧。对于高速度、高分辨率视频回放或低延迟情形,客户端装置150可以优选地使用其GPU或CPU来执行拼接操作。在这种情况下,内容服务器140可以存储客户端装置150的参数和掩码以正确地拼接所接收的图像,以及客户端装置150可以基于参数和掩码来执行畸变、合成或融合步骤。可以将掩码以低分辨率存储为二进制图像,以及可以利用参数通过内插法将二进制图像扩展到适当的分辨率,以及接收到的图像被拼接在一起以重构场景。在特定实施方式中,可以不逐帧地生成掩码,以及可以仅在检测到变化时存储掩码。还可以采用组合方法,其中帧的低分辨率版本被完全合成并保持用作背景,但是高分辨率图像可以被原样检索并且随后在客户端装置150上进行畸变和合成。

图17示出包括各种视频数据分量的内容包142。在特定实施方式中,复合流可以是指包括合并到单个内容包142(或包流)中的视频数据的分量的视频流。在特定实施方式中,视频数据可以被存储为具有在包142内交错的多个流或子流的单个包(内容包142)。在特定实施方式中,内容包142可以包括多个子流,例如:视频子流(例如,多个分辨率的合成视频、单个摄像机流、处理的摄像机流或者顶部/底部盖层视频数据);音频子流(例如,具有或不具有空间重构数据的音频、立体声音频或单声道音频);重构子流(例如,掩码数据、畸变数据、校正数据或投影参数);或者其任何组合。在图17的示例中,内容包142包括视频子流1至N、音频子流1至M以及重构信息1至R。在特定实施方式中,复合流的一个或多个音频子流可以与一个或多个视频子流时间同步。此外,音频空间重构数据可以包括用于从一个或多个音频子流在空间上重构360°音频(“环绕声”)的数据。在特定实施方式中,用于360°立体3-D视频的视频流可以是包括整个图像数据的视频流或针对摄像机系统的每个摄像机的视频流。在特定实施方式中,客户端装置150可以接收参数和掩码作为单独的流,以及根据需要检索特定图像帧。尽管本公开描述和示出具有特定分量或子流的特定复合流,但本公开涉及具有任何合适的分量或子流的任何合适的复合流。

图18示出配置成将内容包142广播为复合流的示例性内容服务器140。在特定实施方式中,具有内容包142的复合流可以由内容服务器140流送(可能以速率受限的方式)到客户端装置150,以及客户端装置150可以解压缩流并解译流。作为示例而非作为限制,图18中所示的方法可以应用于广播直播流,其中复合流(例如,从拼接服务器130接收)可以由内容服务器140直接广播,而几乎没有或者完全没有由内容服务器140应用的附加处理。作为另一示例而非作为限制,图18中所示的示例性传输方法可以应用于具有最小级别的内部冗余的复合流。在特定实施方式中,内容服务器140可以是超文本传输协议(HTTP)服务器,以及内容服务器140可以配置成将内容包142发送到客户端装置150。在特定实施方式中,复合流的初始部分可以以更高的数据速率传送以填充客户端装置150的缓冲器,以及随后,复合流的其余部分可以以降低的数据速率进行传送。在特定实施方式中,拼接服务器130可以输出多个复合流,每个复合流具有由视频参数(例如,分辨率、帧率或压缩参数)确定的不同比特率。作为示例而非作为限制,内容服务器140或客户端装置150可以基于可用带宽或请求的带宽来选择适当的流。

图19示出涉及非绑定流的直接传输的示例性传输方案。在特定实施方式中,内容服务器140可以以单独流的形式而不是单个复合流的形式来发送视频数据。作为示例而非作为限制,客户端装置150可以单独请求资源(例如,视频流2、音频流2和重构信息2),以及随后客户端装置150可以单独地接收这些资源并且根据需要利用它们。在特定实施方式中,可以包括描述符文件或流(例如,具有各种流的元数据或位置)以便于访问。

图20示出用于传输视频流的示例性媒体方案。在特定实施方式中,内容服务器140可以解码并解译包括在复合流(例如,原始内容包142)中的数据。在特定实施方式中,客户端装置150可以发送对特定复合流的请求。作为示例而非作为限制,对视频流的请求可以包括涵盖或省略视频流的一个或多个分量或子流的指令,或者用于选择具有特定比特率的分量或子流的指令。例如,分量或子流可以对应于包括多个视图的视频流的特定视图。响应于从客户端装置150接收到请求,内容服务器140可以访问分量流以提取分量流的分量。在特定实施方式中,内容服务器140可以将与客户端装置150所请求的分量或子流对应的所请求的分量或子流组合成定制流。在图20的示例中,定制流(“发送到客户端的内容包”)包括视频流i、视频流j、音频流m和重构信息q。内容服务器140随后将定制流发送到客户端装置150。作为示例而非作为限制,没有扬声器或没有声卡的客户端装置可以包括从由内容服务器140发送的定制流中去除任何音频相关信息的指令。作为另一示例而非作为限制,具有高清晰度显示器的客户端装置150可以请求高分辨率视频流。

图21示出用于传输视频流的另一示例性媒体方案。如上所述,内容服务器140可以解码并解译包括在复合流中的数据。此外,客户端装置150可以向内容服务器140发送针对特定视频馈送的请求,此请求可以包括请求内容服务器对一个或多个分量或子流执行转换的指令。作为示例而非作为限制,客户端装置150的请求可以包括通过对复合流的一个或多个分量或子流进行代码转换或尺寸调整来定制流的指令。例如,包括在定制流中的一个或多个视频子流可以如上所述按时间顺序和空间进行编码,或者被编码成符合任何合适的编码格式(例如,运动图像专家组-4(MPEG-4))。作为另一示例,来自移动装置的请求可以包括用于将视频流尺寸重新设定为适合于移动装置的屏幕尺寸和连接的带宽的分辨率的指令。

图22示出用于传输视频流的另一示例性媒体方案。在特定实施方式中,内容服务器140可以将复合流的分量和子流存储为单独的流,以使得在从客户端装置150接收到请求时,不需要内容服务器提取复合流的分量。如上所述,客户端装置150可以向内容服务器140发送包括选择复合流的一个或多个分量或子流的指令的请求。内容服务器140可以检索所请求的分量或子流,以及将所请求的分量或子流发送到客户端装置150。在特定实施方式中,来自客户端装置150的请求可以包括用于对复合流的一个或多个分量或子流执行转换的指令。如上所述,转换可以包括对一个或多个分量或子流进行代码转换或尺寸调整。作为示例而非作为限制,来自客户端装置150的指令可以引导内容服务器140将一个或多个音频流的代码转换成环绕声格式(例如,空间音频编码(SAC))。

图23示出分片流集合144。在图23的示例中,分片流集合144包括与顶部分片S-Top和底部分片S-Bottom对应的两个流。分片流集合144还包括与分片S-1至S-N对应的N个流,其表示由摄像机系统110的摄像机112提供的360度视图。在本文,术语分片可以是指可以与同一帧中的其它区域分开编码的帧的空间上不同的区域。此外,在本文中,术语分片流可以是指已经被分成多个独立视频流的拼接的或未拼接的视频流,多个独立的视频流组成了视频帧的竖直和/或水平分片,其中每个视频流可以是可独立解码的。在特定实施方式中,分片流集合144可以另外包括来自复合流的数据,诸如音频信息或控制信息。

图24示出用于传输视频流的示例性交互方案。在特定实施方式中,内容服务器140可以将复合流分离成可以被单独访问或流送的分片。在特定实施方式中,内容服务器140可以基于来自客户端装置150的输入以交互方式提供对分片流的访问。作为示例而非作为限制,分片流可以是实时360°3-D视频,以及来自客户端装置150的输入可以描述用户到内容服务器140的取向。内容服务器140可以动态地服务与用户正在观看的区域对应的帧。作为示例而非作为限制,内容服务器140可以选择与用户的取向对应的视频流的一个或多个帧,以及将所选择的帧发送到客户端装置150。在特定实施方式中,内容服务器140可以传输当在客户端装置150上显示时用作背景场景的较低分辨率、完全拼接的视频流。可以在从内容服务器140接收全分辨率视频流时可能存在延迟的时间段期间为用户显示背景场景。当从内容服务器140接收到全分辨率视频流时,在客户端装置150上呈现的视频的细节水平(LoD)可以增加。

除了取向数据之外,客户端装置150还可以发送选择分片流的一个或多个分量或帧的指令。在特定实施方式中,指令也可以引导内容服务器140转换分片流的一个或多个分量或帧。作为示例而非作为限制,内容服务器140可以响应于来自客户端装置150的选择一个或多个分量或帧的指令来访问并服务来自多个流的数据。

在特定实施方式中,客户端装置150可以基于推断用户期望换个视角(例如,基于头戴式显示器(HMD)或远程的移动)而预测地请求可见区域的每一侧上的附加分片。客户端装置150可以基于推断的视角变化来发送选择一个或多个分量或帧的指令。在观看者视角的转变期间,LoD增加是轻微的,但是当视角在观看方向上变得更稳定时,LoD可以逐步增加(例如,增加视频分辨率)。在特定实施方式中,当用户视角变化时,来自客户端装置150的指令可以逐渐选择较高分辨率视频分片。

在特定实施方式中,内容服务器140或客户端装置150可以使用延迟感测算法或带宽感测算法来动态地调整视频流的帧率以补偿可用带宽的变化。作为示例而非作为限制,可以减小背景全拼接视频的传输速率以恢复带宽。在特定实施方式中,内容服务器140或客户端装置150可以基于客户端装置150的性质做出额外的决定。作为示例而非作为限制,电视上的导览可比用于HMD的导览更慢,HMD的导览可比可容易地在手中移动的移动电话或平板计算机的导览更慢。在特定实施方式中,内容服务器140可以基于客户端装置150的装置配置文件来调整一个或多个传输参数。

交互流可以使用重新编码或仅关键帧编码流,例如移动式连续图像专家组(M-JPEG)编码。在存在关键帧和中间帧的情况下,内容服务器140可以解码所有流,以及随后重新编码所请求的分片。在特定实施方式中,内容服务器140可以包括加速器ASIC或其它能力以加速视频流的重新编码/解码/处理。作为示例而非作为限制,这些能力可以被实现为具有专用硬件(例如,加速器ASIC)的单独的处理节点,其中内容服务器用作该处理节点的代理。

在特定实施方式中,整个数据流(例如,内容包142)可以被发送到一个或多个客户端装置150。作为示例而非作为限制,内容服务器140可以将内容包142发送到一个或多个客户端装置150,以及每个客户端装置150可以选择或提取内容包142的一部分(例如,客户端装置150可以提取来自内容包142的用于在客户端装置150上显示的特定视频子流)。客户端装置150可以基于客户端装置150的需求或能力来确定需要数据流的什么部分(例如,如果客户端装置150具有显示高清晰度视频的能力,那么客户端装置150可以从内容包142提取高清晰度视频流)。在特定实施方式中,数据流的一个或多个部分可以被发送到多个客户端装置150。作为示例而非作为限制,内容服务器140可以向具有显示高清晰度视频的能力的一个或多个客户端装置150发送高清晰度视频流,以及内容服务器140可以将标准清晰度视频流发送到具有显示标准清晰度视频的能力的一个或多个其它客户端装置150。

图25示出用于发送3-D 360°视频的示例性方法600。此方法可以在步骤610处开始,在步骤610处开,接收与三维视频的特定视图对应的请求。在特定实施方式中,3-D视频包括多个视图。在步骤620处,访问与视频对应的数据流。在步骤630处,基于请求来选择所访问的数据流的一个或多个部分。在特定实施方式中,所选择的部分中的至少一个对应于特定视图。在步骤640处,将所访问的数据流中的、所选择的部分发送到客户端装置。在适当情况下,特定实施方式可以重复图25的方法的一个或多个步骤。尽管本公开描述和示出了以特定顺序发生的图25的方法的特定步骤,但是本公开涉及以任何合适的顺序发生的图25的方法的任何合适的步骤。此外,尽管本公开描述和示出用于发送3-D 360°视频的示例性方法,该示例性方法包括图25的方法的特定步骤,但是本公开涉及用于发送3-D 360°视频的任何合适的方法,其包括任何合适的步骤,这些步骤在适当情况下可以包括图25的方法的步骤的全部、一些或者不包括图25的方法的步骤。此外,尽管本公开描述和示出执行图25的方法的特定步骤的特定部件、装置或系统,但本公开涉及执行图25的方法的任何合适的步骤的任何合适的部件、装置或系统的任何合适的组合。

在特定实施方式中,在3-D 360°视频被发送到客户端装置150之后,可以重构视频,以使得用户可以观看由作为3-D场景的视频展现的场景。作为示例而非作为限制,3-D 360°视频可以被重构,其方式使得观看重构视频的用户可以感知到自然、真实或代入式3-D环境,这种3-D环境提供了亲临其境的感觉而不是仅仅在屏幕上观看场景的展现的感觉。在本文,术语重构可以是指将2-D图像或视频转换成拼接的视频流或转换成以其它方式处理和校准的视频流的动作,其可以用于以逼真的3-D方式呈现场景。在特定实施方式中,重构可以由诸如HMD或3-D电视的立体观看系统来执行。客户端装置150(例如,HMD或3-D电视)可以从内容服务器140接收离散图像或流,以及客户端装置150可以通过组合、拼接或处理离散图像或流来执行重构,以生成立体3-D 360°视频。在特定实施方式中,重构技术可以允许客户端装置150向观看者无缝地呈现3-D场景,同时还提供以下各项中的一项或多项:带宽的高效使用;拼接过程的优化;采用先进网络流技术的能力;或者延迟、计算或其它观看参数的优化。尽管本公开描述和示出以特定方式执行的特定重构技术,但是本公开涉及以任何合适的方式执行的任何合适的重构技术。

在特定实施方式中,重构技术可以应用于立体图像(例如,如上所述使用摄像机系统110采集的图像)。作为示例而非作为限制,可以通过将拼接图像映射到球体上(例如,使用球面投影映射)来重构立体图像。当显示重构的3-D视频时,用户的眼睛或头部可以被表示为位于球体的中心,在这种情况下,允许用户的头部自由旋转以观看3-D视频的不同部分。随着用户的头部旋转,客户端装置150可以以无缝方式显示两个重构图像(例如,左图像和右图像)。在特定实施方式中,客户端装置150可以从内容服务器140接收各个图像、掩码数据和畸变参数。客户端装置150可以使用GPU或CPU来使图像畸变,以及应用掩码或其它校正参数来在存储器中创建球形纹理。在特定实施方式中,球体的未由用户观看的部分可以被跳过或忽略,这可以降低数据传输的带宽消耗。在特定实施方式中,可以在检索或处理较高分辨率视频时临时提供和使用低分辨率图像(例如,当用户转动其头部以观看视频的不同部分时)。

在特定实施方式中,重构过程可以包括摄影测量技术。作为示例而非作为限制,摄影测量可以基于使用具有重叠FOV的摄像机的集合来采集非立体图像。作为示例而非作为限制,摄像机的集合可以沿着圆或圆的一部分布置,以及每个摄像机可以沿着源自圆的公共中心点的径向线来定向。由布置成圆形的摄像机的集合采集的图像集合可以展现场景的360°视图,以及集合中的每个图像可以对应于360°场景的特定角位置(例如,每个摄像机可以具有不同取向)。相邻的摄像机可以具有类似于上述角度重叠116的角度重叠。在特定实施方式中,摄影测量可以涉及具有高度角度重叠(例如,大于或等于50%的水平FOV角度重叠)的相邻摄像机,以使得场景中的任何点由至少两个摄像机采集。在特定实施方式中,摄影测量方法可以使用与图像平面相交的其它图像来合成3-D信息。作为示例而非作为限制,同一场景的多个视图可以用于创建单独的左视图和右视图,以及向观看者提供3-D场景。来自不同视点的图像可以被放置在数学上适当的位置处,以提供匹配采集图像的摄像机的取向或FOV的重构。作为示例而非作为限制,图像的集合可以被映射到对应的多边形的集合上。一旦图像被放置或对准,就可以选择重叠图像的适当部分以生成具有3-D外观的立体视图(例如,左视图和右视图)。在特定实施方式中,可以应用摄影测量技术而不使用融合、拼接或者重复特征搜索或单应性计算。

在特定实施方式中,摄影测量技术可以提供相对快速或高效的方法来处理图像。作为示例而非作为限制,摄影测量技术可以用于直接处理来自摄像机系统110的图像,以及提供由摄像机系统110采集的场景的取景器类型指示(例如,不需要拼接或其它附加处理)。设置用于操作的摄像机系统110的人可以在摄像机系统110需要被移动或者其操作参数被调整的情况下使用利用摄影测量法处理的图像来快速地观看由摄像机系统110获得的图像。作为另一示例而非作为限制,如果拼接过程变得暂时不可用或不可行,那么摄影测量技术可以被应用为备用以处理来自摄像机系统110的图像或者将图像平面放置在适当的焦距处。尽管本公开描述了包括特定过程的特定摄影测量技术,但本公开涉及包括任何合适的过程的任何合适的摄影测量技术。

图26示出基于使用摄影测量的混合拼接的示例性重构过程。在特定实施方式中,重构过程可以包括使用摄影测量的混合拼接,其中摄影测量技术与拼接过程组合,以生成3-D图像的集合。正如上述摄影测量技术,使用摄影测量的混合拼接可以不需要立体图像采集。在特定实施方式中,可以使用具有重叠FOV的摄像机的集合来采集重叠图像650的集合,以及随后可以将所采集图像650拼接在一起(例如,使用如上所述的拼接过程)以形成合成图像655。在特定实施方式中,如上所述的拼接过程可以用于将采集的图像650组合在一起,但是对于使用摄影测量的混合拼接,采集的图像650可能未被完全拼接(例如,图像可能被拼接但是可能未被融合或合成)。在特定实施方式中,在执行拼接过程以生成合成图像655之后,计算总体单应性集合。作为示例而非作为限制,如上所述,可以计算与相邻图像对的对应特征点对相关的单应性矩阵。在特定实施方式中,在计算单应性之后,可以使用掩码或直接图像分割来将采集的图像650分割成左图像集和右图像集。在图26的示例中,采集的图像650用于生成左图像集660和右图像集670。作为示例而非作为限制,采集图像650的每个图像可以具有与一个相邻图像共享的第一重叠区域210和与另一相邻图像共享的第二重叠区域210。可以通过从采集图像650的每个图像提取第一重叠区域210来形成左图像660的集合,以及可以通过从采集图像650的每个图像提取第二重叠区域210来形成右图像670的集合。随后使用计算的单应性将提取的左图像660拼接在一起以生成伪立体左图像665。类似地,使用计算的单应性将提取的右图像670拼接在一起,以产生伪立体右图像675。在特定实施方式中,可以对左拼接图像665和右拼接图像675执行完全融合和合成过程。在特定实施方式中,使用摄影测量的混合拼接可以由服务器(例如,拼接服务器130)执行,以及拼接图像665和675可以由内容服务器140发送到客户端装置150。在特定实施方式中,基础视频或基础图像可以(例如,由内容服务器140)连同单应性一起发送到客户端装置150,以及客户端装置150可以执行最终拼接操作。

图27示出用于重构3-D 360°视频的示例性方法700。此方法可以开始于步骤710处,在步骤710处,访问展现场景的360°视图的多个图像。作为示例而非作为限制,图像可以由摄像机的集合(例如,非立体摄像机的集合)采集,每个摄像机被定向来采集360°场景的特定部分。在特定实施方式中,每个图像可以展现360°场景的一部分,以及每个图像可以包括第一重叠区域和第二重叠区域。第一重叠区域可以对应于与第一相邻图像的重叠,以及第二重叠区域对应于与第二相邻图像的重叠。在特定实施方式中,特定图像的重叠区域可以包括特定图像的区域的50%或更多。作为示例而非作为限制,在水平方向上具有1000像素范围的特定图像可以具有至少包括像素0至500的第一重叠区域,以及可以具有至少包括像素500至1000的第二重叠区域。在步骤720处,计算单应性的集合。在特定实施方式中,可以为每个重叠区域计算单应性的集合,以及单应性可以基于重叠区域中的特征点。作为示例而非作为限制,如上所述的特征点匹配过程可以应用于展现场景的360°视图的图像。在步骤730处,从展现场景的360°视图的图像创建左图像的集合。左图像的集合可以展现场景的第一360°视图。在步骤740处,从展现场景的360°视图的图像创建右图像的集合。右图像的集合可以展现场景的第二360°视图。在特定实施方式中,左图像集合和右图像集合的创建可以基于摄影测量技术。在步骤750处,将左图像拼接在一起。在特定实施方式中,可以使用先前计算的单应性来将左图像的集合拼接在一起,以生成拼接的360°左图像。在步骤760处,将右图像拼接在一起,此时方法可以结束。在特定实施方式中,可以使用先前计算的单应性来将右图像的集合拼接在一起,以生成拼接的360°右图像。在适当情况下,特定实施方式可以重复图27的方法的一个或多个步骤。尽管本公开描述和示出了以特定顺序发生的图27的方法的特定步骤,但是本公开涉及以任何合适的顺序发生的图27的方法的任何合适的步骤。此外,尽管本公开描述和示出用于重构3-D 360°视频的示例性方法,其包括图27的方法的特定步骤,但是本公开涉及用于重构3-D 360°视频的任何合适的方法,其包括任何合适的步骤,这些步骤在适当情况下可以包括图27的方法的步骤的全部、一些或者不包括图27的方法的步骤。此外,尽管本公开描述和示出执行图27的方法的特定步骤的特定部件、装置或系统,但本公开涉及执行图27的方法的任何合适的步骤的任何合适的部件、装置或系统的任何合适的组合。

图28示出用于重构3-D 360°视频的另一示例性方法900。此方法可以开始于步骤710处,在步骤710处,访问展现场景的360°视图的多个图像。如上所述,图像可以由摄像机的集合(例如,非立体摄像机的集合)采集,其中每个图像可以展现360°场景的一部分,以及每个图像可以包括第一重叠区域和第二重叠区域。第一重叠区域可以对应于与第一相邻图像的重叠,以及第二重叠区域对应于与第二相邻图像的重叠。在步骤950处,如上所述,可以由摄像机系统接收每个摄像机相对于其相邻摄像机的位置、来自相邻摄像机的图像之间的重叠量以及图像边界数据。在步骤955处,可以将来自摄像机系统的图像进行拼接以形成单目全景图像。作为示例而非作为限制,如上所述的特征点匹配过程可以应用于展现场景的360°视图的拼接图像。在特定实施方式中,可以将所接收的图像进行分割以创建用于左虚拟立体摄像机(VSC)和右VSC的两个图像边界。可以扩展所接收的图像的区域,以使得存在适当的拼接重叠。在步骤960处,可以计算虚拟位置。在步骤965处,基于重叠的图像分割可以限定轴向边缘边界。作为示例而非作为限制,轴向边缘边界可以对应于左VSC的右边界和右VSC的左边界。作为示例而非作为限制,左VSC的左边缘和右VSC的右边缘由不同单目摄像机之间的拼接线(以橙色示出)来限定。在步骤970处,可以确定分割图像的反轴向边界。作为示例而非作为限制,反轴向边界可以对应于左VSC的左边缘和右VSC的右边缘。在特定实施方式中,反轴向边界由不同摄像机之间的拼接线或接缝限定。

在步骤975处,可以生成采集所接收的图像的边界的图像掩码。在特定实施方式中,图像掩码限定单目图像的什么部分属于对应的VSC。接收的单眼图像可能被畸变以补偿必须畸变的的单目图像,从而补偿采集的场景的虚拟3-D空间中的对象的各种位置。在特定实施方式中,畸变图像的边界可以是相对任意的,以及难以限定为简单的线。相反,这些边界更容易被采集为掩码(例如,左VSC掩码和右VSC掩码)。在步骤750处,将左图像拼接在一起。在特定实施方式中,可以使用先前针对左图像计算的VSC掩码来将左图像的集合拼接在一起。在步骤760处,将右图像拼接在一起。在特定实施方式中,可以使用先前针对右图像计算的VSC掩码来将此组右图像拼接在一起。在步骤980处,组合左拼接图像和右拼接图像以形成3-D 360°视频。在适当情况下,特定实施方式可以重复图28的方法的一个或多个步骤。尽管本公开描述和示出了以特定顺序发生的图28的方法的特定步骤,但是本公开涉及以任何合适的顺序发生的图28的方法的任何合适的步骤。此外,尽管本公开描述和示出用于重构3-D 360°视频的示例性方法,其包括图28的方法的特定步骤,但是本公开涉及用于重构3-D 360°视频的任何合适的方法,其包括任何合适的步骤,这些步骤在适当情况下可以包括图28的方法的步骤的全部、一些或者不包括图28的方法的步骤。此外,尽管本公开描述和示出执行图28的方法的特定步骤的特定部件、装置或系统,但本公开涉及执行图28的方法的任何合适的步骤的任何合适的部件、装置或系统的任何合适的组合。

图29示出在将畸变操作应用于图像之前和应用于之后的单目图像的示例性集合。在图29的示例中,图像765A、图像765B和图像765C对应于在应用畸变操作之前采集的单目图像,以及图像767A、767B和767C对应于在应用畸变操作之后的图像。在特定实施方式中,摄像机系统可以包括单目摄像机的集合,其中每个摄像机沿着摄像机系统的半径同轴对准。在特定实施方式中,来自单目摄像机系统的单目图像的集合可以被组合以形成看起来是利用虚拟立体摄像机的集合得到的拼接图像,其中每个VSC对(例如,一对左VSC和右VSC)对应于单目摄像机。作为示例而非作为限制,单目图像的集合可以在拼接过程期间进行转换,以生成单独的左眼输出和右眼输出。在特定实施方式中,如上所述,可以基于轴向边缘边界和反轴向边缘来分割单目图像。在特定实施方式中,单目图像的集合可以畸变以补偿场景中的对象的各种3-D位置。作为示例而非作为限制,在已应用畸变操作之后的图像的集合可以具有不是线性的边界或者在两个维度上变化的边界,如图29中的畸变图像767A、767B和767C所示。在特定实施方式中,图像边界可以形成掩码,其可以限定单目图像的哪个部分属于哪个VSC。尽管本公开描述和示出以特定方式分割和畸变的特定单目图像,但本公开涉及以任何合适的方式分割和畸变的任何合适的单目图像。

图30至图31示出示例性360°立体3-D环境。在特定实施方式中,用户可以通过使用具有3-D能力的客户端装置来体验代入式360°立体3-D环境240。在特定实施方式中,用户被360°立体3-D环境240包围,以及用户可以与360°立体3-D环境240交互,如图30的示例所示。用于观看360°立体视频的示例性客户端装置150A-C可以包括头戴式显示器(HMD)、移动装置(例如,电话、平板计算机等)或电视。在特定实施方式中,多个用户可以通过客户端装置150A-C来观看360°立体3-D环境240,以及从它们的独特视角242A-C独立地观看360°立体3-D环境240,如图31的示例所示。作为示例而非作为限制,每个用户可以通过客户端装置150A-C实时动态地调整其360°立体3-D环境240的个人视角242A-C。此外,所选择的视角242A-C可以被提供为实时采集并在客户端装置150A-C上实时呈现的立体3-D视频。

如上所述,客户端装置150A-C可以向提供360°立体3-D视频的内容服务器140描述每个用户的取向。在特定实施方式中,客户端装置150A-C可以包括可以用于旋转或控制视角242A-C的惯性测量单元(IMU)。此外,客户端装置150A-C可以基于惯性测量来确定每个用户的取向,以使得360°立体3-D环境240可以被呈现为与每个用户的左眼和右眼适当地对准。作为示例而非作为限制,IMU可以包括陀螺仪、加速度计或其组合。在特定实施方式中,加速度计可以用于确定重力矢量并将360°立体3-D环境240与用户的全局竖直轴对准。作为另一示例,可以基于用户与显示器的相对位置来调整所显示的视角242A-C的视差。在特定实施方式中,当计算客户端装置150A-C的运动时,惯性测量传感器的更快的采样可以导致更高的准确度和精度。在特定实施方式中,可以切换对来自IMU的自动运动计算的使用的控制。在特定实施方式中,如上所述,内容服务器140可以基于来自用户的输入以交互方式提供对360°立体3-D环境240的访问。作为示例而非作为限制,视角242A-C可以各自对应于由多个视图或视角构成的360°立体3-D环境240的特定视图或视角。因此,如本文更全面地描述的,客户端装置可以显示全景(例如360°)场景的特定视图,以及此场景可以被划分为多个视图,每个视图可以由用户观看,例如随着用户转动头而观看。本公开涉及视图可以是连续的,以使得视图仅仅是显示给用户的任何内容,以及用户可以例如通过转动她的头部来连续地调整显示。在特定实施方式中,内容服务器140可以基于用户的取向从高分辨率流中选择帧,以及可以将选择的帧发送到客户端装置150A-C。内容服务器140可以预测客户端装置150A-C的运动方向,以及基于预测的运动方向发送附加帧。

在特定实施方式中,客户端装置150A-C可以是具有水平或竖直参考平面以围绕其自身的运动中心旋转的智能电话或平板计算机。由于用户可围绕其自己的运动中心而不是装置的中心旋转,因此在这种情况下旋转必须考虑平移。可以与运动控制同时支持平移,以允许用户设置水平或竖直参考平面。可替代地,可以使用重力矢量感测来自动设置这些平面。在特定实施方式中,用户可以手动地为360°立体3-D视频建立竖直平面。作为示例而非作为限制,视角242A-C可以通过平移客户端装置150A-C来旋转。在特定实施方式中,用户可以在电话或平板计算机的触摸屏上执行姿势操作以与360°立体3-D视频交互。作为示例而非作为限制,捏的姿势可以增加在客户端装置150A-C上呈现的视角242A-C的量。

在特定实施方式中,外围装置可以与客户端装置150A-C配对。作为示例而非作为限制,外围装置可以是遥控器、移动电话、平板计算机、操纵杆、触摸板、电子笔或可穿戴装置。此外,可以通过射频(RF)、光传输、蓝牙、WI-FI或有线连接来执行配对。作为示例而非作为限制,来自操纵杆或游戏控制器的输入可以用于平移视角242A-C。在特定实施方式中,外围装置可以包括位置跟踪系统(例如,PLAYSTATION MOVE或WII REMOTE),以及位置跟踪或旋转跟踪可以用于改变视角242A-C。作为另一示例,触摸板或操纵杆可以用于输入“鼠标姿势”,其拉出可视菜单或者执行某些功能。在特定实施方式中,外围装置可以是遥控器,以及视角242A-C可以通过基于加速度计或陀螺仪数据的遥控器的移动来改变。作为另一示例,可以通过使用遥控器的双向按钮来执行放大或缩小。作为另一示例,用户可以使用遥控器的方向键来旋转视角242A-C。在特定实施方式中,外围装置可以包括特定按钮,其可以用于将视角242A-C返回到已知的安全设置,从而允许用户容易地对自身定位。如果需要缩放或其它控制,双向按钮(诸如信道控制)可以被映射到这些功能。

在特定实施方式中,外围装置可以与HMD配对以调整视角242A-C。作为示例而非作为限制,外围装置(例如,遥控器或游戏控制器)可以包括物理纹理以将用户引导到本地按钮或控件。此外,外围装置可以包括标签(有源或无源),该标签允许外部摄像机定位外围装置并在视角242A-C中显示出该外围装置的表示。在特定实施方式中,外围装置的虚拟表示可以不是精确表示。例如,可以精确地呈现一些部分(例如,按钮或开关),而可以对外围装置进行扩展以向外围装置附加另外的能力。作为另一示例,外围装置可以使用触摸感测,其允许外围装置在用户触摸按钮时向客户端装置150A-C提供输入。在特定实施方式中,外围装置可以是附接到真实世界对象的一个或多个可附接传感器便签。作为示例而非作为限制,左箭头功能便签可以被放置在对象(例如,纸巾盒)的左侧,以及右箭头功能便签被放置在对象的右侧。在对象的每一侧上轻敲可以浏览视频内容。

在特定实施方式中,外围装置可以是与客户端装置150A-C配对的可穿戴装置。作为示例而非作为限制,外围装置可以是具有触觉反馈的一个或多个手套。当用户触摸虚拟对象时,手套发送与对象相关联的触觉反馈(例如,纹理、感觉或温度)。在特定实施方式中,外围装置可以是智能手表,以及智能手表的移动可以控制视角242A-C的空间导览。移动可以由IMU(例如,加速度计或陀螺仪)、地磁传感器或气压计来检测。例如,当用户伸出手指时,视角242A-C可以向前移动。作为另一示例,旋转或拨动智能手表可以在时间上向后或向前移动360°立体3-D视频。作为另一示例,智能手表的移动可以将视角242A-C移动到不同的位置或者将360°立体3-D视频移动到下一章节。在特定实施方式中,外围装置可以是佩戴在用户手指上的戒指。作为示例而非作为限制,用户可以通过戒指一侧上的旋转元件来改变视角242A-C。作为另一示例,旋转元件可以控制360°立体3-D视频的回放速率。在特定实施方式中,戒指可以包括用于用户输入的物理按钮或电容传感器。作为示例而非作为限制,用户可以按下按钮以执行选择操作。作为另一示例,用户可以在电容传感器上执行滑动姿势以控制视角242A-C。在特定实施方式中,戒指可以使用加速度计、气压计、陀螺仪或地磁传感器来执行移动感测,以及使用手指和戒指来控制视角242A-C的导览。

在特定实施方式中,智能电话或平板计算机可以包括面向用户的摄像机,以及可以通过跟踪用户的眼睛移动来提供用户输入。作为示例而非作为限制,用户可以基于眨眼的量或持续时间来对360°立体3-D视频或用户界面(UI)进行导览。作为另一示例,可以响应于用户将他们的眼睛引导到视角242A-C的特定部分并且保持他们的眼睛位置持续预定量的时间来执行特定命令。作为另一示例,UI可以基于用户闭上一只眼睛并且睁开另一只眼睛来执行特定动作。

在特定实施方式中,电子笔可以与平板计算机或智能电话结合使用以与360°立体3-D视频交互或控制360°立体3-D视频。作为示例而非作为限制,电子笔可以用于绘制、注释或选择360°立体3-D环境240的部分。例如,用户可以通过用电子笔尖跟踪360°立体3-D视频的对象的轮廓来执行“套索(Lasso)”选择。作为另一示例,当与客户端装置150A-C配对时,电子笔可以是“鼠标状”控制器。

在特定实施方式中,客户端装置可以提供允许用户与360°立体3-D视频交互的UI。在特定实施方式中,客户端装置150A-C的IMU可以使用用户头部的运动来与UI交互(例如,点头或摇头以进行确认或拒绝动作)。作为示例而非作为限制,UI可以使用视角242A-C的侧面来显示菜单项或者激活各种能力。例如,如果视角242A-C的中心包括主视频内容,那么视角242A-C的侧面或背面可以包括用户可以看到以便进行激活的控件。作为另一示例,UI可以水平地组织不同的视频片段。用户可以通过水平旋转头部来浏览视频片段。此外,通过向上或向下查看,用户可以逐帧地扩展所选择的片段。作为另一示例,倾斜用户的头部可以导致视角242A-C的倾斜。作为另一示例,UI可以基于检测到由用户执行的向下头部移动来打开动作菜单。

在客户端装置150A-C是HMD的情况下,用户的视线可能被遮挡,以及用户可与360°立体3-D环境240交互,而无需看到手或真实世界环境。在特定实施方式中,HMD可以包括面向外部的摄像机,其可以用于跟踪用户的手的轮廓以生成手的指针或虚拟图像。作为示例而非作为限制,用户可以使用由面向外部的摄像机采集的姿势交互来与UI交互。在特定实施方式中,客户端装置150A-C可以包括与头接触的电极。作为示例而非作为限制,一个或多个电极可以被构造到HMD装置的边缘中,以与用户头部前面的前额叶皮质附近的区域接触。作为示例,UI可以包括采集大脑中的电活动以与360°立体3-D环境240交互的脑—机接口(BCI)。此外,客户端装置150A-C可以推断用户的情绪或命令,以及相应地调整内容或视角242A-C。

在特定实施方式中,客户端装置150A-C可以包括深度和图像传感器组合以采集用户的四肢(例如,手或脚)的移动。作为示例而非作为限制,传感器可以是类似于体感器(KINECT)的系统的一部分。作为另一示例,客户端装置150A-C可以使用面向用户的一对摄像机来划分用户的手,以及通过三角测量确定其3-D位置。在特定实施方式中,客户端装置150A-C的UI可以从所采集的用户的手的移动来识别特定姿势。此外,UI可以通过采集的用户的一只手或两只手的移动来提供对指针集合的直接控制。作为示例而非作为限制,采集的手部运动可以允许用户玩游戏、与其它虚拟内容交互或者对虚拟景观进行注释。作为另一示例,用户还可以使用姿势来例如暂停或播放360°立体3-D视频、访问控件(诸如倒退、快进或音量)或者转移到不同的虚拟场景或区域。例如,UI可以允许用户通过举起他们的手来移动或框出360°立体3-D视频的一部分。在特定实施方式中,可以通过由用户“触摸”的UI的虚拟控件(例如,虚拟按钮或滑块)或者通过在没有虚拟控件的情况下使用姿势来完成对360°立体3-D视频的控制。

作为示例而非作为限制,UI可以基于识别跟踪所显示的虚拟对象的轮廓的手指或手的移动来突出显示或选择虚拟项目。例如,UI可以提供特殊效果以将所选对象与视角242A-C中的其它未选择对象区分开。作为另一示例,UI可以将四根手指的移动识别为对应于虚拟QWERTY键盘或控制器面板上的输入。例如,UI可以基于虚拟键盘上的输入来在视角242A-C上提供虚拟便签。作为另一示例,UI可以响应于检测到两个拇指的移动而执行选择或点击操作。此外,用户可以通过在虚拟键盘上轻敲来选择字母,以及摄像机跟踪此移动。作为另一示例,UI可以将指向姿势关联为将360°立体3-D视频前进到下一个记录点的命令。作为另一示例,UI可以基于检测用户的手之间的距离变化来放大或缩小视角242A-C。作为另一示例,UI可以基于采集形成望远镜的形状的两只手来放大视角242A-C。

作为另一示例,响应于采集到的、与剥离姿势对应的手部移动,UI可以移除360°立体3-D环境240的一部分,从而显露手机摄像机馈送。作为另一示例,UI可以基于检测到手滑动姿势来打开动作菜单。作为另一示例,UI可以通过使用滑动姿势擦除最近的视角242A-C来显示透视视角242A-C。作为另一示例,UI可以支持基于由用户伸出的手限定的区域来限定视角242A-C的裁剪区域。裁剪区域可以与来自360°立体3-D视频的记录或实况流的片段拼贴。作为另一示例,当用户启用虚拟按钮或者执行特定姿势时,UI可以在流送内容与摄像机馈送之间切换。在特定实施方式中,UI可以根据深度传感器数据和图像传感器数据基于用户的移动来执行动作。作为示例而非作为限制,用户踩踏移动可以打开通知,而脚踢运动可以消除通知。

在特定实施方式中,摄像机或深度摄像机可以用于将对象从用户的“真实世界”环境拉入视角242A-C中。作为示例而非作为限制,用户可以在他们的客厅中并且通过使用HMD而被虚拟地传送到美丽的海滩,同时仍然看到他们的沙发、咖啡桌和咖啡桌上的饮料。在特定实施方式中,UI可以使用被增强为视角242A-C的真实世界对象作为视角242A-C的虚拟控件。在特定实施方式中,用户可以通过连接到客户端装置150A-C的外围装置与视角242A-C交互。在特定实施方式中,外围装置或客户端装置150A-C可以包括用于控制UI或视角242A-C的麦克风。作为示例而非作为限制,用户可以为UI说出诸如“打开我的电子邮件”的短语以向用户显示内容。作为另一示例,用户可以说出诸如“这是哪里”的短语,以及UI可以显示地图并在地图上标记此位置。作为另一示例,用户可以说出诸如“暂停”或“开始”的短语来控制360°立体3-D视频的回放。

如上所述,360°立体3-D视频可以提供代入式体验。作为示例而非作为限制,用于360°立体3-D视频的UI可以基于用户与虚拟对象的交互来执行动作。例如,用户可以放下虚拟球以在代入式环境内标记他们的当前位置。作为另一示例,当接收到消息时,在用户的虚拟口袋中或者在UI上的虚拟字母中存在球。作为另一示例,UI可以提供虚拟插针来标记视角242A-C的不同部分。在特定实施方式中,UI可以包括人工智能归档以管理不同的360°立体3-D视频。在特定实施方式中,360°立体3-D环境240可以被增强以基于360°立体3-D视频的数据或元数据来显示信息。作为示例而非作为限制,UI可以基于用户基于视频或位置数据的图像分析观看威尼斯的360°立体3-D视频来提供威尼斯的历史的概述。作为另一示例,UI可以在视角242A-C的对象的顶部上显示图标。当用户与图标交互时,UI可以显示更详细的视图或信息。作为另一示例,UI可以允许用户通过语音、打字或键盘提供评论来增强实时360°立体3-D视频。作为另一示例,UI可以响应于接收到来电而在视角242A-C内部显示电话菜单。

在特定实施方式中,UI可以允许用户选择直播流或预先记录的360°立体3-D视频上的对象、人或空间,以及视角242A-C可以被切换到另一视角242A-C。作为示例而非作为限制,UI可以示出所选对象、人或空间的更近、优化的视角242A-C。在特定实施方式中,UI可以提供特定站点或地标的360°立体3-D视频的时间覆盖。作为示例而非作为限制,UI可以允许用户从更早的时间利用对象(例如,人或建筑物)的另一360°立体3-D视频来增强360°立体3-D环境240。例如,当前日期马丘比丘(Machu Pichhu)的360°立体3-D视频可以由客户端装置150A-C呈现,以及UI可以允许用户利用来自印加时代的人和建筑物的360°立体3-D视频来增强360°立体3-D环境240。在特定实施方式中,UI可以通过不同时间或不同视角242A-C来提供360°立体3-D视频的重叠转变。作为示例而非作为限制,360°立体3-D环境240可以在艺术画廊内。多个用户可以在空白的真实的墙上展示他们的艺术品,以及艺术品可以被呈现在艺术画廊墙上。作为另一示例,UI可以向用户提供虚拟购物体验,其中用户可以通过访问被呈现为360°立体3-D环境240的商店来查看实际情况或产品。

在特定实施方式中,客户端装置150A-C可以使用来自上述内容服务器140的音频重构数据来重构与360°3-D视频相关联的音频环境。客户端装置150A-C可以具有提供耳机输出的能力,或者可以替代地使用客户端装置的环绕声输出能力(例如,3-D电视上的环绕音频)。作为示例而非作为限制,音频可以在空间上锚定到场景,以使得当用户转动他们的头部时,音频在音调、音量等方面具有对应的变化。作为另一示例,用户可以控制音频环境的特定部分。例如,用户可以在视角242A-C中的对象(例如,角色)上执行特定输入,以及与对象相关联的音频被静音或增强。

图32示出用于与3-D视频交互的示例性方法3200。此方法可以开始于步骤3210处,在步骤3210处,包括远离用户的物理环境的真实场景的图像的三维视频在头戴式客户端计算装置的显示器上呈现给用户。在步骤3220处,在头戴式客户端计算装置的显示器上向用户呈现图形对象。在特定实施方式中,图形对象可以包括用户的物理环境3230或虚拟图形对象3240的图像。作为示例而非作为限制,用户的物理环境3230的图像可以包括用户的物理环境中的对象(例如,人、动物或家具)、用户的物理环境的示意图或者用户的物理环境的俯视图。作为另一示例而非作为限制,虚拟图形对象3240可以包括通知、虚拟输入装置、显示多个3-D视频的虚拟表面、与3-D视频中的对象对应的信息、由用户创建的内容或者与现实场景对应的图像。在可替代的实施方式中,用户的物理环境可以在头戴式客户端计算装置的显示器上呈现给用户,以及包括远程现实场景的图像的三维视频也可以呈现给用户。在又一实施方式中,可以在头戴式客户端计算装置的显示器上向用户呈现包括远程现实场景的图像的三维视频和用户的物理环境的任何合适的组合。在适当情况下,特定实施方式可以重复图32的方法的一个或多个步骤。尽管本公开描述和示出了以特定顺序发生的图32的方法的特定步骤,但是本公开涉及以任何合适的顺序发生的图32的方法的任何合适的步骤。此外,尽管本公开描述和示出用于与3-D视频交互的示例性方法,其包括图32的方法的特定步骤,但是本公开涉及用于与3-D视频交互的任何合适的方法,其包括任何合适的步骤,这些步骤在适当情况下可以包括图32的方法的步骤的全部、一些或者不包括图32的方法的步骤。此外,尽管本公开描述和示出执行图32的方法的特定步骤的特定部件、装置或系统,但本公开涉及执行图32的方法的任何合适的步骤的任何合适的部件、装置或系统的任何合适的组合。

图33示出示例性头戴式客户端计算装置150的框图。在特定实施方式中,头戴式客户端计算装置150可以被称为客户端系统150、客户端装置150或头戴式显示器(HMD)。在特定实施方式中,客户端系统150可以由用户佩戴在用户头部上或周围。在特定实施方式中,客户端系统150可以包括一个或多个显示器。作为示例而非作为限制,客户端系统150可以包括被划分为左侧和右侧的单个显示器,以用于在佩戴客户端系统150时向用户分别显示3-D场景的左图像和右图像。在图33的示例中,客户端系统150包括左显示器782L和右显示器782R,以及这两个显示器可以用于向用户呈现3-D视频。在特定实施方式中,客户端系统150可以包括一个或多个摄像机。作为示例而非作为限制,客户端系统150可以包括面向外或背对用户头部的一个或多个摄像机,以及摄像机可以用于采集用户的物理环境的一个或多个图像。在图33的示例中,客户端系统150包括左摄像机784L和右摄像机784R。两个摄像机784L和784R可以用于采集用户的物理环境的立体图像或视频,以及这些图像或视频可以在显示器782L和782R上显示给用户。

在特定实施方式中,客户端系统150可以包括一个或多个处理器786。作为示例而非作为限制,处理器786可以对由客户端系统150从内容服务器140接收的图像执行拼接操作。在特定实施方式中,客户端系统150可以包括用于向客户端系统150提供电力的电池788(例如,可充电电池)。在特定实施方式中,客户端系统150可以包括外部通信模块790,例如使用WI-FI或蓝牙协议无线通信的模块。作为示例而非作为限制,外部通信模块790可以与内容服务器140无线通信,或者可以与和内容服务器140通信的互联网连接的计算装置进行无线通信。在特定实施方式中,客户端系统150可以包括一个或多个扬声器792。作为示例而非作为限制,扬声器792可以直接产生用户可以听到的可听声音,或者扬声器792可以向产生可听声音的耳机提供信号(例如,蓝牙信号)。在特定实施方式中,客户端系统150可以包括一个或多个麦克风794。作为示例而非作为限制,麦克风794可以用于从用户接收语音命令。作为另一示例而非作为限制,麦克风794可以用于接收或检测来自用户的物理环境的音频信号(例如,对用户说话的人的声音;门铃的声音;或者用户的狗叫的声音)。在特定实施方式中,客户端系统150可以包括一个或多个惯性测量单元(IMU)796以确定客户端系统150的取向或移动。在特定实施方式中,客户端系统150可以包括一个或多个传感器798。作为示例而非作为限制,客户端系统150可以包括一个或多个深度传感器798,以确定或检测用户物理环境中的对象的位置(例如,检测人朝向用户的接近)。尽管本公开描述和示出包括特定部件的特定头戴式客户端计算装置,但本公开涉及包括任何合适部件的任何合适的头戴式客户端计算装置。

图34示出在佩戴示例性头戴式客户端计算装置150的同时站在房间中的用户。在特定实施方式中,用户可以观看在客户端系统150上呈现的3-D视频,其中3-D视频包括远离用户的物理环境的真实场景的图像。在特定实施方式中,用户的物理环境可以包括位于用户附近、位于与用户相同的房间中或者位于用户的特定距离内(例如,在1米、3米、5米、10米内、或者在任何合适的距离内)的一个或多个对象(例如,家具、墙壁、楼梯、门)、动物或人。在图34的示例中,用户正在观看在客户端系统150上呈现的场景同时站在房间中,以及用户的物理环境包括家具(例如,桌子910和架子915)、狗920和另一个人925。

图35示出在佩戴头戴式客户端计算装置150时由用户观看的示例性场景。在特定实施方式中,用户观看的场景可以包括3-D图像或3-D视频。在图35的示例中,在客户端系统150上向用户显示的场景包括城堡、树和晴朗的天空。用户可以位于家中的客厅中,同时佩戴客户端系统150以观看描述欧洲城堡的旅行视频。

图36示出具有示例性通知930的图35的示例性场景。在特定实施方式中,客户端系统150可以向用户呈现3-D场景和虚拟图形对象。在特定实施方式中,虚拟图形对象可以包括通知930、虚拟输入装置(例如,虚拟键盘、虚拟笔或虚拟控制面板)、显示多个3-D视频的虚拟表面、与3-D视频中的对象对应的信息、用户创建的内容(例如,文本或绘图)或者与真实场景对应的图像。作为示例而非作为限制,具有关于城堡的历史信息的虚拟图形对象可以被叠加在城堡的3-D视频上。作为另一示例而非作为限制,虚拟图形对象可以包括叠加在历史遗迹的现实场景(例如,在今天看来,是城堡的废墟)上的历史遗迹的图像(例如,几个世纪前所呈现出来的城堡)。在图36的示例中,客户端系统150正在显示具有叠加在场景上的通知930的城堡的场景。在特定实施方式中,通知930可以以任何合适的格式来显示,例如叠加或重叠在场景的一部分或全部上、接近场景的中心或者偏到场景的一侧。在特定实施方式中,通知930可以是不透明的,以及可以阻挡位于通知930后面的场景的一部分,或者通知930可以是半透明的,从而允许至少部分地观看位于通知之后的场景。在特定实施方式中,通知930可以包括来自另一个用户或来自应用的消息。作为示例而非作为限制,通知930可以包括由另一用户发送给用户的电子邮件、语音邮件或文本消息的一部分,或者用户接收到电子邮件、电话呼叫或文本消息的指示。作为另一示例而非作为限制,通知930可以包括来自客户端系统150或在客户端系统150上运行的应用的消息,例如用户的门铃已响的消息、人925正在接近用户的消息、用户的狗920正在叫的消息、用户的狗920正在接近的消息、或者电池788电量低并且需要被充电的消息。尽管本公开描述和示出包括以特定格式显示的特定信息的特定通知,但本公开涉及包括以任何合适格式显示的任何合适信息的任何合适的通知。

图37示出具有叠加在场景上的人925的图35的示例性场景。在特定实施方式中,客户端系统150可以向用户呈现3-D场景和用户物理环境的图像。作为示例而非作为限制,客户端系统150可以包括图像传感器(例如,一个或多个摄像机,例如左摄像机784L和右摄像机784R),以及由图像传感器采集的用户的物理环境的图像可以与3-D视频组合并呈现给用户。在特定实施方式中,客户端系统150可以接收事件发生在用户的物理环境中的指示,以及基于此事件,客户端系统150可以向用户呈现用户的物理环境的至少一部分的图像。作为示例而非作为限制,事件可以包括用户的物理环境的方面,例如用户与对象之间的距离、对象的速度或者由用户或由另一个人执行的特定姿势。在图37的示例中,人925面向用户并且向用户挥手,以及人925的图像(由客户端系统150的摄像机采集)被叠加在城堡的3-D场景上。对用户挥手的人925的图像从由客户端系统150的摄像机采集的图像的其余部分中提取,以及仅提取的部分被呈现给用户。在特定实施方式中,呈现用户的物理环境的图像可以允许用户继续观看3-D场景,同时还与他们的物理环境交互或者知晓他们的物理环境。作为示例而非作为限制,用户可以不需要从其头部移除客户端系统150以查看在用户的物理环境中发生的事件。在图37的示例中,用户能够在仍然佩戴客户端系统150的同时与人925交互。

图38示出具有叠加在场景上的狗920的图35的示例性场景。在特定实施方式中,当对象以特定速度或高于特定速度接近用户时或者当对象位于人的特定距离内时,可以向用户显示来自用户的物理环境的对象。在特定实施方式中,显示来自用户的物理环境的对象可以允许用户避免撞到对象或被对象绊到。在图38中,狗920可以以特定速度或高于特定速度接近用户,或者狗可以位于此人的特定距离内。狗920的图像可以由客户端系统150的摄像机采集,以及可以从狗的周围环境中提取狗的图像并将其叠加到3-D视频上。在特定实施方式中,来自用户的物理环境的对象可以在近似对应于其在用户的物理环境中的位置的位置处向用户显示。在图38中,狗920被示出在与用户的物理环境中的狗920的位置对应的位置中。

在特定实施方式中,客户端系统150可以接收事件发生在用户的物理环境中的指示,其中事件包括声音。在特定实施方式中,对应于事件的声音可以包括一个或多个可听词。作为示例而非作为限制,佩戴客户端系统150的用户可以说出由麦克风794接收的语音命令。用户可以说出命令“摄像机”或“显示房间”,以及作为响应,客户端系统150可以显示用户的物理环境的图像。在图37的示例中,人925可以向用户说出“你好”,以及响应于人925的可听问候,客户端系统150可以显示人925的图像。在特定实施方式中,对应于事件的声音可以包括大于阈值声幅的声幅。在图38的示例中,狗920可以吠叫,以及狗920的吠叫的声幅可以超过阈值声幅。响应于检测到来自狗920的吠叫,客户端系统150可以显示狗920的图像。

图39示出分成两个示例性视图的示例性显示器。在特定实施方式中,在客户端系统150上显示给用户的场景可以被分成两个或更多个视图。在图39的示例中,城堡场景被显示在用户视图的左半部分上,以及用户的物理环境的图像被显示在用户视图的右半部分上。用户的物理环境的图像可以由客户端系统150的一个或多个摄像机采集。

图40示出具有叠加在场景上的桌子910的图35的示例性场景。在特定实施方式中,当对象位于人的特定距离内时,可以向用户显示来自用户的物理环境的对象。作为示例而非作为限制,佩戴客户端系统150的用户可以在他们观看在客户端系统150上显示的场景或与在客户端系统150上显示的场景交互时在他们的物理环境内转身或移动。为了防止用户在他们的物理环境中撞到对象或被对象绊到,当用户靠近对象时,客户端系统150可以警告用户。在图40的示例中,用户可以在桌子910的阈值距离内,以及为了使用户注意到此对象,客户端系统150可以向用户显示桌子910的图像。

图41示出具有叠加在场景上的弯曲箭头935的图35的示例性场景。在特定实施方式中,客户端系统150可以在所显示的场景上叠加图形符号(例如,箭头935)以警告用户位于用户后面或偏到用户侧面的对象或事件。在图41的示例中,弯曲箭头935指示用户应当注意到位于用户的后面和右侧的架子915,以使得他们不会碰到架子915或被架子915绊到。当佩戴客户端系统150时,用户可朝向架子915移动,以及客户端系统150可以显示箭头935以向用户指示存在位于用户后面或侧面的对象。在特定实施方式中,在向用户显示箭头935之后,如果用户在箭头935的方向上转动,那么客户端系统150可以显示与箭头935相关联的对象(例如,架子915)的图像。

图42示出具有示例性示意地图940的图35的示例性场景。在特定实施方式中,除了显示3-D图像或视频之外,客户端系统150还可以显示示出用户的物理环境中的对象的示意地图940。作为示例而非作为限制,客户端系统150的摄像机可以采集用户的物理环境的图像,以及可以从摄像机图像生成用户的物理环境的示意地图940。在特定实施方式中,示意地图940可以显示距用户特定距离内(例如,在1米、3米内或在任何合适的距离内)的对象。在图42的示例中,示意地图940以用户的位置为中心并且示出用户所在的房间中的对象。在特定实施方式中,用户可以使用示意地图940以在用户佩戴客户端系统150时维持对用户的物理环境的感知。作为示例而非作为限制,用户能够基于在客户端系统150上显示的示意地图940在他的物理环境周围移动。在特定实施方式中,用户能够打开或关闭示意地图940的显示。

图43示出具有示例性俯视图945的图35的示例性场景。在特定实施方式中,除了显示3-D图像或视频之外,客户端系统150还可以显示用户的物理环境的俯视图(例如,从上方示出用户的物理环境的视图)。作为示例而非作为限制,客户端系统150的摄像机可以采集用户的物理环境的图像,以及摄像机图像的部分可以被组合在一起以形成俯视图945。在图43的示例中,俯视图是圆形的并且以用户的位置为中心。在特定实施方式中,俯视图945可以允许用户在用户佩戴客户端系统150的同时保持对用户的物理环境的感知。

图44示出示例性计算机系统4400。在特定实施方式中,一个或多个计算机系统4400执行本文描述或示出的一个或多个方法的一个或多个步骤。在特定实施方式中,一个或多个计算机系统4400提供本文描述或示出的功能。在特定实施方式中,在一个或多个计算机系统4400上运行的软件执行本文所描述或示出的一个或多个方法的一个或多个步骤,或者提供本文描述或示出的功能。特定实施方式包括一个或多个计算机系统4400的一个或多个部分。在本文,在适当情况下,对计算机系统的引用可以包括计算装置,以及对计算装置的引用可以包括计算机系统。此外,在适当情况下,对计算机系统的引用可以包括一个或多个计算机系统。

本公开涉及任何合适数量的计算机系统4400。本公开涉及采取任何合适的物理形式的计算机系统4400。作为示例而非作为限制,计算机系统4400可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如,模块式计算机(COM)或模块式系统(SOM))、台式计算机系统、膝上型计算机或笔记本计算机系统、交互式资讯站、大型机、计算机系统网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统或者上述各项中的两个或更多个的组合。在适当情况下,计算机系统4400可以包括一个或多个计算机系统4400;可以是整体的或分布式的;可跨越多个位置;可跨越多台机器;可跨越多个数据中心;或者驻存在云中,云可以包括一个或多个网络中的一个或多个云部件。在适当情况下,一个或多个计算机系统4400可以在没有实质空间或时间限制的情况下执行本文描述或示出的一个或多个方法的一个或多个步骤。作为示例而非作为限制,一个或多个计算机系统4400可以实时地或以批量模式执行本文描述或示出的一个或多个方法的一个或多个步骤。在适当情况下,一个或多个计算机系统4400可以在不同时间或在不同位置处执行本文所描述或示出的一个或多个方法的一个或多个步骤。

在特定实施方式中,计算机系统4400包括处理器4402、存储器4404、储存器4406、输入/输出(I/O)接口4408、通信接口4410和总线4412。尽管本公开描述和示出以特定布置具有特定数量的特定部件的特定计算机系统,但本公开涉及以任何合适的布置具有任何合适数量的任何合适部件的任何合适的计算机系统。

在特定实施方式中,处理器4402包括用于执行指令的硬件,诸如构成计算机程序的指令。作为示例而非作为限制,为了执行指令,处理器4402可以从内部寄存器、内部缓存、存储器4404或储存器4406中检索(或获取)指令;解码并执行指令;以及随后将一个或多个结果写入内部寄存器、内部缓存、存储器4404或储存器4406。在特定实施方式中,处理器4402可以包括用于数据、指令或地址的一个或多个内部缓存。在适当情况下,本公开涉及包括任何合适数量的任何合适的内部缓存的处理器4402。作为示例而非作为限制,处理器4402可以包括一个或多个指令缓存、一个或多个数据缓存以及一个或多个转换后备缓冲器(TLB)。指令缓存中的指令可以是存储器4404或储存器4406中的指令的副本,以及指令缓存可以加速处理器4402对那些指令的检索。数据缓存中的数据可以是:存储器4404或储存器4406中的数据的副本,该数据用于在处理器4402处执行以进行工作;在处理器4402处执行先前指令的结果,该结果用于由在处理器4402处执行的后续指令访问或者用于写入存储器4404或储存器4406中;或者其它合适的数据。数据缓存可以加速处理器4402的读取或写入操作。TLB可以加速处理器4402的虚拟地址转换。在特定实施方式中,处理器4402可以包括用于数据、指令或地址的一个或多个内部寄存器。本公开涉及在适当情况下包括任何合适数量的任何合适的内部寄存器的处理器4402。在适当情况下,处理器4402可以包括一个或多个算术逻辑单元(ALU);可以是多内核处理器;或者可包括一个或多个处理器4402。尽管本公开描述和示出特定处理器,但本公开涉及任何合适的处理器。

在特定实施方式中,存储器4404包括用于存储用于处理器4402执行的指令或者用于处理器4402操作的数据的主存储器。作为示例而非作为限制,计算机系统4400可以将来自储存器4406或另一个源(例如,另一个计算机系统4400)的指令加载到存储器4404。处理器4402随后可以将来自存储器4404的指令加载到内部寄存器或内部缓存。为了执行指令,处理器4402可以从内部寄存器或内部缓存检索指令,并对它们进行解码。在指令执行期间或之后,处理器4402可以将一个或多个结果(其可以是中间结果或最终结果)写入内部寄存器或内部缓存。处理器4402随后可以将这些结果中的一个或多个写入存储器4404中。在特定实施方式中,处理器4402仅执行一个或多个内部寄存器或内部缓存中或存储器4404(与储存器4406或别处相对)中的指令,以及仅对一个或多个内部寄存器或内部缓存或存储器4404(与储存器4406或别处相对)中的数据进行操作。一个或多个存储器总线(可以各自包括地址总线和数据总线)可以将处理器4402联接到存储器4404。总线4412可以包括一个或多个存储器总线,如下所述。在特定实施方式中,一个或多个存储器管理单元(MMU)设置在处理器4402与存储器4404之间,以及促进对处理器4402所请求的存储器4404的访问。在特定实施方式中,存储器4404包括随机存取存储器(RAM)。在适当情况下,此RAM可以是易失性存储器,以及在适当情况下,此RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当情况下,此RAM可以是单端口RAM或多端口RAM。本公开涉及任何合适的RAM。在适当情况下,存储器4404可以包括一个或多个存储器4404。尽管本公开描述和示出特定的存储器,但本公开涉及任何合适的存储器。

在特定实施方式中,储存器4406包括用于数据或指令的大容量储存器。作为示例而非作为限制,储存器4406可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB))驱动器或者以上各项中的两个或更多个的组合。在适当情况下,储存器4406可以包括可移除或不可移除(或固定)的介质。在适当情况下,储存器4406可以在计算机系统4400的内部或外部。在特定实施方式中,储存器4406是非易失性固态存储器。在特定实施方式中,储存器4406包括只读存储器(ROM)。在适当情况下,此ROM可以是掩码编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电改写ROM(EAROM)或闪存,或者以上各项中的两个或更多个的组合。本公开涉及采取任何合适的物理形式的大容量储存器4406。在适当情况下,储存器4406可以包括促进处理器4402与储存器4406之间的通信的一个或多个存储控制单元。在适当情况下,储存器4406可以包括一个或多个储存器4406。尽管本公开描述和示出特定储存器,但本公开涉及任何合适的储存器。

在特定实施方式中,I/O接口4408包括提供用于计算机系统4400与一个或多个I/O装置之间的通信的一个或多个接口的硬件、软件或硬件与软件两者。在适当情况下,计算机系统4400可以包括这些I/O装置中的一个或多个。这些I/O装置中的一个或多个可以实现人与计算机系统4400之间的通信。作为示例而非作为限制,I/O装置可以包括键盘、小键盘、麦克风、显示器、鼠标、打印机、扫描仪、扬声器、静止摄像机、电子笔、输入板、触摸屏、轨迹球、视频摄像机、另一合适的I/O装置或者以上各项中的两个或更多个的组合。I/O装置可以包括一个或多个传感器。本公开涉及任何合适的I/O装置和用于该的I/O装置的任何合适的I/O接口4408。在适当情况下,I/O接口4408可以包括使得处理器4402能够驱动这些I/O装置中的一个或多个的一个或多个装置或软件驱动器。在适当情况下,I/O接口4408可以包括一个或多个I/O接口4408。尽管本公开描述和示出特定的I/O接口,但本公开涉及任何合适的I/O接口。

在特定实施方式中,通信接口4410包括提供用于计算机系统4400与一个或多个其它计算机系统4400或一个或多个网络之间的通信(例如,基于包的通信)的一个或多个接口的硬件、软件或硬件与软件两者。作为示例而非作为限制,通信接口4410可以包括用于与以太网或其它基于有线的网络或无线NIC(WNIC)进行通信的网络接口控制器(NIC)或网络适配器,或者用于与无线网络(诸如,WI-FI网络)通信的无线适配器。本公开涉及任何合适的网络和用于该网络的任何合适的通信接口4410。作为示例而非作为限制,计算机系统4400可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(WAN)、体域网(BAN)、或互联网的一个或多个部分、或者以上各项中的两个或更多个的组合进行通信。这些网络中的一个或多个的一个或多个部分可以是有线或无线的。作为示例,计算机系统4400可以与无线PAN(WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)、或其它合适的无线网络、或者以上各项中的两个或更多个的组合进行通信。在适当情况下,计算机系统4400可以包括用于这些网络中的任何网络的任何合适的通信接口4410。在适当情况下,通信接口4410可以包括一个或多个通信接口4410。尽管本公开描述和示出特定的通信接口,但本公开涉及任何合适的通信接口。

在特定实施方式中,总线4412包括将计算机系统4400的部件彼此联接的硬件、软件或硬件与软件两者。作为示例而非作为限制,总线4412可以包括加速图形端口(AGP)或其它图形总线、增强型工业标准架构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准架构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道架构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线、或另一合适总线、或者以上各项中的两个或更多个的组合。在适当情况下,总线4412可以包括一个或多个总线4412。尽管本公开描述和示出特定总线,但本公开涉及任何合适的总线或互连。

在本文,计算机可读非暂时性存储介质或媒介可以包括一个或多个基于半导体的集成电路(IC)或其它集成电路(IC)(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字卡或驱动器、任何其它合适的计算机可读非暂时性存储介质、或者以上各项中的两个或更多个的任何合适组合。在适当情况下,计算机可读非暂时性存储介质可以是易失性、非易失性或易失性与非易失性的组合。

在本文,除非另有明确说明或通过上下文另有说明,否则“或”是包括性的,而不是排他性的。因此,在本文,除非另有明确说明或上下文另有说明,否则“A或B”意指“A、B或两者”。此外,除非另有明确说明或上下文另有说明,否则“和”是共同和各自。因此,在本文,除非另有明确说明或上下文另有说明,否则“A和B”意指“A和B,共同地或各自地”。

本公开的范围包括本领域普通技术人员将理解的对本文中的示例性实施方式的所有改变、替换、变化、更改和修改。本公开的范围不限于本文描述或示出的示例性实施方式。此外,尽管本公开将本文的相应实施方式描述或示出为包括特定部件、元件、功能、操作或步骤,但是这些实施方式中的任何实施方式可以包括本文中任何地方所描述或示出的本领域普通技术人员将理解的任何部件、元件、功能、操作或步骤的任何组合或排列。此外,所附权利要求中对适配成、布置成、能够、配置成、使…能够、可操作成或可操作以执行特定功能的设备或系统或者设备或系统的部件的引用涵盖此设备、系统、部件,而与该设备、系统、部件或此特定功能是否被激活、开启或解锁无关,只要该设备、系统或部件如此适配、布置、能够、配置、使能、可操作或有效。

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