CN106605407A - 用于捕获、流传输和/或回放内容的方法和装置 - Google Patents
用于捕获、流传输和/或回放内容的方法和装置 Download PDFInfo
- Publication number
- CN106605407A CN106605407A CN201580047315.4A CN201580047315A CN106605407A CN 106605407 A CN106605407 A CN 106605407A CN 201580047315 A CN201580047315 A CN 201580047315A CN 106605407 A CN106605407 A CN 106605407A
- Authority
- CN
- China
- Prior art keywords
- camera
- image
- information
- content
- control information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/172—Processing image signals image signals comprising non-image signal components, e.g. headers or format information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/139—Format conversion, e.g. of frame-rate or size
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/189—Recording image signals; Reproducing recorded image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/398—Synchronisation thereof; Control thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/246—Calibration of cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Television Signal Processing For Recording (AREA)
- Image Processing (AREA)
- Information Transfer Between Computers (AREA)
- Processing Or Creating Images (AREA)
Abstract
描述了用于流传输或回放立体内容的方法和装置。相机相关的校正信息被传送到回放设备并在回放设备中应用,以补偿由各个相机的透镜引入的失真。通过在回放设备中执行透镜相关的失真补偿,边缘被保留,这些边缘在如果校正在编码之前被执行时会丢失。失真校正信息可以是UV图校正信息的形式。校正信息可以指示对UV图中的信息做出的改变,例如,在渲染时,以补偿特定于个体相机的失真。不同的校正信息集合可以被传送和用于提供使用相同UV图渲染的图像的不同立体相机对。传送的校正信息有时被称为校正网格,因为它被用来校正网格有关的信息。
Description
技术领域
本发明涉及用于捕获、流传输和/或内容(例如,可用来模拟3D环境的内容)的回放的方法和装置。
背景技术
旨在提供沉浸式体验的显示设备通常允许用户转动他的头并且体验所显示的场景中的对应变化。头戴式显示器有时支持360度观看,因为用户可以在佩戴头戴式显示器时转动,随着用户的头部位置改变,显示的场景改变。
利用此类设备,当向前看时,应当向用户呈现在相机位置的前面捕获的场景,当用户完全转身时,应当呈现在相机位置后面捕获的场景。虽然用户可以将他的头转到后面,但是在任何给定的时间,由于人在任何给定时间感知有限视野的能力的本质,用户的视野通常被限制到120度或更小。
为了支持360度的观看角度,360度的场景可以利用多个相机来捕获,其中图像被组合以生成将可用于观看的360度场景。
应当理解,360度视图包括比通常为正常电视和许多其它视频应用捕获、编码的简单前向视图多得多的图像数据,在正常电视和许多其它视频应用中,用户没有机会改变用来确定要在特定时间点显示的图像的观看角度。
给定与被流传输的内容相关联的传输约束,例如,网络数据约束,可能不可能向寻求接收内容并与其交互的所有消费者以全高清晰度视频流传输全360度视图。当内容是包括旨在对应于左眼和右眼视图的图像内容以允许3D观看效果的立体内容时,尤其是这种情况。
在立体相机台架的情况下,广角透镜,例如鱼眼相机透镜,可以用来捕获宽的观看区域。虽然一般的透镜几何形状可以是已知的,但是制造差异会导致具有不同光学特性的不同透镜。例如,在单批透镜中生产的两个鱼眼透镜可能具有不同的光学缺陷。在立体图像捕获的情况下,通常使用相机对的单独的相机来捕获单独的左眼视图和右眼视图。由于透镜在用来捕获左眼图像和右眼图像的每个相机上将不同,因此相机光学器件中的差异将导致场景区域的捕获图像中的差异超过从左眼图像和右眼图像之间的相机间距所预期的那些差异。如果在考虑到预期的透镜几何形状而不是单个透镜的实际几何形状的情况下处理图像,这样的差异会导致将在渲染时保留在图像中的、左眼图像和右眼图像中的失真。
在立体系统的情况下,左眼图像和右眼图像之间的差异通常由人类观察者在提供深度信息时进行解释。遗憾的是,由于相机透镜差异而导致的左眼图像和右眼图像之间的非预期差异,向用户提供了不正确的深度线索和/或导致其它图像失真。
鉴于以上讨论,应当理解,需要如下的方法和装置,其可以减少或最小化由可以在立体系统和/或其它类型的系统中使用的相机透镜引入到图像中的失真对图像质量的影响,例如,如可能由回放系统的用户感知到的。
发明内容
描述了用于减少和/或最小化由相机透镜引入的失真的影响的方法和装置。描述了流式装置。还描述了回放装置。该方法和装置特别适于在立体系统中使用,其中例如由于透镜制造缺陷或正常制造变化导致的失真会导致用于捕获场景区域的左眼和右眼视图的透镜之间的差异。
各种特征针对非常适于支持对应于360度观看区域的视频或其它内容的传送(例如,流传输)的方法和装置,但是这些技术非常适于在捕获不覆盖完全360度视图的区域的立体图像的系统中使用。本发明的方法和装置尤其非常好地适于立体和/或其它图像内容的流传输,其中数据传输约束会使得360度内容的传送难以以最大支持的质量水平传送,例如,使用最佳质量编码和最高支持的帧速率。但是,该方法不限于立体内容。
在各种实施例中,使用了具有鱼眼透镜的相机。鱼眼透镜是广角或超广角透镜,其产生强烈的视觉失真,旨在创建宽的全景或半球形图像。不幸的是,由于使用鱼眼透镜导致的失真由于透镜缺陷和/或透镜相对于相机中的传感器的位置之间的差异而可能在透镜之间和/或在相机之间不同。虽然鱼眼透镜非常适于捕获以后可以映射或投影到球体或其它3D模拟环境上的大图像区域,但是从相机之间引入的失真会使得难以可靠地使用由具有鱼眼透镜的相机捕获的图像或者使得难以在一起看由不同透镜捕获的图像。
在其中单独的左眼图像和右眼图像被捕获并且然后在回放期间被呈现以向观看者产生3D效果的立体图像的情况下,用于捕获左眼图像和右眼图像的相机之间的失真和差异如果不解决,那么会是有问题的和/或降低立体图像质量。
在各种实施例中,生成了相机失真信息,例如,作为校准过程的一部分。校准信息可以并且通常基于每个相机,其中相机包括鱼眼透镜。以这种方式,可以检测各个相机失真,无论它们是由相机透镜还是传感器到透镜的定位所引入的。基于校准信息生成有时被称为校正网格的一组校正信息,并且在一些实施例中该组校正信息被传送到回放设备。以这种方式,对相机失真的校正可以在回放设备中执行,而不是在图像的编码和/或传输之前进行。回放设备使用校正信息(例如,校正网格)来校正和/或补偿由单个相机引入的失真。通过允许编码和传输未校正图像,其中校正在回放设备中实现,就避免了如果捕获图像在传输之前被处理以试图消除或减少由用于捕获左眼图像和右眼图像的不同透镜和/或来自预期透镜几何形状的差异引入的失真,那么在图像编码期间可能发生的图像伪影的意外放大。
该组校正信息在每个相机的基础上被传送到回放设备,因为它是与透镜相关的。校正信息可以并且在一些实施例中确实采用用于修改有时被称为纹理图的UV图的一组信息的形式,该UV图可以用于对应于相同场景区域的左眼图像和右眼图像两者。UV映射是将有时被称为纹理或纹理图的图像投影到3D对象上的过程。在各种实施例中,由相机捕获的解码图像被用作用于环境的3D模型的对应部分的纹理图。字母“U”和“V”表示2D纹理的轴,因为“X”、“Y”和“Z”已经用于表示模型空间中的3D对象的轴。每个面被应用UV坐标,例如,在至少一些实施例中,UV图中的面与3D模型中的面具有一一对应关系。
因此,在一些实施例中,左眼图像的渲染涉及使用对应于左眼相机的网格校正信息,其考虑到由左眼相机引入的失真,用于左眼图像和右眼图像两者的UV图以及对应于被渲染的场景区域的环境的3D网格模块。3D网格模块和UV图对于左眼图像和右眼图像的渲染是公共的。校正信息是与透镜相关的,并且因此提供了分离的左眼和右眼校正信息。校正信息可以并且在一些实施例中确实包括指示考虑到由校正信息所对应的相机引入的失真,UV图中的节点的位置应该如何被改变的信息。在一些实施例中,校正信息包括识别公共UV图中的节点的信息以及指示为了将2维图像映射到3D模型上节点位置应该被移动多少的信息。因此,在一些实施例中,校正图指示公共UV图与考虑到各个透镜失真的期望的透镜相关的UV图之间的差异。在渲染左眼图像期间,回放设备考虑公共UV图和与左眼图像对应的校正信息(例如,校正网格)将接收到的左眼图像映射到3D模型。在渲染右眼图像期间,回放设备考虑公共UV图和与右眼图像对应的校正信息(例如,校正网格)将接收到的右眼图像映射到3D模型。
应当理解,渲染可以以各种方式将校正信息应用于UV图中的信息。虽然使用用于左眼图像和右眼图像的校正信息分别为左眼图像和右眼图像中的每一个生成修改的UV图,并且具有修改的UV图的公共UV图然后被用于渲染左眼图像和右眼图像,但是在其它实施例中,校正由渲染器按需执行。例如,在一些实施例中,当渲染器基于接收到的信息和环境的哪部分正在被渲染确定UV图的哪些节点与被执行的渲染相关以及哪些校正适用于公共UV图中的一个或多个节点时,修改信息在渲染过程期间被应用到那些节点。例如,当3D模型的片段正在被渲染时,与被渲染的片段对应的UV图中的节点可以基于接收到的校正信息被校正,并且然后该部分(例如,基于校正的UV节点信息识别的接收到的图像的片段)然后应用于被渲染的3D模型的片段。渲染器也可以使用各种其它方法来应用校正信息,其中在回放期间应用校正信息的特定方式不是关键的。
通过基于每个相机提供校正信息,例如,网格校正信息,每当提供内容的相机发生改变时,要应用的校正信息可以被改变,而无需UV图或3D模型的改变。因此,与相机相关的校正信息的通信可以与可对立体对的左眼图像和右眼图像两者的渲染公共的UV图和/或3D模型信息的通信解耦合。
在各种实施例中,校正信息以识别UV图中的各个节点的一组节点位置和对应于节点的偏移的形式传送。例如,UV图中的节点可以通过其(U,V)坐标来识别,其中为U和V坐标中的每一个指示的偏移指示UV图中的该节点应该在UV空间内移动多少。节点的U,V坐标识别要修改的UV图中的节点,并且同时识别3D图中的对应节点,因为,在各种实施例中,存在UV图中或用于3D模型中的节点的图中的节点的一对一映射。
当对应于不同图像的内容被组合作为将图像渲染到3D模型上的过程的一部分时,遮罩可以被使用,以控制哪些解码图像提供将被显示的内容。遮罩可以实现为控制解码图像部分对渲染图像的相对贡献的一组阿尔法混合系数。例如,由校正UV图确定以对应于3D模型的片段的片段将对所显示的片段贡献取决于混合系数的量。不同的内容流可以对应于模型的相同段,其中混合系数确定一个流的内容是否将被显示或者多个流的内容是否将被混合作为渲染过程的一部分。通过将与要被屏蔽的解码图像的一部分对应的阿尔法系数设置为零,它不会对作为渲染处理的一部分显示的图像有所贡献。在一些实施例中,当不同流的内容可以重叠时,使用了遮蔽来控制哪些内容流对3D环境的渲染部分有所贡献。因此,当预期提供对应于一个场景区域的内容的内容流包括与从不同内容流获得的图像被渲染的场景区域重叠的内容时,它们可以在渲染期间被遮蔽。
虽然可以使用遮蔽或阻挡,但是在一些实施例中,使用了沿着一个或多个边缘的混合,其中来自与不同方向重叠内容对应的相机的内容可以并且在一些实施例中确实被混合在一起。在这样的系统中,左眼图像内容沿着边缘与来自另一个流的左眼内容混合,而右眼图像内容沿着边缘与来自另一个流的右眼图像内容混合。因此,提供对应于相邻场景区域的图像内容的流可以沿着边缘混合在一起,而其它部分可以被遮蔽以避免混合。
3D环境网格模型和对应的一个或多个UV图可以并且有时确实在与相机网格校正信息不同的时间传送。响应于被用来提供对应于环境的一部分的内容的相机对的改变,例如,在回放设备将从新相机对被提供内容之前不久,相机网格校正信息可以被发送。可替代地,多个校正网格可以被传送并存储在回放设备中,其中识别哪个校正信息应该在特定时间被使用的信息被发信号通知给回放设备。以这种方式,每次在用来提供内容的相机对中存在改变时,不需要发送校正网格,其中简单地提供指示符并且指示符被回放设备使用,以确定哪组校正信息应该在给定时间被应用。
在其中3D模型包括大量节点的情况下,可能不需要对所有节点进行校正。在这种情况下,用于左眼图像和右眼图像中的每一个的这组网格校正信息可以包括识别UV图中的节点的子集的信息,并且为要对其执行校正的节点的子集提供节点位置校正信息。因此,网格校正信息可以包括用于比UV图中的全部节点集合和3D模型的对应部分更少的节点的条目。
3D模型表达3D空间中的环境。捕获的帧基于透镜几何形状而失真。校正网格信息被用来通过告诉渲染器考虑与没有考虑透镜对的各个透镜之间的差异的UV模型对应的UV图,如何将接收到的解码图像帧映射到3D模型的顶点上来校正每个相机角度的透镜失真。因此,校正信息的使用有助于将来自其中透镜失真将反映在捕获图像中的相机捕获域的图像更精确地转换到3D模型的图像中。
通过在回放设备中执行校正而不是处理图像以补偿发送侧上的透镜失真有助于防止捕获图像首先被失真成对应于3D模型的UV图将基于其并且然后被编码用于传输的2D等长矩形几何形状。在编码之前将捕获图像转换成2D等长矩形几何形状会在作为图像处理的一部分由回放设备接收之前,在边缘周围造成图像数据的丢失,尤其在其中有损图像编码在传输之前被执行的情况下。
在各种实施例中,假定3D环境是具有三角形网格的球体,三角形网格被用来表示其中捕获图像的一个或多个相机所位于的环境。虽然本发明在球形3D模型的上下文中解释,但是本发明不限于球形3D模型,并且可以用于其它形状的模型。
例如,在一些实施例中,3D环境被映射,并且3D环境信息被传送到回放设备并且用来修改用来在回放期间渲染图像的3D默认环境网格以考虑其中捕获原始图像的放映厅、体育场或其它环境的实际物理形状。3D环境图可以包括关于从相机台架的距离的信息,并且因此相机被用来将图像捕获到将捕获图像的环境的墙壁或其它周边表面。距离信息可以并且有时确实与在回放期间使用的网格的格点匹配,以模拟环境并且基于从中拍摄图像的实际环境来调整回放图像。
在各种实施例中,对应于将从其获得视频内容的环境的3D模型和/或3D维度信息被生成和/或访问。环境中的相机位置被记录。在环境中可以存在多个不同的相机位置。例如,不同的终端目标相机位置和一个或多个中场相机位置可以被支持并用来捕获实时相机馈送。
3D模块和/或其它3D信息存储在被用来将视频流传输到一个或多个用户的服务器或图像捕获设备中。
将3D模块提供给具有图像渲染和合成能力的用户回放设备,例如消费者驻地设备。消费者驻地设备生成环境的3D表示,其例如经由头戴式显示器显示给消费者驻地设备的用户。
在各种实施例中,小于完整360度的环境在任何给定的时间被流传输到个体消费者驻地设备。消费者驻地设备基于用户输入指示哪个相机馈送要被流传输。用户可以经由作为消费者驻地设备的一部分或附连到消费者驻地设备的输入设备来选择场地和/或相机位置。
在一些实施例中,180度视频流从负责流传输内容的服务器和/或摄像机以例如实况、实时或近实时流被发送到消费者回放设备。回放设备监视用户的头部位置并且因此预期回放设备的用户正在由回放设备生成的3D环境内观看的观看区域。当3D环境的一部分可用于被观看时,消费者驻地设备呈现视频,其中视频内容替换或被显示为将在没有视频内容的情况下被呈现的模拟3D环境的替代。当回放设备的用户转动他或她的头时,呈现给用户的环境的部分可以来自提供给(例如,流传输到)回放设备的视频内容,其中其它部分从3D模型和/或先前提供的在与视频内容不同时间捕获的图像内容合成地生成。
因此,回放设备可以显示例如经由流传输提供的视频,同时比赛、音乐会或其它事件仍在进行,对应于例如前180度相机视图,而3D环境的后和/或侧面部分或者完全合成地或者从在不同时间环境的侧面或后部区域的图像内容生成。
虽然用户可以通过向提供流传输内容的服务器发信号通知位置的变化来在相机位置之间进行选择,但是提供流传输内容的服务器可以提供对于为未被流传输的3D环境的部分生成合成环境有用的信息。
例如,在一些实施例中,多个后部和侧面视图在不同时间捕获,例如,在流传输一部分内容之前或者从更早的时间点开始。图像被缓冲在回放设备中。提供内容的服务器可以,并且在一些实施例中确实,向回放设备发信号通知一组非实时场景或图像中的哪一个要被用于未在视频流中提供的环境部分的合成。例如,音乐会参与者坐着的图像和音乐会参与者站在相机位置后面的另一个图像可以被提供并存储在回放设备中。服务器可以发信号通知在特定时间点应当使用哪组存储的图像数据。因此,当人群站立时,服务器可以发信号通知对应于人群站立的图像应当在图像合成期间用于背景180度视图,而当人群坐着时,服务器可以向消费者驻地设备指示其应当在合成3D相机环境的侧面或后部时使用对应于坐着的人群的图像或图像合成信息。
在至少一些实施例中,相机在3D环境中一个或多个位置中每一个位置的朝向在图像捕获期间被跟踪。环境中的标记和/或识别点可以被用来促进捕获图像(例如,实时图像)与要由消费者驻地设备模拟的先前建模和/或映射的3D环境的对准和/或其它映射。
合成的环境部分和真实(流传输的视频)的混合提供沉浸式视频体验。环境可以并且有时确实利用3d光度测量来测量或建模,以创建用来在视频不可用时(例如,当环境之前未被建模时)模拟环境的3D信息。
在真实世界空间中在确定位置处使用基准标记有助于视频与先前生成的3D模型的校准和对准。
每个相机的位置跟踪在视频被捕获时实现。相对于场所的相机位置信息,例如,以度为单位映射X、Y、Z和偏航(因此,我们知道每个相机指向的位置)。这允许容易地检测捕获图像对应于环境的什么部分并且,当连同捕获视频一起被传送到回放设备时,允许回放以在图像呈现期间自动地将我们的视频捕获与由回放设备生成的合成环境重叠,例如,向用户回放。流传输的内容可以被限制为小于360度视图,例如所捕获的在相机位置前面的区域的180度视图。当观看者四周观看时,当转向后方时他们将看到模拟的背景(不是黑色空白),并且当转向前方时他们将看到视频。
合成环境可以并且在一些实施例中确实是交互式的。在一些实施例中,多个实际的观看者(例如不同消费者驻地设备的用户)被包括在模拟环境中,使得用户可以在虚拟3D环境中和他/她的朋友一起观看比赛,并且看起来似乎用户实际上在体育场。
用户的图像可以,并且在一些实施例中确实,由包括在或附连到消费者驻地设备的相机捕获、提供给服务器并提供给其他用户(例如,组的成员),用于在生成模拟环境时使用。用户图像不必是实时图像,但可以是实时图像。
所述方法可以被用来实时地或近实时地编码和提供内容,但不限于这种实时应用。给定支持实时和近实时编码并流传输到多个用户的能力,本文描述的方法和装置非常适于流传输体育赛事、音乐会和/或其它场所的场景,其中个人喜欢观看事件并且不仅观察到舞台或场地,而且能够转动和欣赏环境的视图,例如体育场或人群。通过支持360度观看和3d,本发明的方法和装置非常适于与旨在向用户提供3d沉浸式体验的头戴式显示器一起使用,其中就像身处环境中并且用户的头部转向左、右或后方一样,具有转动和从不同观看角度观察场景的自由。
附图说明
图1示出了根据本发明一些实施例实现的示例性系统,该系统可以用来捕获、流传输内容、以及将内容连同合成环境输出给一个或多个用户。
图2A示出了示例性立体场景,例如,尚未被分割的完整360度立体场景。
图2B示出了根据一个示例性实施例的已被分割成3个示例性场景的示例性立体场景。
图2C示出了根据一个示例性实施例的已被分割成4个场景的示例性立体场景。
图3示出了根据一个示例性实施例的、编码示例性360度立体场景的示例性过程。
图4示出了显示输入图像部分如何利用各种编码器来编码以生成相同输入图像部分的不同编码版本的例子。
图5示出了已被分割成3个部分的输入立体场景的存储编码部分。
图6是示出根据利用图1的系统实现的示例性实施例的流传输内容的示例性方法的步骤的流程图。
图7示出了根据本发明特征的、包括可用来编码和流传输内容的编码能力的示例性内容交付系统。
图8示出了可用来接收、解码和显示由图7的系统流传输的内容的示例性内容回放设备。
图9以流程图的形式示出了根据可以由图1所示的系统实现的一个示例性实施例实现的、相机校准、图像编码和内容流传输方法的第一部分。
图10示出了可以由图9的流程图调用的相机校准子例程。
图11示出了可以由图9所示的流程图调用的图像捕获和内容流传输子例程。
图12示出了根据一个示例性实施例的操作可以在图1的系统中使用的回放设备或系统的方法。
图13示出了包括用于捕获对应于360度视野的不同120度扇区的左眼图像和右眼图像的多个相机对以及朝向天空以捕获天空视图的一个或多个相机的相机台架。
图14示出了对应于不同相机视图的5个不同环境网格图可以如何被组合以创建捕获图像可以作为回放操作的一部分被投影到其上的完整球形视图/环境。
图15示出了图15所示的5个网格的完整组件,以创建球形模拟环境。
图16示出了由具有鱼眼透镜的左眼和右眼相机捕获的、对应于图13所示的相机台架的扇区的左眼视图图像和右视视图图像。
图17示出了图16的左眼视图图像和右眼视图图像如何可以在编码和传输到一个或多个回放设备之前进行裁剪。
图18示出了可以为个体相机生成并且被发送到回放设备的示例性校正网格,其在发送到回放设备的捕获图像被进一步处理以便映射和显示在3D模拟网格环境的一部分上以呈现给用户之前,在校正该图像中的失真时使用。
图19示出了将校正网格应用于由该校正网格对应的相机捕获的图像,例如,对应于相机台架的扇区的左和右相机对中的一个相机的图像。
图20示出了在由各个对应校正图进行校正之后,对应于图13所示的相机台架的扇区的左和右眼图像对。
图21示出了对应于相机台架的一个扇区的环境网格模型,其中图20所示的图像之一被应用(例如,投影)到该环境网格上。
图22示出了由对应于每个扇区的相机以及相机台架的天空和地面相机捕获的图像的应用,以便以球形的形式模拟完整3D环境。
图23A是示出根据示例性实施例的提供图像内容的示例性方法的步骤的流程图的第一部分。
图23B是示出根据示例性实施例的提供图像内容的示例性方法的步骤的流程图的第二部分。
图23包括图23A和23B的组合,其示出了根据示例性实施例的提供图像内容的方法的流程图。
图24A是示出根据示例性实施例的示例性内容回放方法的步骤的流程图的第一部分。
图24B是示出根据示例性实施例的示例性内容回放方法的步骤的流程图的第二部分。
图24包括图24A和24B的组合,其示出了根据示例性实施例的提供图像内容的内容回放方法的流程图。
图25是示出在一些实施例中可以实现为示例性内容回放方法的一部分的图像渲染子例程的步骤的流程图。
具体实施方式
图1示出了根据本发明一些实施例实现的示例性系统100。系统900支持向位于消费者驻地处的一个或多个消费者设备(例如回放设备/内容播放器)进行内容交付,例如成像内容交付。系统900包括示例性图像捕获设备102、内容交付系统104、通信网络105和多个消费者驻地106...110。图像捕获设备102支持立体图像的捕获。图像捕获设备102根据本发明的特征捕获并处理成像内容。通信网络105可以是例如混合光纤同轴(HFC)网络、卫星网络和/或互联网。
内容交付系统104包括图像处理、校准和编码装置112以及内容交付设备,例如,流传输服务器114。图像处理、校准和编码装置112负责执行各种功能,包括基于在相机校准过程期间捕获的一个或多个目标图像和/或网格图案的相机校准、生成可以由回放设备使用以补偿由校准相机引入的失真的失真校正或补偿网格、捕获图像的处理(例如,裁剪和编码)、以及向内容交付设备114提供可以提供给回放设备并且在渲染/图像回放过程中使用的校准和/或环境信息。内容交付设备114可以被实现为服务器,如下面将讨论的,交付设备响应于对具有图像校准信息、可选环境信息以及由可以在模拟3D环境中使用的、由相机台架102捕获的一个或多个图像的内容的请求。图像和/或内容的流传输可以并且有时确实根据反馈信息的变化而变化,反馈信息诸如观看者头部位置和/或用户选择的对应于将是图像来源的相机台架102的事件处的位置。例如,用户可以在来自位于中心线的相机台架到位于场地目标的相机台架的图像之间选择或切换,其中模拟的3D环境和流传输图像被改变为与用户选择的相机台架对应的那些。因此,应当理解,虽然图1中示出了单个相机台架102,但是多个相机台架可以存在于系统中并且位于体育或其它事件处的不同物理位置处,其中用户能够在不同位置之间切换,并且用户的选择从回放设备122被传送到内容服务器114。虽然在图像处理和内容交付系统114中示出了单独的设备112、114,但是应当理解,系统可以被实现为单个设备,包括用于执行各种功能或具有由不同软件或硬件模块控制但在单个处理器中或上实现的不同功能的单独的硬件。
编码装置112可以并且在一些实施例中确实包括一个或多个编码器,用于根据本发明编码图像数据。编码器可以被并行使用,以编码场景的不同部分和/或编码场景的给定部分,以生成具有不同数据速率的编码版本。并行使用多个编码器在要支持实时或近实时流传输时会是尤其有用的。
内容流传输设备114被配置为流传输(例如,发送)编码内容,以便例如经通信网络105向一个或多个消费者设备交付编码图像内容。经由网络105,内容交付系统104可以发送和/或与位于消费者驻地106、110处的设备交换信息,如该图中由穿过通信网络105的链路120所表示的。
虽然编码装置112和内容交付服务器在图1的例子中被示为单独的物理设备,但是在一些实施例中,它们被实现为编码和流传输内容的单个设备。编码过程可以是3d(例如,立体)图像编码过程,其中对应于场景部分的左眼和右眼视图的信息被编码并且包括在编码图像数据中,使得可以支持3D图像观看。所使用的特定编码方法对于本申请不是关键的,并且广泛的编码器可以用作或用来实现编码装置112。
每个消费者驻地106、110可以包括多个设备/播放器,例如解码和回放/显示由内容流传输设备114流传输的成像内容的解码装置。消费者驻地1 106包括耦合到显示设备124的解码装置/回放设备122,而消费者驻地N 110包括耦合到显示设备128的解码装置/回放设备126。在一些实施例中,显示设备124、128是头戴式立体显示设备。
在各种实施例中,解码装置122、126在对应的显示设备124、128上呈现成像内容。解码装置/播放器122、126可以是能够解码从内容交付系统104接收到的成像内容、利用解码内容生成成像内容并且在显示设备124、128上渲染成像内容(例如,3D图像内容)的设备。解码装置/回放设备122、126中的任何一个可以用作图8中所示的解码装置/回放设备800。诸如图8中所示的系统/回放设备可以用作解码装置/回放设备122、126当中的任何一个。
图2A示出了示例性立体场景200,例如,尚未被分割的完整360度立体场景。立体场景可以是并且通常确实是组合从常常安装在单个视频捕获平台或相机底座上的多个相机(例如,摄像机)捕获的图像数据的结果。
图2B示出了示例性立体场景200的分割版本250,其中场景已根据一个示例性实施例被分割成3(N=3)个示例性部分,例如前方180度部分、左后90度部分和右后90度部分。
图2C示出了示例性立体场景200的另一个分割版本280,其已经根据一个示例性实施例被分割成4(N=4)个部分。
虽然图2B和2C示出了两个示例性分区,但是应当理解,其它分区是可能的。例如,场景200可以被分割成十二(n=12)个30度部分。在一个这样的实施例中,不是单独地编码每个分区,而是多个分区被分组在一起并且作为组被编码。分区的不同组可以被编码并流传输到用户,其中每个组的大小就场景的总度数而言是相同的,但是对应于可以取决于用户的头部位置(例如,如以0至360度的刻度进行测量的观看角度)被流传输的图像的不同部分。
图3示出了根据一个示例性实施例的、编码示例性360度立体场景的示例性过程。图3所示的方法300的输入包括由例如被布置成捕获场景的360度视图的多个相机捕获的360度立体图像数据。立体图像数据(例如,立体视频)可以是以各种已知格式中的任何一种,并且在大多数实施例中,包括用来允许3D体验的左眼和右眼图像数据。虽然该方法尤其适于立体视频,但是本文描述的技术和方法也可以应用于例如360度或小场景区域的2D图像。
在步骤304中,场景数据302被分割成对应于不同场景区域的数据,例如对应于不同观看方向的N个场景区域。例如,在诸如图2B所示的一个实施例中,360度场景区域被分割成三个分区:对应于90度部分的左后部分、前180度部分和右后90度部分。不同的部分可能已由不同的相机捕获,但这不是必需的,并且事实上,360度场景可以在被划分成如图2B和2C所示的N个场景区域之前由从多个相机捕获的数据构建。
在步骤306中,对应于不同场景部分的数据根据本发明进行编码。在一些实施例中,每个场景部分由多个编码器独立编码,以支持用于每个部分的多个可能的位速率流。在步骤308中,编码的场景部分被存储在例如内容交付104中,用于流传输到消费者回放设备。
图4是示出显示输入图像部分(例如,场景的180度前部)如何利用各种编码器来编码以生成相同输入图像部分的不同编码版本的例子的图400。
如图400所示,输入场景部分402(例如,场景的180度前部)被提供给多个编码器进行编码。在该例子中,存在K个不同的编码器,这些编码器利用不同分辨率并利用不同的编码技术编码输入数据,以生成编码数据来支持图像内容的不同数据速率流。这K个编码器包括高清晰度(HD)编码器1 404、标准清晰度(SD)编码器2 406、降低帧速率SD编码器3408...,以及高压缩降低帧速率SD编码器K 410。
HD编码器1 404被配置为执行全高清晰度(HD)编码,以产生高位速率HD编码图像412。SD编码器2 406被配置为执行低分辨率标准清晰度编码,以产生输入图像的SD编码版本2 414。降低帧速率SD编码器3 408被配置为执行降低帧速率低分辨率SD编码,以产生输入图像的降低速率SD编码版本3 416。降低帧速率可以是例如由SD编码器2 406用于编码的帧速率的一半。高压缩降低帧速率SD编码器K 410被配置为执行具有高压缩的降低帧速率低分辨率SD编码,以产生输入图像的高压缩降低速率SD编码版本K 420。
因此,应当理解,空间和/或时间分辨率的控制可以用来产生不同数据速率的数据流,并且诸如数据压缩水平之类的其它编码器设置的控制也可以被单独地使用或除了空间和/或时间分辨率的控制以外被使用,以产生对应于具有一个或多个期望数据速率的场景部分的数据流。
图5示出了已被分割成3个示例性部分的输入立体场景的存储编码部分500。存储编码部分可以存储在内容交付系统104中,例如作为在存储器中的数据/信息。立体场景的存储编码部分500包括3个不同的编码部分集合,其中每个部分对应于不同的场景区域并且每个集合包括对应场景部分的多个不同编码版本。每个编码版本是编码视频数据的版本并且因此表示已被编码的多个帧。应当理解,作为视频的每个编码版本510、512、516对应于多个时间段,并且当流传输时,对应于正被回放的时间段的部分(例如,帧)将用于传输目的。
如上面关于图4所示出和讨论的,每个场景部分(例如,前、后场景部分)可以利用多个不同编码器进行编码,以产生相同场景部分的K个不同版本。对应于给定输入场景的每个编码器的输出作为集合被分组在一起并存储。编码场景部分502的第一集合对应于前180度场景部分,并且包括前180度场景的编码版本1 510、编码版本2512,...,以及编码版本K516。编码场景部分504的第二集合对应于场景部分2,例如90度左后场景部分,并且包括90度左后场景部分的编码版本1 520、编码版本2 522,...,以及90度左后场景部分的编码版本K 526。类似地,编码场景部分506的第三集合对应于场景部分3,例如90度右后场景部分,并且包括90度右后场景部分的编码版本1 530、编码版本2 332,...,以及90度右后场景部分的编码版本K 536。
360度场景的各种不同存储编码部分可以用来生成用于发送到消费者回放设备的各种不同位速率流。
图6是示出根据示例性实施例的提供图像内容的示例性方法的步骤的流程图600。在一些实施例中,流程图600的方法是利用图1所示的捕获系统实现的。
该方法在步骤602中开始,例如,其中交付系统被通电并初始化。该方法从开始步骤602进行到步骤604。在步骤604中,内容交付系统104(例如,系统104内的服务器114)接收对内容的请求,例如对先前编码节目的请求,或者在一些情况下,例如,当事件仍在进行时,对被实时或近实时地编码和流传输的实况事件的请求。
响应于该请求,在步骤604中,服务器114确定可用于交付的数据速率。数据速率可以从包括在指示支持的数据速率的请求中的信息和/或从诸如指示可用于将内容交付到请求设备的最大带宽的网络信息之类的其它信息来确定。应当理解,可用的数据速率可以取决于网络负载而变化并且可以在内容被流传输的时间段期间改变。改变可以由用户设备报告或者从消息或信号中检测到,其中消息或信号指示分组被丢弃或延迟超过指示网络难以支持正在使用的数据速率的期望时间量并且当前可用数据速率低于被确定为可用的原始数据速率。
操作从步骤608进行到步骤608,其中对内容的请求来自于其的用户设备的当前头部位置被初始化,例如,在请求时的当前头部位置将是0度位置。在一些实施例中,0度或前视图位置可由用户利用回放设备发信号通知要进行重新初始化来重新初始化。随着时间的推移,用户的头部位置和/或用户头部位置(例如,相对于原始头部位置)的变化被报告给内容交付系统104,并且如下面将讨论的,更新的位置被使用,以做出内容交付决定。
操作从步骤608进行到步骤610,其中对应于请求内容的360度场景的部分被发送,以初始化回放设备。在至少一些实施例中,初始化涉及发送场景数据的完整360度集合,例如,在360度场景被划分为N个部分时的N个部分。
作为在步骤610中初始化的结果,回放设备将具有对应于360度可能观看区域的每个不同部分的场景数据。因而,如果回放设备的用户突然转向后方,那么,即使不是与用户在转动其头部之前正在观看的部分一样最新,也至少有一些数据将可用于向用户显示。
操作从步骤610进行到步骤612和步骤622。步骤622对应于全局场景更新路径,它用来确保回放设备每个全局更新周期至少一次接收整个360度场景的更新版本。在步骤610中已经被初始化之后,全局更新过程在等待步骤622中被延迟预定的时间段。然后在步骤624中,执行360度场景更新。虚线箭头613表示在对应于步骤622的辅助时段期间关于哪些场景部分被传送到回放设备的信息的传送。在步骤624中,整个360度场景可以被发送。但是,在一些实施例中,不是所有部分都在步骤624中被发送。在一些实施例中,在等待时段622期间被更新的场景的部分从在步骤624中执行的更新中被省略,因为它们已经在基于用户的头部位置发送场景的至少一些部分的正常流传输过程期间被刷新了。
操作从步骤624前进回等待步骤622,其中在下一全局更新之前执行等待。应当理解,通过调整在步骤622中使用的等待时段,可以支持不同的全局刷新速率。在一些实施例中,内容服务器基于被提供的场景内容的类型来选择等待时段以及因此全局参考时段。在其中主要动作在面向前方区域中并且刷新的原因之一是户外照明条件的可能变化的体育事件的情况下,等待时段可以相对长,例如大约一分钟或几分钟。在其中人群中的动作和活动可能随着不同歌曲被演奏而频繁改变的摇滚音乐会的情况下,全局刷新率可以并且有时确实高于体育赛事,因为用户可能想转身并看到人群反应以及除了在前台观看区域正在发生的之外还想获得在人群中发生了什么的感觉。
在一些实施例中,全局参考时段作为正被流传输的呈现部分的函数而改变。例如,在体育事件的比赛部分期间,全局刷新速率可以相对低,但是在其中处于事件或经由回放设备观看事件的人更可能从向前主区域转动他或她的头部的触地得分时刻后期间或者在超时或中场休息期间,全局参考速率可以,并且在一些实施例中确实,通过减少在步骤622中使用的等待(例如,刷新时段控制)而增加。
虽然已经参考步骤622和624描述了全局刷新过程,但是描述了场景的部分的正常提供。如应当理解的,场景或场景部分的正常刷新将在数据速率允许的情况下以被支持的视频帧速率对至少一个部分发生。因此,关于至少一个帧部分(例如,他/她的头部被指示为面向的部分),假设可用的数据速率是足够的,那么其将以全视频流传输帧速率提供。
在步骤612中,基于用户的所指示的头部位置(例如,观看角度)来选择要提供的场景部分。所选择的部分被例如周期性地发送(例如,流传输)到回放设备。在一些实施例中,对应于这些部分的数据被流传输的速率取决于视频帧速率。例如,至少一个所选择的部分将以所支持的全帧速率被流传输。虽然在步骤612中选择了至少一个场景部分,但是通常选择多个场景部分,例如,用户正面向的场景部分以及下一个最近的场景部分。如果可用数据速率足以支持多个帧部分的传送,那么也可以选择和提供附加的场景部分。
在步骤612中选择要流传输的场景部分之后,操作进行到步骤614,其中例如基于可用数据速率和用户的观看位置来选择被选择的流部分的编码版本。例如,如由当前报告的头部部分所指示的用户面向的场景部分的全速率高分辨率版本可以并且通常确实将被流传输。在当前头部位置左边和/或右边的一个或多个场景部分可以被选择以较低分辨率、较低时间速率或者利用减少发送当前不被观看的场景区域所需的带宽量的另一种编码方法被流传输。相邻场景部分的编码版本的选择将取决于在当前被观看的场景部分的高质量版本被发送之后剩余的带宽量。虽然当前不被观看的场景部分可以作为较低分辨率编码版本或作为在帧之间具有较大时间距离的编码版本发送,但是如果有足够的带宽可用,则可以周期性或频繁地发送全分辨率高质量版本。
在步骤616中,所选择的场景部分的所选编码版本被发送到请求内容的回放设备。因此,在步骤616中,对应于一个或多个部分的编码内容(例如,对应于多个连续帧的立体视频内容)被流传输到回放设备。
操作从步骤616进行到步骤618,其中接收指示用户的当前头部位置的信息。这种信息可以周期性地和/或响应于检测到头部位置的变化而从回放设备发送。除了头部位置的变化之外,可用数据速率的变化也会影响什么内容被流传输。操作从步骤618进行到步骤620,其中确定可用于向回放设备进行内容交付的当前数据速率。因此,内容交付系统可以检测可用于支持到请求设备的流传输的带宽量的变化。
操作从步骤620进行到步骤612,其中流传输继续,直到内容被完全交付,例如节目或事件结束、或者直到从请求内容的回放设备接收到指示会话要被终止的信号、或者未能从回放设备接收到预期信号,诸如检测到指示回放设备不再与内容服务器114通信的头部位置更新。
根据以上述方式交付的场景数据,回放设备将具有可用于在用户快速转动他或她的头部的情况下显示的对应于每个场景部分的至少一些数据。应当理解,用户很少在非常短的时间段内完全地转过头,因为对于许多人来说这是不舒服的观看位置变化。因而,虽然完整360度场景可能不总是被发送,但是在任何给定时间最有可能被观看的(一个或多个)场景部分的高质量版本可以被流传输并使得对用户可用。
内容交付系统104可以支持大量的并发用户,因为编码过程允许场景的N个部分以不同方式被发送到不同的用户并处理,而不必为每个单独的用户单独地编码内容。因此,虽然多个并行编码器可以用来支持实时编码,以允许体育或其它事件的实时或近实时流传输,但是所使用的编码器的数量往往远小于内容被流传输到的回放设备的数量。
虽然内容的部分被描述为对应于360度视图的部分,但是应当理解,场景可以,并且在一些实施例中确实,表示也具有垂直维度的空间的平坦版本。回放设备能够利用3d环境(例如,空间)的模型映射场景部分,并且调整垂直观看位置。因此,本申请中所讨论的360度是指相对于水平线的头部位置,就好像用户在保持他的目光水平的同时向左或向右改变其观看角度。
图7示出了根据本发明特征的、具有可以用来编码和流传输内容的编码能力的示例性内容交付系统700。
该系统可以用来执行根据本发明的特征的编码、存储,以及传输和/或内容输出。在一些实施例中,系统700或其中的元件执行对应于图6和图23所示的过程的操作。内容交付系统700可以用作图1的系统104。虽然图7所示的系统被用于内容的编码、处理和流传输,但是应当理解,系统700还可以包括解码和例如向操作者显示经处理和/或编码图像数据的能力。
系统700包括显示器702、输入设备704、输入/输出(I/O)接口706、处理器708、网络接口710和存储器712。系统700的各种部件经由总线709耦合在一起,总线709允许数据在系统700的部件之间传送。
存储器712包括各种模块,例如例程,当其被处理器708执行时,控制系统700以实现根据本发明的分区、编码、存储、以及流传输/传输和/或输出操作。
存储器712包括各种模块,例如例程,当其被处理器707执行时,控制计算机系统700以实现根据本发明的沉浸式立体视频采集、编码、存储和传输和/或输出方法。存储器712包括控制例程714、分割模块706、(一个或多个)编码器718、检测模块719、流传输控制器720、接收到的输入图像732(例如,场景的360度立体视频)、编码的场景部分734、定时信息736、环境网格模型738、(一个或多个)UV图740、以及包括第一校正网格信息742、第二校正网格信息744、第三校正网格信息746、第四校正网格信息748、第五校正网格信息750和第六校正网格信息752的多个校正网格信息集合。在一些实施例中,这些模块被实现为软件模块。在其它实施例中,这些模块在硬件中实现为例如单独的电路,其中每个模块被实现为用于执行模块对应的功能的电路。在还有的其它实施例中,这些模块利用软件和硬件的组合来实现。
控制例程714包括设备控制例程和通信例程,以控制系统700的操作。分割模块716被配置为根据本发明的特征将接收到的场景的立体360度版本分割成N个场景部分。
(一个或多个)编码器718可以,并且在一些实施例中确实,包括被配置为根据本发明的特征编码接收到的图像内容(例如,场景和/或一个或多个场景部分的360度版本)的多个编码器。在一些实施例中,(一个或多个)编码器包括多个编码器,其中每个编码器被配置为编码立体场景和/或分割的场景部分,以支持给定的位速率流。因此,在一些实施例中,每个场景部分可以利用多个编码器来编码,以支持用于每个场景的多个不同位速率流。(一个或多个)编码器718的输出是存储在存储器中用于流传输到消费者设备(例如,回放设备)的编码场景部分734。编码内容可以经由网络接口710被流传输到一个或多个不同的设备。
检测模块719被配置为检测从流传输来自当前相机对(例如,第一立体相机对)的内容到流传输来自另一个相机对(例如,第二或第三立体相机对)的内容的网络控制的切换。即,检测模块719检测系统700是否已从流传输使用由给定立体相机对(例如,第一立体相机对)捕获的图像生成的内容流切换到流传输使用由另一个相机对捕获的图像生成的内容流。在一些实施例中,检测模块还被配置为检测用户控制的、从接收包括来自第一立体相机对的内容的第一内容流到接收包括来自第二立体相机对的内容的第二内容流的改变,例如,检测来自用户回放设备的、指示回放设备被附连到与其先前附连的不同的内容流的信号。流传输控制器720被配置为控制编码内容的流传输,以便例如经通信网络105将编码图像内容交付给一个或多个消费者设备。在各种实施例中,流程图600和/或流程图2300的各个步骤由流传输控制器720的元件来实现。
流传输控制器720包括请求处理模块722、数据速率确定模块724、当前头部位置确定模块726、选择模块728和流传输控制模块730。请求处理模块722被配置为处理从消费者回放设备接收到的对成像内容的请求。在各种实施例中,对内容的请求是经由网络接口710中的接收器接收的。在一些实施例中,对内容的请求包括指示请求回放设备的身份的信息。在一些实施例中,对内容的请求可以包括由消费者回放设备支持的数据速率、用户的当前头部位置,例如头戴式显示器的位置。请求处理模块722处理接收到的请求并将检索到的信息提供给流传输控制器720的其它元件,以采取进一步的动作。虽然对内容的请求可以包括数据速率信息和当前头部位置信息,但是在各种实施例中,由回放设备支持的数据速率可以从系统700和回放设备之间的网络测试和其它网络信息交换来确定。
数据速率确定模块724被配置为确定可以用来将成像内容流传输到消费者设备的可用数据速率,例如,由于支持多个编码场景部分,因此内容交付系统700可以支持以多个数据速率向消费者设备流传输内容。数据速率确定模块724还被配置为确定由从系统700请求内容的回放设备支持的数据速率。在一些实施例中,数据速率确定模块724被配置为基于网络测量确定用于图像内容交付的可用数据速率。
当前头部位置确定模块726被配置为根据从回放设备接收到的信息确定用户的当前观看角度和/或当前头部位置,例如头戴式显示器的位置。在一些实施例中,回放设备周期性地向系统700发送当前头部位置信息,其中当前头部位置确定模块726接收并处理该信息,以确定当前观看角度和/或当前头部位置。
选择模块728被配置为基于用户的当前观看角度/头部位置信息来确定360度场景的哪些部分要流传输到回放设备。选择模块728还被配置为基于可用的数据速率选择所确定的场景部分的编码版本,以支持内容的流传输。
流传输控制模块730被配置为根据本发明的特征以各种支持的数据速率控制图像内容(例如,360度立体场景的多个部分)的流传输。在一些实施例中,流传输控制模块730被配置为控制360度立体场景的N个部分到请求内容的回放设备的流传输,以初始化回放设备中的场景存储器。在各种实施例中,流传输控制模块730被配置为例如以确定的速率周期性地发送所确定的场景部分的所选编码版本。在一些实施例中,流传输控制模块730还被配置为根据时间间隔(例如,每分钟一次)向回放设备发送360度场景更新。在一些实施例中,发送360度场景更新包括发送完整360度立体场景的N个场景部分或N-X个场景部分,其中N是完整360度立体场景被分割成的部分的总数并且X表示最近被发送到回放设备的所选择的场景部分。在一些实施例中,流传输控制模块730在最初发送N个场景部分之后等待预定时间,以便在发送360度场景更新之前初始化。在一些实施例中,控制360度场景更新的发送的定时信息被包括在定时信息736中。在一些实施例中,流传输控制模块730还被配置为识别在刷新间隔期间尚未被发送到回放设备的场景部分;以及发送在刷新间隔期间未被发送到回放设备的识别出的场景部分的更新版本。
在各种实施例中,流传输控制模块730被配置为周期性地向回放设备传送至少足够数量的N个部分,以允许回放设备在每个刷新周期期间至少一次完全刷新所述场景的360度版本。
在一些实施例中,流传输控制器720被配置为控制系统700例如经由网络接口710中的发送器发送包括从由一个或多个相机(例如,诸如图13所示的立体相机对的相机)捕获的图像内容生成的编码图像的立体内容流(例如,编码内容流734)。在一些实施例中,流传输控制器720被配置为控制系统700向一个或多个回放设备发送要在渲染图像内容时使用的环境网格模型738。在一些实施例中,流传输控制器720还被配置为向回放设备发送要用于作为图像渲染操作的一部分将由第一立体相机对捕获的图像的部分映射到环境网格模型的一部分的第一UV图。
在各种实施例中,流传输控制器720还被配置为向回放设备提供(例如,经由网络接口710中的发送器发送)校正网格信息的一个或多个集合,例如,第一、第二、第三、第四、第五、第六校正网格信息。在一些实施例中,第一校正网格信息用于在渲染由第一立体相机对的第一相机捕获的图像内容时使用、第二校正网格信息用于在渲染由第一立体相机对的第二相机捕获的图像内容时使用、第三校正网格信息用于在渲染由第二立体相机对的第一相机捕获的图像内容时使用、第四校正网格信息用于在渲染由第二立体相机对的第二相机捕获的图像内容时使用、第五校正网格信息用于在渲染由第三立体相机对的第一相机捕获的图像内容时使用、第六校正网格信息用于在渲染由第三立体相机对的第二相机捕获的图像内容时使用。在一些实施例中,流传输控制器720还被配置为向回放设备指示(例如,通过发送控制信号)当由第二立体相机对捕获的内容被流传输到回放设备而不是来自第一立体相机对的内容时应当使用第三和第四校正网格信息。在一些实施例中,流传输控制器720还被配置为响应于检测模块719检测到i)从流传输来自所述第一立体相机对的内容到流传输来自所述第二立体相机对的内容的网络控制的切换,或ii)从接收包括来自所述第一立体相机对的内容的第一内容流到接收包括来自所述第二立体相机对的编码内容的第二内容流的用户控制的改变,向回放设备指示第三和第四校正网格信息应当被使用。
存储器712还包括环境网格模型738、(一个或多个)UV图740和包括第一校正网格信息742、第二校正网格信息744、第三校正网格信息746、第四校正网格信息748、第五校正网格信息750和第六校正网格信息752的校正网格信息集合。系统将环境网格模型738提供给一个或多个回放设备,用于在渲染图像内容时使用。(一个或多个)UV图740包括至少第一UV图,用于作为图像渲染操作的一部分将由第一立体相机对捕获的图像的部分映射到环境网格模型738的一部分。第一校正网格信息742包括基于对第一立体相机对的所述第一相机的第一透镜的一个或多个光学特性的测量生成的信息,并且第二校正网格包括基于对第一立体相机对的所述第二相机的第二透镜的一个或多个光学特性的测量生成的信息。在一些实施例中,第一和第二立体相机对对应于向前观看方向,但是在正在捕获内容以用于流传输的区域或事件位置处的不同位置。
在一些实施例中,处理器708被配置为执行与流程图600和/或2300中讨论的步骤对应的各种功能。在一些实施例中,处理器使用存储在存储器中的例程和信息来执行各种功能并且控制系统700以根据本发明的方法操作。在一个实施例中,处理器708被配置为控制系统以向回放设备提供第一校正网格信息和第二校正网格信息,第一校正网格信息用于在渲染由第一相机捕获的图像内容时使用,第二校正网格信息用于在渲染由第二相机捕获的图像内容时使用。在一些实施例中,第一立体相机对对应于第一方向,并且处理器还被配置为控制系统700以发送包括从由第一和第二相机捕获的图像内容生成的编码图像的立体内容流。在一些实施例中,处理器708还被配置为向回放设备发送要在渲染图像内容时使用的环境网格模型。在一些实施例中,处理器708还被配置为向回放设备发送第一UV图,用于作为图像渲染操作的一部分将由第一立体相机对捕获的图像的部分映射到环境网格模型的一部分。在一些实施例中,处理器708还被配置为控制系统700以向回放设备提供第三校正网格信息和第四校正网格信息,第三校正网格信息用于在渲染由第二立体相机对的第一相机捕获的图像内容时使用,第四校正网格信息用于在渲染由第二立体相机对的第二相机捕获的图像内容时使用。在一些实施例中,处理器708还被配置为控制系统700以向回放设备指示(例如,经由网络接口710发送)当由第二相机对捕获的内容被流传输到回放设备而不是来自第一相机对的内容时应当使用第三和第四校正网格信息。在一些实施例中,处理器708还被配置为控制系统700,以响应于系统检测到i)从流传输来自第一立体相机对的内容到流传输来自第二立体对的内容的网络控制的切换,或ii)从接收包括来自第一立体相机对的内容的第一内容流到接收包括来自第二立体相机对的编码内容的第二内容流的用户控制的改变,向回放设备指示应当使用第三和第四校正网格信息。在一些实施例中,处理器708还被配置为控制系统700,以向回放设备提供第五和第六校正网格信息,第五校正网格信息用于在渲染由第三立体相机对的第一相机捕获的图像内容时使用,第六校正网格信息用于在渲染由第三立体相机对的第二相机捕获的图像内容时使用。
图8示出了根据本发明实现的计算机系统/回放设备800,其可以用来接收、解码、存储和显示从诸如图1和图7所示的内容交付系统接收到的成像内容。该回放设备可以与3D头戴式显示器一起使用,诸如可以是头戴式显示器805的OCULUS RIFTTM VR(虚拟现实)头戴式耳机。设备800包括对接收到的编码图像数据进行解码并生成用于显示给消费者的3D图像内容的能力。在一些实施例中,回放设备位于消费者驻地位置处,诸如家庭或办公室,但是也可以位于图像捕获站点处。根据本发明,设备800可以执行信号接收、解码、显示和/或其它操作。
设备800包括显示器802、显示设备接口803、输入设备804、输入/输出(I/O)接口806、处理器808、网络接口810和存储器812。回放设备800的各种部件经由允许数据在系统800的部件之间传送的总线809耦合在一起。虽然在一些实施例中,显示器802被包括为如使用虚线框所示的可选元件,但是在一些实施例中,外部显示设备805(例如,头戴式立体显示设备)可以经由显示设备接口803耦合到回放设备。
经由I/O接口806,系统800可以耦合到外部设备以与其它设备交换信号和/或信息。在一些实施例中,经由I/O接口806,系统800可以从外部设备接收信息和/或图像并且向外部设备输出信息和/或图像。在一些实施例中,经由接口806,系统800可以耦合到外部控制器,例如,手持式控制器。
处理器808(例如,CPU)执行存储器812中的例程814和模块,并且使用存储的信息来控制系统800根据本发明进行操作。处理器808负责控制系统800的总体一般操作。在各种实施例中,处理器1108被配置为执行已经被讨论的如由回放系统800执行的功能。
经由网络接口810,系统800经通信网络(例如,诸如通信网络105)向/从各种外部设备传送和/或接收信号和/或信息(例如,包括对应于场景的编码图像和/或视频内容)。在一些实施例中,系统经由网络接口810从内容交付系统700接收包括由一个或多个不同相机捕获的编码图像的一个或多个内容流。接收到的内容流可以存储为接收到的编码数据,例如,编码图像824。在一些实施例中,接口810被配置为接收包括由第一相机捕获的图像内容的第一编码图像和与第二相机对应的第二编码图像。网络接口810包括经由其执行接收和发送操作的接收器和发送器。在一些实施例中,接口810被配置为接收然后被存储在存储器812中的、对应于多个不同相机的校正网格信息,该多个不同相机包括第一校正网格信息842、第二校正网格信息844、第三校正网格信息846、第四校正网格信息848、第五校正网格信息850和第六校正网格信息852。此外,在一些实施例中,经由接口810,系统接收然后被存储在存储器812中的一个或多个遮罩832、环境网格模型838、(一个或多个)UV图840。
存储器812包括各种模块,例如例程,当其被处理器808执行时,控制回放设备800以根据本发明解码和输出操作。存储器812包括控制例程814、对内容生成模块816的请求、头部位置和/或观看角度确定模块818、解码器模块820、也称为3D图像生成模块的立体图像渲染引擎822、确定模块、以及数据/信息,其包括接收到的编码图像内容824、解码图像内容826、360度解码场景缓冲区828、生成的立体内容830、(一个或多个)遮罩832、环境网格模型838、(一个或多个)UV图840以及包括第一校正网格信息842、第二校正网格信息844、第三校正网格信息846、第四校正网格信息848、第五校正网格信息850和第六校正网格信息852的多个接收到的校正网格信息集合。
控制例程814包括设备控制例程和通信例程,以控制设备800的操作。请求生成模块816被配置为生成发送到用于提供内容的内容交付系统的、对内容的请求。在各种实施例中,对内容的请求经由网络接口810发送。头部位置和/或观看角度确定模块818被配置为确定用户的当前观看角度和/或当前头部位置(例如,头戴式显示器的位置),并且将确定的位置和/或观看角度信息报告给内容交付系统700。在一些实施例中,回放设备800周期性地向系统700发送当前头部位置信息。
解码器模块820被配置为解码从内容交付系统700接收到的编码图像内容824,以产生解码图像数据,例如,解码图像826。解码图像数据826可以包括解码的立体场景和/或解码的场景部分。在一些实施例中,解码器820被配置为解码第一编码图像以生成第一解码图像,以及解码第二接收到的编码图像以生成第二解码图像。解码的第一和第二图像被包括在存储的解码图像826中。
3D图像渲染引擎822执行渲染操作(例如,使用诸如解码图像826的接收到和/或存储在存储器812中的内容和信息、环境网格模型838、(一个或多个)UV图840、遮罩832和网格校正信息),并且根据本发明的特征生成用于在显示器802和/或显示设备805上显示给用户的3D图像。生成的立体图像内容830是3D图像生成引擎822的输出。各种实施例中,渲染引擎822被配置为使用第一校正信息842、第一解码图像和环境网格模型838来执行第一渲染操作,以生成用于显示的第一图像。在各种实施例中,渲染引擎822还被配置为使用第二校正信息844、第二解码图像和环境网格模型838来执行第二渲染操作,以生成用于显示的第二图像。在一些这样的实施例中,渲染引擎822还被配置为使用第一UV图(包括在接收到的(一个或多个)UV图840中)执行第一渲染操作和第二渲染操作。第一校正信息提供关于当第一渲染操作被执行时要对第一UV图中的节点位置做出校正,以补偿由第一相机的透镜引入到第一图像中的失真的信息,并且第二校正信息提供关于当第二渲染操作被执行时要对第一UV图中的节点位置做出校正,以补偿由第二相机的透镜引入到第二图像中的失真的信息。在一些实施例中,渲染引擎822还被配置为当作为第一渲染操作的一部分将第一图像的部分应用于环境网格模型的表面时,使用第一遮罩(包括在(一个或多个)遮罩832中)来确定第一图像的部分如何与对应于不同视野的第一图像的部分组合,作为第一渲染操作的部分。在一些实施例中,渲染引擎822还被配置为当作为第二渲染操作的一部分将第二图像的部分应用于环境网格模型的表面时,使用第一遮罩来确定第二图像部分如何与对应于不同视野的第二图像的部分组合,作为第二渲染操作的一部分。生成的立体图像内容830包括作为第一和第二渲染操作的结果而生成的第一和第二图像(例如,对应于左眼和右眼视图)。在一些实施例中,对应于不同视野的第一图像的部分对应于天空或地面视野。在一些实施例中,第一图像是对应于前向视野的左眼图像,并且对应于不同视野的第一图像是由对应于邻近前向视野的侧视野的第三相机捕获的左眼图像。在一些实施例中,第二图像是对应于前向视野的右眼图像,并且其中对应于不同视野的第二图像是由对应于邻近前向视野的侧视野的第四相机捕获的右眼图像。这样,渲染引擎822将3D图像内容830渲染到显示器。在一些实施例中,回放设备800的操作者可以经由输入设备804控制一个或多个参数和/或选择要执行的操作,例如,选择显示3D场景。
网络接口810允许回放设备从流传输设备114接收内容和/或传送诸如观看头部位置和/或指示在事件处的特定观看位置的选择的位置(相机台架)选择之类的信息。在一些实施例中,解码器820被实现为模块。在这样的实施例中,当被执行时,解码器模块820使得接收到的图像被解码,而3D图像渲染引擎822根据本发明使得图像被进一步处理,并且可选地将图像拼接在一起作为呈现过程的一部分。
在一些实施例中,接口810还被配置为接收对应于多个不同相机的附加网格校正信息,例如,第三、第四、第五和第六网格校正信息。在一些实施例中,渲染引擎822还被配置为在渲染对应于第四相机的图像时使用对应于第四相机的网格校正信息(例如,第四网格校正信息848),第四相机是所述多个不同相机中的一个。确定模块823被配置为基于在渲染操作中正在使用哪个相机捕获的图像内容或者基于来自服务器的指示当渲染对应于接收到的内容流的图像时应当使用那个网格校正信息的指示,确定当执行渲染操作时哪个网格校正信息要由渲染引擎822使用。在一些实施例中,确定模块823可以被实现为渲染引擎822的一部分。
在一些实施例中,图7的存储器712和图8的存储器812中所示的模块和/或元件被实现为软件模块。在其它实施例中,虽然这些模块和/或元件被示为包括在存储器中,但是它们用硬件实现,例如,作为单独的电路,其中每个元件被实现为用于执行与该元件对应的功能的电路。在还有的其它实施例中,这些模块和/或元件使用软件和硬件的组合来实现。
虽然在图7和图8中被示为包括在存储器中,但是被示为包括在系统700和800中的元件可以并且在一些实施例中确实在处理器内完全用硬件实现,例如,作为对应设备的单独电路,例如,在内容交付系统的情况下在处理器708内,在回放系统800的情况下在处理器808内。在其它实施例中,元件中的一些被实现为例如对应处理器708和808内的电路,而其它元件被实现为例如在处理器外部并且耦合到处理器的电路。应当理解,在处理器上集成模块和/或具有一些模块在处理器外部的水平可以是设计选择之一。可替代地,不是被实现为电路,而是所有或一些元件可以用软件实现并且存储在存储器中,其中软件模块控制相应系统700和800的操作,以当模块被其各自的处理器(例如,处理器708和808)执行时实现对应于模块的功能。在还有的其它实施例中,各种元件被实现为硬件和软件的组合,例如,处理器外部的电路提供到处理器的输入,处理器然后在软件控制下操作以执行模块的功能的一部分。
虽然在图7和图8实施例的每一个中被示为单个处理器(例如,计算机),但是应当理解,处理器708和808中的每一个可以被实现为一个或多个处理器,例如,计算机。当存储器712和812中的一个或多个元件被实现为软件模块时,这些模块包括代码,当代码被对应系统的处理器(例如,处理器708和808)执行时,配置处理器以实现对应于模块的功能。在其中图7和8所示的各种模块存储在存储器中的实施例中,存储器是包括计算机可读介质的计算机程序产品,该计算机可读介质包括代码(例如,用于每个模块的个体代码),用于使至少一个计算机(例如,处理器)实现模块所对应的功能。
可以使用完全基于硬件或完全基于软件的模块。但是,应当理解,可以使用软件和硬件的任何组合(例如,电路实现的模块)来实现功能。如应当理解的,图7中所示的模块控制和/或配置系统700或其中的元件,诸如处理器708,以执行本发明的方法的对应步骤的功能,例如,诸如在流程图600、1100和2300中示出和/或描述的那些功能。类似地,图8中所示的模块控制和/或配置系统800或其中的元件,诸如处理器808,以执行本发明的方法的对应步骤的功能,例如,诸如在流程图1200、2400和2500中示出和/或描述的那些功能。
图9以流程图的形式示出了相机校准、图像编码和内容流传输方法900的第一部分。该示例性方法可以并且在一些实施例中确实由图1所示的系统104实现。图9所示的方法由图像处理校准和编码设备112为相机台架102中的每个相机执行。
该方法在步骤902中开始,例如,当相机例如在事件现场第一次连接到系统104时。在步骤904中,通过对相机校准子例程的调用来发起相机校准操作。为台架102中的每个相机调用相机校准子例程,其中立体对的左相机和右相机被单独校准。
现在简要地参考图10,其中示出了可以在步骤904中调用的示例性校准子例程1000。当被调用时,相机校准例程在步骤1002中开始。操作从开始步骤1002进行到步骤1004,其中,拍摄一个或多个已知对象的图像,例如,校准栅格位于距离要被校准的相机固定的已知距离处,其中一个或多个已知固定大小的对象在栅格上或附近。操作然后进行到步骤1008,其中,与校准栅格和/或对象对应的一个或多个捕获图像被处理以检测由正在被校准的相机引入的失真。然后,在步骤1010中,从校准测量和检测到的图像失真生成失真校正网格。校正网格可以应用到捕获图像,作为图像校正操作的一部分,以反转或减少由相机和作为相机的一部分包括的鱼眼透镜引入的一个或多个失真。网格允许可以被认为是捕获图像的“平坦化”的操作,以反转作为图像捕获过程的一部分引入的失真和/或弯曲。一旦已经创建了用于正被校准的个体相机的失真校正网格,它就被存储以供将来使用和/或传输到回放设备,回放设备然后可以,如下所述,使用网格来在呈现图像的部分或将图像应用到模拟环境之前校正引入到捕获图像中的失真。
在一些实施例中,校正网格被实现为一组网格信息,其指示在规则均匀网格中的节点的节点位置,和其中校正网格中的位置与规则网格中的节点位置不同的每个节点点的偏移信息。这样的实施例在其中用于映射要应用于环境的3D网格模型的对应部分的图像的UV图具有规则结构的情况下尤其有用。例如,考虑图20,其示出了可以用作用于将平面图像映射到3D网格模型(例如球体)的UV图的网格。相交线表示图20中所示的规则网格中的节点。图19中所示的校正网格包括与图20所示的规则网格对应的、可以用作UV图的节点。UV图是指具有至少在一些实施例中与3D模型的节点对应的节点的2D图。UV图可以用来确定2D图像的哪些部分(有时称为纹理)要包装到3D模型的对应部分上。
图19所示的校正网格可以根据一组节点和偏移信息来表示。在校正网格信息集合中包括的用于节点的U和V坐标(其中U对应于通常情况下的X轴,并且V对应于通常情况下的Y轴)用作节点标识符,以识别在图20的规则网格中,在指示的U和V坐标处出现的对应节点。因此,可以使用图20所示的规则网格中的节点的U坐标和V坐标来识别校正网格中的对应节点,其中偏移信息包括在校正网格信息集合中,指示图20中所示的对应节点的U坐标和V坐标应当被改变多少来产生图19中的节点的位置。节点的偏移信息可以被认为是“校正信息”,因为它指示节点位置必须被校正或调整多少以将其放置在图20所示的常规UV图中的对应节点的位置处。
虽然图19示出了单个校正网格,但是应当理解,校正网格是与相机相关的,并且因此为捕获图像的每个相机提供单独的网格校正信息集合,其中为立体相机对的左相机和右相机中的每一个生成的单独的校正网格。由于图20中所示的常规UV图不取决于相机透镜失真,因此相同的UV图可能并且在一些实施例中确实用于立体图像对的左眼图像和右眼图像两者。
一旦已经校正对应于左眼相机或右眼相机的解码失真图像,以去除由捕获图像的特定相机透镜引入的失真,它就可以使用可能并且在一些实施例中确实对于左眼图像视图和右眼图像视图相同的常规UV图被应用于环境的3D模型,作为如图21所示的渲染步骤的一部分。
但是,应当理解,在一些实施例中,一个或多个失真校正图像的生成跳过了使用关于常规UV图中的节点的位置的信息以及包括在校正网格信息集合中的偏移信息来渲染图像,以从解码失真相机视图直接映射到3D网格模型。因此,虽然为了促进对本发明的理解而示出了失真校正图像的生成,但它对本发明并不是关键的,并且在一个处理操作中可以跳过失真校正并且映射到被执行的3D模块。
再次参考图10,在步骤1004中基于校准信息已为相机生成校正网格之后,操作进行到步骤1012,步骤1012是返回步骤。
应当理解,图10所示的校准过程将针对可以用来支持立体内容的流传输的相机台架102和/或其它相机台架中的每个相机执行,其中为每个相机生成并存储校正网格。例如,在体育场内,多个相机台架可以位于不同的位置处。用于向回放设备提供图像的相机台架可以例如基于编辑者关于在给定时间哪个相机位置提供例如主要活动的最佳视图的决定在服务器侧进行切换,或者可以由回放设备的用户给出关于期望从事件处的当前相机台架视图切换到从不同相机台架的角度观看活动的信号进行切换。在任一种情况下,当内容服务器切换用来向回放设备提供内容的相机台架和/或相机对时,它可以并且通常确实向回放设备给出信号通知它应当从使用对应于正在提供内容的相机对的校正信息集合切换到使用对应于将从切换到的新相机位置提供内容的新相机对的网格校正信息。
虽然校正网格可以包括用于UV图中的所有节点的信息,但是在一些情况下,透镜失真可以不需要关于UV图中的一个或多个节点的校正。在这种情况下,发送到回放设备的校正网格信息集合可以省略用于在失真校正网格中出现的、在与对应于3D模型的部分的UV图的相同位置处的节点的信息,其中3D模型的部分用于由校正网格信息所对应的相机捕获的图像。
在调用校准子例程1000之后,在步骤906中,由过程产生的校正网格(例如,以节点位置和偏移值的形式的校正网格信息集合)被存储在存储器中,并且使得可用于流传输设备114,以与由该特定校正网格信息对应的相机捕获的图像内容一起或在其之前提供给回放设备。
操作从步骤906进行到步骤906,步骤906是可选步骤。在步骤908中,通过从相机台架的位置进行环境的距离测量来生成3D环境图。这种距离测量可以使用例如LIDAR和/或其它距离测量技术来做出。
环境测量可以在事件之前并且存储在存储器中以供将来使用和/或分发。例如,竞技场可以被测量一次,并且然后该测量在流传输或提供在相同场所(即,竞技场)的许多不同事件中捕获的内容时被使用。
在没有这种测量的情况下,环境可以并且在一些实施例中确实由回放设备假定为是默认大小的球体。环境测量提供关于从相机台架和因此安装在台架102中的相机到环境中的各个点的距离的信息,这些点对应于用来模拟环境的栅格网格的点。基于距离测量,模拟网格环境中的栅格点可以进一步向外移动或更靠近作为观看者位置的中心点。因此,用来反映使用三角形和球体作为默认形状建模的环境的网格栅格可以被拉伸或以其它方式被改变,以反映被模拟的环境的实际测量的形状。
在执行步骤908时执行的步骤910中,表示在步骤908中测得的环境的信息被存储。存储的环境测量信息包括从相机台架102到墙壁或其它周围物体的距离,其可以用来调整到网格中的点的距离,其中网格用来模拟用来捕获要流传输或以其它方式传送到回放设备的图像的相机台架102周围的环境形状。
在对台架102中的相机进行校准和收集环境信息之后,在将使用它的情况下,操作经由转向步骤912进行到图像捕获和内容流传输子例程,例如,图11所示的例程1100。在一些实施例中,图像捕获将进行被捕获的事件的持续时间,其中实时流传输在该事件期间被支持,并且在事件完成之后支持非实时内容分布和流传输。
现在将详细讨论图11,其示出了可以被图9所示的流程图调用的图像捕获和内容流传输子例程。图11所示的方法1100在步骤1102中当该例程被调用时开始,例如,在相机校准之后,当要捕获图像(例如,对应于诸如体育事件或音乐表演之类的事件的图像)时。
从开始步骤1102,操作沿着多条路径进行,这些路径带有步骤1114、1104、1106、1108、1110、1112,这些步骤可以并行并且可选地异步执行。
为了便于理解图像捕获过程,现在将参考图13中所示的示例性相机台架。相机台架1300可以用作图1系统的台架102,并且包括多个立体相机对,每对对应于三个扇区中的不同一个。第一立体相机对1301包括左眼相机1302(例如,第一相机)和右眼相机1304(例如,第二相机),其旨在捕获对应于将由位于第一相机对的位置处的人的左眼和右眼看到的那些图像。第二立体相机对1305对应于第二扇区,并且包括左和右相机1306、1308,而第三立体相机对1309对应于第三扇区,并且包括左和右相机1310、1312。每个相机安装在支撑结构1318中的固定位置中。还包括面向上的相机1314。在图13中不可见的面向下相机可以包括在相机1314的下方。在一些实施例中,使用了立体相机对以捕获向上和向下图像对,但是在其它实施例中,使用了单个向上相机和单个向下相机。在还有的其它实施例中,向下的图像在台架放置之前捕获,并且在事件的持续时间中用作静止的地面图像。考虑到地面视图往往在事件期间没有显著变化,因此这种方法对于许多应用来说往往是令人满意的。
台架1300的相机的输出被图11的方法捕获和处理,现在将进一步讨论该方法。图11中所示的图像捕获步骤通常通过操作相机台架102的相机来执行,以捕获图像,而图像的编码由编码器112来执行,其中对流传输请求的响应和内容的流传输由流传输服务器114来执行。
在涉及向下图像捕获和处理的图11的第一路径中,在步骤1114中,地面(例如,在台架102下方)的图像被捕获。这可以在台架放置之前发生或如果台架包括面向下的相机则可以在事件期间发生。从步骤1114,操作进行到步骤1144,其中捕获的图像在步骤1145中的编码之前被裁剪。编码的地面图像然后被存储,从而等待对内容的请求,请求可以通过在步骤1146中向请求设备提供一个或多个编码图像来响应。
图11中所示的从步骤1104开始的第二处理路径涉及处理和对内容的请求作出响应。在步骤1104中,例如由内容服务器114发生对内容请求的监视。在步骤1128中,从回放设备(例如,位于消费者驻地106处的设备122)接收到对内容的请求。
响应于内容请求,回放设备被提供要在步骤1130中校正流传输图像中的失真的信息和/或其它渲染有关的信息。在步骤1130中发送的失真校正信息可以以一个或多个失真校正网格的形式,例如,每个失真校正网格用于可以在内容流中向回放设备提供图像的每个相机。在一些实施例中,失真校正网格信息可以并且在一些实施例中确实被发送到回放设备,其中在一些实施例中为提供图像的台架102中的每个相机提供自定义失真网格。因此,在具有3个扇区相机对、顶部相机对和面向下的相机对的台架的情况下,总共10个失真校正网络将被传送到回放设备,用于在由台架的相机捕获的图像上使用,例如,每个相机具有一个网格。如上所述,失真校正网格信息可以包括对应于与由相机捕获的区域对应的UV图的信息,其中节点位置被识别,并且偏移信息按每节点在失真校正信息集合中被提供。对于失真校正网格中与对应的UV图中的节点位置匹配的节点,当由于节点在失真校正网格中与在UV图中出现在相同位置处而没有要被指定的偏移时,信息可以被省略。
图18示出了示例性校正网格1800,其可以用于补偿由具有鱼眼透镜的对应相机引入的失真。由于失真校正网格是与相机相关的并且通常在事件的持续时间内不改变,因此它们不需要被重复发送,但是可以在与内容流相关联的内容流传输开始之前或开始时被缓冲和/或以其它方式被回放设备存储。但是,应当注意,在用于提供图像的相机台架在事件期间可能变化的情况下,例如,由于不同的相机位置提供主要活动的更好的视图,用于多个不同相机台架的相机的失真校正信息可以被发送到回放设备,其中回放设备使用对应于其图像被解码并在给定时间被映射到3D模型的相机的失真校正信息。可以向回放设备给出信号通知在给定时间哪个失真校正图要用于由回放设备接收到的特定发送的图像,和/或回放设备可以基于用户观看方向以及可以从用户选择的相机位置获知的哪个相机台架正在给定时间提供内容来确定要使用哪个失真校正信息集合。例如,用户可以选择从中场位置观看事件,在这种情况下,中场处的相机台架将提供要用于渲染的图像。
从步骤1130,操作进行到步骤1132,该步骤在环境图被生成和/或可能不同于预定默认设置的其它环境信息被提供给回放设备以用于在回放期间模拟测得的3D环境的情况下执行。
因此,经由步骤1128和1130,请求内容的回放设备被提供模拟3D环境所需的信息和/或渲染和模拟3D环境可能需要的其它信息(诸如遮罩信息)和/或指示哪些相机馈送和/或图像流对应于要被模拟的3D环境的哪些部分的信息。
除了校正网格之外,可以在步骤1128中传送的遮罩和/或图像组合信息还包括使得图像部分能够到达的信息,如图14中所示。遮罩信息可以是一组阿尔法值的形式,其中在一些实施例中,为每个图像片段提供阿尔法值,以控制遮罩被应用到的图像的一部分是否将有助于显示给3D模型的图像。
当使用图13的相机台架时,每个扇区对应于相对于相机台架位置的已知120度观看区域,其中来自不同扇区对的捕获图像基于已知映射到模拟3D环境的图像被缝合在一起。虽然通常使用由扇区相机捕获的每个图像的120度部分,但是相机捕获对应于大约180度观看区域的较宽图像。因此,捕获图像可以在回放设备中进行遮蔽,作为3D环境模拟的一部分。图14是示出如何可以使用对应于台架102的不同相机对的环境网格部分来模拟3D球形环境的复合图1400。注意,为台架102的每个扇区示出了一个网格部分,其中天空网格关于顶部相机视图使用,并且地面网格用于由面向下相机捕获的地面图像。虽然用于顶部和底部图像的遮罩本质上是圆形的,但是应用于扇区图像的遮罩被截断,以反映场景区域的顶部和底部将分别由顶部和底部相机提供。
当被组合时,对应于不同相机的整个网格产生如图15中所示的球形网格。注意,示出了用于单个眼睛图像的网格,但是,在捕获立体图像对的情况下,它被用于左眼图像和右眼图像两者。
图14中所示类型的网格和遮蔽信息可以并且有时确实在步骤1130中被传送到回放设备。所传送的信息将取决于台架配置而变化。例如,如果使用了较大数量的扇区,则对应于每个扇区的遮罩将对应于比120度小的观看区域,其中需要超过3个环境栅格来覆盖球体的直径。
环境图信息被示为在步骤1132中可选地发送到回放设备。应当理解,环境图信息是可选的,因为在这种信息没有被传送的情况下,环境可以被假定为默认大小的球体。在支持多个不同默认大小球体的情况下,关于要使用哪个大小的球体的指示可以并且有时确实在步骤1132中被传送到回放设备。
操作从步骤1132进行到流传输步骤1146。
图像捕获操作可以在事件期间持续地执行,尤其关于可由相机台架102捕获的3个扇区中的每一个。因此,从对应于相机台架的第一、第二和第三扇区的步骤1106、1108和1110开始的处理路径就其内容而言是相似的。
在步骤1106中,第一扇区相机对被操作以捕获图像,例如,在步骤1116中的左眼图像和在步骤1118中的右眼图像。图16示出了可以在步骤1116中捕获的示例性图像对。捕获图像然后在步骤1134中被裁剪,并且在使其可用于步骤1146中的流传输之前在步骤1136中被编码。图17示出了可能在步骤1134中发生的裁剪图16图像的示例性结果。
图像捕获、裁剪和编码持续地以期望的帧速率重复,如由从步骤1136返回到步骤1106的箭头所指示的。
在步骤1108中,第二扇区相机对被操作以捕获图像,例如,在步骤1120中的左眼图像和在步骤1122中的右眼图像。捕获图像然后在步骤1138中被裁剪,并且在使其可用于步骤1146中的流传输之前在步骤1139中被编码。图像捕获持续地以期望的帧速率重复,如由从步骤1139返回到步骤1108的箭头所指示的。
在步骤1110中,第三扇区相机对被操作以捕获图像,例如,在在步骤1124中的左眼图像和在步骤1126中的右眼图像。捕获图像然后在步骤1140中被裁剪,并且在使其可用于步骤1146中的流传输之前在步骤1141中被编码。图像捕获持续地以期望的帧速率重复,如由从步骤1141返回到步骤1110的箭头所指示的。
在步骤1112中,天空图像由相机台架102的顶部相机捕获。该图像然后在步骤1142中被裁剪,并且在使其可用于步骤1146中的流传输之前在1143中被编码。地面和天空图像的捕获如果期望可以与扇区图像捕获一起持续地执行,并且也可以以立体的方式捕获,例如,左眼图像和右眼图像被捕获。在图11中,为了数据简化的目的,避免了天空和地面视图的示例立体图像捕获,因为这些图像在许多情况下往往比可对应于相机台架的前120度扇区的前向视图较不重要。但是,在一些实施例中,立体天空和地面视图被实时地捕获和更新。
注意,虽然捕获了对应于不同扇区的多个相机视图,但是图像捕获速率不必对于所有扇区相同。例如,对应于例如主运动场的面向前的扇区的相机可以比对应于其它扇区和/或顶部(天空)和底部(地面)视图的相机以较快的帧速率捕获图像。
在步骤1146中,向请求内容回放设备提供回放设备然后可以处理和使用以模拟3D环境的一个或多个捕获图像。
在响应于对内容的请求而提供内容的一些实施例中,步骤1146基于每个请求设备来执行,例如,响应于发送对内容流的请求的回放设备。因此,取决于观看者头部位置或选择的在事件处的观看位置,可以向不同的设备提供对应于不同相机扇区或甚至不同的相机台架的不同内容。这种观看位置信息在步骤1148中被监视,并且可以当存在头部位置改变或用户选择的观看位置改变时(例如,中场或末端区域观看位置),定期地从回放设备接收到。在其它实施例中,内容被广播或多播,其中例如由于用户的当前头部位置或者由于当前用户选择的相机位置自身或与头部位置信息组合,因此设备附连到包括他们想要在给定时间点访问的内容的内容流。因此,在头部位置和/或关于用户选择的相机位置的信息被传送到内容服务器的情况下,内容服务器可以基于来自个体用户的回放设备的信息来流传输图像内容。在广播的情况下,服务器可以流传输对应于不同相机对和/或相机台架的内容,并且回放设备可以选择在任何给定时间接收和处理哪个广播或多播内容流。网格校正信息可以包括在内容流中,用于提供在内容流中或者经控制或其它信道带外发送的图像的相机,该控制或其它信道可以由回放设备使用,以接收与渲染可能在对回放设备可用的一个或多个内容流中接收到的图像有关的信息。
在步骤1150中,图像流传输被控制,在请求设备向服务器提供观看位置的实施例中,根据观看者头部位置信息的变化而变化。例如,如果用户从环境的观看扇区1改变到扇区2,则作为在步骤1150中做出的改变的结果,步骤1146可以被改变,以向用户流传输对应于扇区2而不是扇区1的内容。注意,虽然对应于所有扇区的图像可以被流传输到用户,但是从带宽利用率的角度来看,将流的数量限制到支持指示的观看角度所需的数量从带宽管理和利用率的角度来看会是所期望的。在多个内容流被广播或多播并且回放设备选择附连到(例如,接收)哪个流的情况下,不需要执行步骤1150。
应当理解,用于在特定时间点提供内容的相机台架可以被切换,例如,当与实况事件相关联的主要活动点从对应于一个相机台架的视野移动到另一台相机台架的视野时。例如,当足球活动从体育场的一端移动到另一端时,广播员可以选择从不同相机台架提供内容,使得在整个比赛中广播最佳视图。在这种情况下,广播员可以控制关于哪个相机台架提供在被发送的内容流中的内容的切换。当做出用于提供内容流中的内容的相机的切换时,向接收内容流的回放设备给出改变的信号使得它们将使用与在给定时间提供图像的相机对应的校正网格信息是有用的。在步骤1151中,向回放设备发送信号,指示回放设备应当切换要使用的校正网格,使得所使用的校正网格将与提供正在被流传输的图像的源相机匹配。例如,当服务器从流传输对应于第一相机对的图像切换到流传输对应于第二相机对的图像到回放设备时,回放设备被给出信号通知其从使用与第一相机对对应的校正网格切换到使用与第二相机对对应的校正网格。
在将这种信息提供给服务器的实施例中,来自回放设备的反馈信息的接收和图像的流传输将在事件的持续时间内持续,或者在单播内容交付的情况下,直到与回放设备的会话终止。
交付内容和提供关于使用哪些校正网格的信息的进行中过程由从步骤1151返回到步骤1146的箭头来表示,以指示当图像捕获、编码和流传输步骤持续地被重复时,内容流可以持续地进行,其中步骤1146至1151随着图像被捕获和流传输被重复地执行。
已经解释了在一些实施例中由示例性回放设备(例如,图8中所示的设备122或设备800)的系统104操作执行的图像捕获、编码和传输过程,现在将参考图12进行描述。
图12示出了根据一个示例性实施例的、操作可以在图1的系统中使用的回放设备或系统的方法1200。方法1200在开始步骤1202中开始。在步骤1204中,回放设备向例如图1的流传输服务器发送对内容的请求。然后,回放设备在步骤1206中接收包括可能并且有时确实在图11的步骤1128、1130和1132中被发送的信息的各种信息。例如在步骤1126中,回放设备可以并且有时确实接收指定用于可以从其接收图像部分的每个相机的每一个的校正网格的信息,此外,关于相机输出要使用的图像遮罩信息可以与其它信息一起被接收,其它信息诸如关于要模拟的环境的信息,例如,环境图和/或关于与应该或可以被使用以生成模拟的3D环境的不同相机输出对应的环境网格部分的信息。因此,在步骤1206中,回放设备可以接收图14中所示的网格和遮罩信息以及用于每个相机的校正网格,诸如图18中所示的示例性校正网格。
在步骤1206中接收到的信息可以存储在存储器中,用于按需使用。
操作从步骤1206进行到步骤1208,其中例如从附连到回放设备的头戴式显示器接收观看者头部位置,或者通过回放设备视觉地或以其它方式跟踪头部位置来确定头部位置。在步骤1209中,观看者头部位置被发送到内容服务器以向其提供可用于在给定观看者头部位置的情况下选择要被流传输的适当的相机图像的信息。
在步骤1210中,观看者选择的头部位置由回放设备例如经由用户控制输入接收。在用户被允许在多个不同的事件观看者位置(例如,中场观看位置和一个或多个场端或进球观看位置,例如,相机台架所处的位置)之间进行选择的实施例中,这种输入可以被接收。
在步骤1211中,观看者选择的位置被传送到服务器。步骤1208和1209定期地或者每当观察者头部位置发生改变要报告时被重复。步骤1210和1211可以定期地执行,但是通常在用户控制下执行,因为用户做出他或她想要切换到不同位置的决定,例如,对应于体育赛事或音乐会处的不同座位。
应当理解,步骤1209和1211向服务器提供信息,服务器可以使用该信息来选择要提供给回放设备的相机输出流的子集,以便节省带宽并且避免必须传送所有相机输出到播放设备。
在被持续执行的步骤1213中,对应于台架102的一个或多个相机的编码图像被接收到并解码,以产生示例性解码图像,例如,扇区的左眼图像和右眼图像,诸如图17中所示的那些。
操作从步骤1214进行到步骤1215,其中对应于解码图像的遮罩被应用到解码图像。可以被应用的遮罩在图14中示出,其中被应用的遮罩取决于要进行遮蔽的图像所对应的3D环境的部分。在步骤1215中的遮蔽之后,与解码图像对应的校正网格被应用,以创建校正图像。图19示出了将图18中所示的校正网格应用到图像的示例性应用,作为变换操作的一部分,其用于反转或补偿由捕获正被处理的图像的相机引入的失真。
图20示出了将校正网格应用于图19中所示的图像的结果。如应当理解的,校正网格将被应用于立体图像对的左眼图像和右眼图像两者。因此,在图20中,示出了例如通过使用分别对应于用于捕获图像的左眼和右眼相机的校正网格,一对图像中的两个图像都将被校正。
在校正解码图像之后,在一些实施例中,校正图像的相关部分被映射到360度模拟环境的对应观看区域部分。映射针对左眼图像和右眼图像执行,以生成可以被显示以提供3D观看体验的单独的右眼图像和左眼图像。可选地,映射可以使用环境图信息来使默认环境栅格变形,以在将校正图像应用于模拟环境栅格之前更精确地反映从中捕获图像的环境。应当理解,虽然步骤1214、1215和1216被描述为单独的步骤,其针对左眼图像和右眼图像执行,但是它们可以被组合成单个渲染操作,在这种情况下,渲染引擎使用遮罩信息、对应于特定眼睛图像的网格校正信息、以及指示未校正UV图中的节点的位置的UV图信息,其中未校正UV图将用于将图像映射到被使用的3D网格模块。以这种方式,通过使用可用的多个输入,渲染引擎可以将解码的左眼图像数据和右眼图像数据直接映射到3D网格模块的对应部分,而不必生成解码的左眼图像和右眼图像的单独校正版本。如果期望,这允许图像的部分被顺序地处理和渲染。在一些实施例中,这种方法被使用,其中渲染引擎从解码的左眼图像生成用于显示的左眼图像,其使用遮罩以确定左眼图像的哪个部分将被映射到3D模型,并且使用对应于提供左眼图像的相机的网格校正信息和UV图的组合以确定解码的左眼图像将如何被映射到环境的3D网格模型以生成输出左眼图像。在这些实施例中,相同的渲染方法被用来从解码的右眼图像渲染用于显示的右眼图像,其使用遮罩以确定右眼图像的哪个部分将被映射到3D模型,并且使用相机相关的用于右眼图像的网格校正信息和UV图的组合以确定解码的右眼图像将如何被映射到环境的3D网格模型以生成用于显示的右眼输出图像。由于网格校正信息是相机相关的,因此使用不同的网格校正信息来渲染左眼图像和右眼图像。但是,由于在渲染中使用的UV图和3D模型不依赖于正在被渲染的图像是哪个相机捕获的,因此相同的UV图和3D模型可以并且在一些实施例中确实用于渲染左眼图像和右眼图像两者。
在步骤1120中,应当理解,在一些实施例中,单独的左眼图像和右眼图像被输出,其中左眼图像和右眼图像提供深度信息的差异导致具有3D观看体验的图像的视图。通过在回放设备中而不是在流传输内容的服务器处对透镜相关的失真执行校正,与图像在编码之前被预处理以试图去除由用来捕获图像的个体透镜引入的失真的实现相比,更好地保留了边缘并且避免了编码伪像。
图21示出了对应于第一扇区的图像部分到表示3D观看环境的球体的对应的120度部分的映射。
在步骤1216中,对应于360度环境的不同部分的图像被组合成向观看者提供连续观看区域所需的程度,例如,取决于头部位置。例如,在步骤1218中,如果观看者正在查看两个120度扇区的交叉点,则对应于每个扇区的图像的部分将基于每个图像在被模拟的整个3D环境中的已知角度和位置被在缝接在一起并且呈现给观看者。图像的缝接和生成将针对左眼视图和右眼视图中的每一个执行,使得在立体实现的情况下生成两个单独的图像,每个眼睛一个。
图22示出了多个解码、校正和裁剪的图像如何可以并且有时确实被映射和缝接在一起以创建360度观看环境。
在步骤1220中,映射的图像被输出到显示设备以供用户观看。应当理解,显示的图像将基于接收到的图像和/或由于头部位置或用户选择的观看者位置的改变而随时间改变,在立体图像的情况下,生成单独的左眼图像和右眼图像,用于分别单独显示给用户的左眼和右眼。
图23是示出根据示例性实施例的提供图像内容的示例性方法的步骤的流程图2300。流程图2300的方法由内容交付系统114/700实现,内容交付系统114/700可以接收由相机装置102/1300捕获的图像内容。
该方法在步骤2302中开始,例如,其中交付系统被通电并初始化。该方法从开始步骤2302进行到步骤2304。在步骤2304中,内容交付系统700在存储器中存储用于捕获图像内容的一个或多个立体相机对(例如,在图像捕获装置102/1300中使用的相机对)的网格校正信息。在一些实施例中,存储网格校正信息的步骤2304包括步骤2306、2308、2310、2312、2314和2316中的一个或多个。在步骤2306中,存储用于第一立体相机对的第一相机的第一校正信息。在步骤2308中,存储用于第一立体相机对的第二相机的第二校正网格信息。在一些实施例中,第一立体相机对是图像捕获装置102/1300的一部分,并且对应于第一方向。在步骤2310中,存储用于第二立体相机对的第一相机的第三网格校正信息。在步骤2312中,存储用于第二立体相机对的第二相机的第四校正网格信息。在步骤2314中,存储用于第三立体相机对的第一相机的第五网格校正信息。在步骤2316中,存储用于第三立体相机对的第二相机的第五校正网格信息。
操作从步骤2304进行到步骤2318。在步骤2318中,操作服务器(例如,可以被实现为系统700中的流传输控制器720的流传输服务器114)以向例如一个或多个内容渲染和回放设备发送要在渲染图像内容时使用的环境网格模型。操作从步骤2318进行到步骤2320。在步骤2320中,操作服务器以向回放设备发送一个或多个UV图,该一个或多个UV图是用于将由一个或多个立体相机对捕获的图像的部分映射到环境网格模型的部分,作为图像渲染操作的一部分。在一些实施例中,操作服务器以发送第一UV图,该第一UV图是用于将由第一立体相机对捕获的图像的部分映射到环境网格模型的一部分,作为图像渲染操作的一部分。
操作从步骤2320进行到步骤2322。在步骤2322中,包括从由第一立体相机对的第一和第二相机捕获的图像内容生成的编码图像的立体内容流被发送到回放设备。操作从步骤2322进行到步骤2324。在步骤2324中,内容交付系统将第一校正网格信息和第二校正网格信息提供给回放设备,第一校正网格信息用于在渲染由第一相机捕获的图像内容时使用,第二校正网格信息用于在渲染由第二相机捕获的图像内容时使用。
操作经由连接节点A 2326从步骤2324进行到步骤2328。在步骤2328中,内容交付系统将第三和第四校正网格信息集合提供给回放设备,第三校正网格信息用于在渲染由第二立体相机对的第一相机捕获的图像内容时使用,第四校正网格信息用于在渲染由第二立体相机对的第二相机捕获的图像内容时使用。在一些实施例中,第一和第二立体相机对对应于向前观看方向,但是在正在捕获内容用于流传输的区域或事件位置处的不同位置。操作从步骤2328进行到步骤2330。在步骤2330中,内容交付系统将第五和第六校正网格信息提供给回放设备,第五校正网格信息用于在渲染由第三相机对的第一相机捕获的图像内容时使用,第六校正网格信息用于在渲染由第三立体相机对的第二相机捕获的图像内容时使用。
操作从步骤2330进行到可选的步骤2332。在步骤2332中,系统700向回放设备指示当由第一立体相机对捕获的内容被流传输到回放设备时,第一和第二校正网格信息应当被使用。该指示可以在发送到回放设备的内容流中,或者可以经由来自系统700的另一个控制信号。在一些实施例中,包括由第一相机对的相机捕获的图像内容的内容流被用作要发送到一个或多个回放设备的默认内容流。但是,这可以被改变,并且传送由其它立体相机对捕获的图像内容的内容流可以在不同时间提供给回放设备。在一些实施例中,传送由多个立体相机对(例如,第一、第二、第三立体相机对)捕获的图像内容的内容流被提供给回放设备,回放设备然后可以选择在给定时间附连到哪个(些)流。操作从步骤2332进行到独立地并行执行的步骤2334和2336。在一些实施例中,步骤2334和2336是两个不同的选择,并且这两个步骤中的仅一个被执行。在步骤2334中,检测到从流传输来自第一立体相机对的内容到流传输来自第二立体相机对的内容的网络控制的切换,例如,指示与第二立体相机对对应的内容馈送将被提供给回放设备,而不是从先前被提供的第一立体相机对。操作从步骤2334进行到步骤2338。
在步骤2336中,系统700检测到接收包括来自第一立体相机对的内容的第一内容流到接收包括来自第二立体相机对的编码内容的第二内容流的用户控制的改变。操作从步骤2336进行到步骤2338。
在步骤2338中,系统向回放设备指示,当由第二相机对捕获的内容而不是来自第一相机对的内容被流传输到回放设备时和/或当由第二相机对捕获的内容被用于由回放设备渲染和回放时,第三和第四校正网格信息应当被使用。在一些实施例中,步骤2338是可选的,如虚线框所示。在这些实施例中,在检测到诸如关于步骤2334和2336所讨论的切换之后,如关于步骤2338所描述的,这种指示没有被系统700提供。在这些实施例中,回放设备知道校正网格信息和相机对之间的映射,以便解决关于哪个校正网格信息集要用于哪个相机对内容流。
操作从步骤2338进行到步骤2340和2342。在一些实施例中,步骤2340和2342是两个不同的选择,并且这两个步骤中的仅一个被执行。在步骤2340中,检测到从流传输来自第二立体相机对的内容到流传输来自第三立体相机对的内容的网络控制的切换,例如,指示与第三立体相机对对应的内容馈送将被提供给回放设备,而不是从先前被提供的第二立体相机对。操作从步骤2340进行到步骤2342。
在步骤2342中,系统700检测到接收包括来自第二立体相机对的内容的内容流到接收包括来自第三立体相机对的内容的内容流的用户控制的改变。操作从步骤2342进行到步骤2344,其在一些实施例中是可选的。
在步骤2344中,系统向回放设备指示,当由第三相机对捕获的内容被流传输到回放设备时和/或当由第三相机对捕获的内容被用于由回放设备渲染和回放时,第五和第六校正网格信息应当被使用用于渲染。
图24示出了操作内容回放设备(例如,诸如图8中所示的设备800的内容回放设备)以例如渲染和显示左眼图像和右眼图像作为立体回放方法的一部分的方法2400。在立体回放的情况下,不同的左眼图像和右眼图像被显示给用户,例如,在某些情况下,显示的不同部分被用于以用户的左眼看到左眼图像和右眼看到右眼图像的方式呈现左眼图像和右眼图像。在讨论回放方法期间将参考图14,因为它有助于理解图像如何在回放期间生成。
该方法在步骤2402中开始,例如,当回放例程由回放设备的处理器执行时。操作从步骤2402进行到步骤2404。在步骤2404中,回放设备接收包括对应于不同视野的网格的环境模型,例如,3D网格模型。例如,接收到的网格可以并且有时确实包括对应于前向视图(0视图网格)的网格、对应于左后视图(1-视图网格)的网格和对应于右后视图(2-视图网格)的网格。除了前视图和后视图网格之外,3D模型可以包括天空(顶部)网格和底部(地面)网格模型。对应于要使用的网格的图像内容可以用作纹理,其可以并且有时确实被单独发送,例如,在不同的流中。在步骤2406中,3D模型被存储。操作从步骤2406进行到步骤2408,其中回放设备接收一个或多个UV图,例如,对应于形成3D模型的一部分的每个网格的一个UV图。例如,在一些实施例中,在步骤2408中,接收多个UV图以用于将图像映射到环境模型。UV图中的每个面对应于3D网格模型中的面,并且被用来控制对应于相同视野和UV图的图像内容到3D模型的对应部分的映射。这种映射可以并且在一些实施例中确实由渲染引擎实现。UV图在图14中未示出,但是存在对应于每个网格部分的UV图。例如,在步骤2408中,接收前向视图UV图、右后视图UV图、左后视图UV图、顶视图UV图和底视图UV图。由于UV图和模型与可能由立体对的透镜之间的透镜缺陷或制造公差引起的差异无关,因此单个UV图可以用于与观看方向对应的左眼图像和右眼图像两者。
在步骤2410中,存储接收到的UV图,例如,用于在图像渲染时使用,以促进将接收图像部分包裹到环境的3D模型的表面上作为纹理。
操作从步骤2410进行到步骤2412。在步骤2412中,接收一个或多个遮罩。例如,在一些实施例中,在步骤2408中接收到多个遮罩,可由相机捕获的不同视野中的每一个一个遮罩。考虑例如图14,其示出了用于可被捕获的顶部、前面、底部、左后和右后视野中的每一个的单独的遮罩。遮罩可以被实现为在可以执行的渲染或混合操作期间控制图像组合的阿尔法值集合。对于要被遮蔽的区域,阿尔法值可以被设置为零,使得它们对包裹在3D模型的对应部分上的纹理没有贡献,其中帧的中心中的图像部分被用作要包裹的纹理。
在步骤2414中存储遮罩。操作从步骤2414进行到步骤2416。在步骤2416中,接收到多个网格校正信息集合,例如,可以提供用于作为纹理应用到环境模型的表面的图像的每个相机一个网格校正信息集合。如上所述,网格校正信息与相机透镜相关,并且考虑由各个相机透镜引入的失真。网格校正信息可以并且在一些实施例中确实包括UV图改变信息,其将被应用,以对对应于与被应用的网格校正信息相同视野的UV图中的值或信息进行调整。因此,网格校正信息可以定制从相机捕获的图像到在渲染期间实现的3D模型的映射,使得在生成UV图时未考虑的失真可以被补偿。在一个实施例中,在步骤2416中,网格校正信息。立体相机对被使用,以捕获前、右后和左后视图,因此在步骤2416中,为所使用的六个相机中的每一个接收校正网格,其中每个立体相机对使用两个相机。在一些实施例中,顶视图和底视图在立体的情况下没有被捕获。在顶视图和底视图在立体的情况下,为所使用的左眼和右眼相机中的每一个接收单独的校正网格。在步骤2416中,假设在这种特定的示例中,顶视图和底视图没有在立体的情况下捕获,则只有一个顶视图网格校正信息集合和一个底视图网格校正信息集合。因此,在步骤2416中,接收与第一相机(例如,前视立体相机对的左眼相机)对应的第一校正信息。在步骤2416中,还接收第二网格校正信息,其中第二网格校正信息在一些实施例中对应于前视立体相机对的右眼相机。在步骤2416中,可以并且有时确实接收对应于多个不同相机的附加网格校正信息。
应当理解,可以在不同的时间使用不同的相机台架来提供图像。在这种情况下,在步骤2416中,将为不同相机台架的相机接收网格校正信息。在渲染期间使用哪个网格校正信息集合取决于哪个相机提供用于渲染的内容。关于在内容流中哪个相机提供图像内容的信息可以包括在视频内容流中,使得回放设备可以识别与捕获图像的相机对应的校正网格。在一些实施例中,提供内容的服务器向回放设备给出信号,指示回放设备在给定时间使用什么校正网格,其中服务器指示当对关于哪个(哪些)相机被用来提供内容做出改变时回放设备应当从使用一个校正信息集合切换到另一个校正信息集合。
接收到的校正网格被存储在回放设备步骤2418中。因此在步骤2418中,与多个不同相机对应的附加网格校正信息可以与其它接收到的网格校正信息一起存储。一旦校正网格和其它信息被存储,存储的信息就可以按需被访问和提供给渲染引擎。
操作经由连接节点2420从步骤2418进行到步骤2422。在步骤2422中,接收至少一个与每个视野对应的图像。这些图像可以是用于最初填充图像缓冲器以生成初始3D视图的默认图像。
在步骤2424中,接收到的图像被解码,然后在步骤2426中图像被存储,例如,用于在渲染操作时使用。当图像被接收到时,初始图像可以用更新的图像替换。应当理解,与环境的不同部分对应的图像可以以不同速率被更新,即,被接收。
操作从步骤2426进行到步骤2428,其中用户的头部位置,例如,观看的方向例如基于来自头戴式显示器中的传感器的信息被确定。在一些实施例中,如步骤2430所示,头部位置被报告给向回放设备提供内容的服务器。但是,在其它实施例中,头部位置信息没有被报告,而是由回放系统使用,以确定要接收哪个广播或多播内容流和/或确定在给定时间在显示设备上向用户显示3D环境的什么部分。
操作从步骤2428或步骤2430(当被实现时)进行到步骤2432。在步骤2432中,回放设备接收图像,例如一个或多个内容流。例如从内容服务器接收到的内容流传送对应于一个或多个视野的图像。在一个实施例中,在步骤2432中,接收包括由前视立体对的第一相机(例如,左眼相机)捕获的图像内容的第一编码图像,以及由第一立体对的第二(右)相机捕获的第二图像。在这样的实施例中,在步骤2432中,还接收包括由第一立体相机对的第二相机(例如,右眼相机)捕获的内容的第二编码图像。内容流的接收可以是回放设备请求特定内容流并且经由单播交付接收内容的结果,或者作为回放设备接收提供对应于事件(诸如在竞技场或其它3D环境处的体育比赛)的图像的一个或多个流的多播或广播的结果。
操作从步骤2432进行到步骤2434。在一些但不一定所有实施例中实现的步骤2434中,回放设备接收指示哪个或哪些网格校正信息集合应该相对于正被提供给回放设备的图像被使用的信息。网格校正指示信息可以采取当在渲染期间使用识别出的图像集合时用作特定网格校正信息集合的命令或指令,或者关于哪些相机捕获的图像被提供的指示的形式,使得回放设备可以识别和使用与作为正在接收的图像的来源的相机对应的网格校正信息集合。
操作从步骤2434进行到步骤2436,其中接收到的图像被解码。因此,在接收到来自第一相机的第一编码图像的情况下,第一编码图像将在步骤2436中被解码,以生成第一解码图像。如应当理解的,在立体图像内容的情况下,可以为每个立体帧接收和解码左眼图像和右眼图像。因此,在步骤2436中,右眼图像,例如,来自第一立体对的第二相机的第二图像也被解码。在步骤2438中解码图像被存储,以用作要应用到3D环境模型的表面的纹理。
操作从步骤2438进行到步骤2440,在步骤2440中,做出关于在渲染左眼图像和右眼图像(例如,对应于如由检测到的用户头部位置指示的用户视野)时要使用哪些解码图像和校正图信息的确定。通常,对应于相同时间的图像将在渲染中被使用,但是在对应于不同视野的图像在不同时间被接收到的情况下,对应于整体3D模型的一部分的帧的较旧版本,例如,最后接收到的版本,可以与用户的主视野中更近接收到的帧组合使用,使得可以渲染完整的图像。
在一些实施例中,左眼图像和右眼图像被单独渲染,即使它们然后可以作为立体帧对一起显示给用户,其中用户的左眼看到渲染的左眼图像并且用户的右眼看到渲染的右眼眼图像。在步骤2442中,对例如图25中所示的渲染例程进行调用以渲染左眼图像。
作为渲染左眼图像的一部分,在步骤2508中,渲染图像可以使用第一网格校正信息、第一解码图像(例如,前向左眼图像)和环境网格模型来执行渲染操作,以生成用于显示的第一图像,例如,作为左眼图像。此外,第一遮罩可以被用来确定所述第一图像的部分如何与对应于不同视野的另一个图像的部分组合,作为所述第一渲染操作的一部分。例如,其中从不同相机获得的图像重叠的情况下,遮罩可以被用来防止重叠图像的一个或多个部分对通过将所述第一图像的部分应用到环境网格模块的表面作为渲染操作的一部分而生成的图像有所贡献。可以为图像的不应用于网格的部分分配和使用零的阿尔法值,从而使其贡献为零。
为了渲染正被渲染的立体图像对的右眼图像,在步骤2444中,对渲染例程进行调用以渲染右眼图像。因此,在步骤2444中,使用第二网格校正信息集合、第二解码图像和环境网格模块来执行第二渲染操作,以生成用于显示的第二图像。用于视野的左眼图像的相同遮罩可以在用于对应于相同视野的右眼视图的渲染期间使用。因此,在一些实施例中,用于渲染左眼图像的第一遮罩被用来确定所述第二图像的部分如何与对应于不同(例如,重叠)视野的第二图像的部分组合,作为用于渲染右眼图像的第二渲染操作的一部分。
如应当理解的,随着时间的推移,图24和25中的步骤将被重复若干次。后面的迭代可以涉及使用来自不同相机的图像,例如,对应于可以在与第一立体对相同或不同相机台架上的不同立体相机对的第四和第五相机。因此,当步骤2444第二次或在以后的时间被执行时,其可以并且有时确实涉及当渲染对应于第四相机的图像时使用对应于第四相机的网格校正信息,其中所述第四相机可以并且有时确实是为其接收到校正网格信息的多个不同相机之一。
然后,在步骤2446中,使用显示器向用户显示左眼图像和右眼图像,其导致用户的左眼看到左眼图像并且用户的右眼看到右眼图像。
操作从步骤2446进行到步骤2428,使得附加的图像可以被接收和处理,其中例如在事件的持续时间用户被持续地提供立体图像。
现在将讨论图25中所示的图像渲染例程2500。可以调用该例程来渲染左眼图像和右眼图像。一对渲染的左眼图像和右眼图像表示当被用户观看时将由于用户看到不同的左眼图像和右眼图像而传达深度感的立体帧。
渲染例程2500在步骤2502中当被调用以例如通过例程2400渲染图像时开始。在步骤2504中,渲染引擎(例如,渲染引擎822)与环境模型一起被加载,例如,3D网格模型,其包括对应于不同视野的多个网格模型、对应于不同视野的UV图以及对应于不同视野的遮罩。加载到渲染中的信息可以在图14的上下文中容易地理解,图14示出除UV图之外的各种信息。如上所述,该信息可以用于渲染左眼图像和右眼图像两者,并且可以不依赖于特定于立体相机对的各个相机透镜的失真。
在加载了环境模型和UV图的情况下,操作进行到步骤2506。在步骤2506中,渲染引擎被提供具有依赖于相机的环境网格校正信息。因此,在步骤2506中,渲染引擎被提供具有与用于捕获将在渲染操作中使用的图像部分的相机对应的校正网格信息。例如,如果左眼图像要被渲染,则在步骤2506中,渲染引擎将接收与捕获环境的左眼图像部分的相机对应的网格校正信息。类似地,如果右眼图像要被渲染,则在步骤2506中,渲染引擎将接收与捕获环境的右眼图像部分的相机对应的网格校正信息。如果单个相机被用于特定视野,则对应于单个相机的失真校正网格将被用于渲染左眼视图和右眼视图两者。
在一些实施例中,步骤2506包括基于在渲染操作中哪个相机捕获的图像内容正在被使用或来自服务器的指示当渲染对应于接收到的内容流的图像时应当使用哪个网格校正信息的指示,确定当执行渲染操作时要使用哪个网格校正信息。
一旦加载了对应于3D模型的不同部分的图像,在步骤2508中,渲染引擎就被操作,以通过基于如由包括在接收到的网格校正信息集合中的网格校正信息校正的UV图信息将图像的部分应用到3D模型的表面来生成输出图像。例如,UV图中的顶点(例如,节点)的位置可以在作为渲染过程的一部分被用来将纹理包裹在3D环境模型的表面上之前,根据接收到的校正信息进行调整。在渲染期间,接收到的遮罩被用来确定接收到的图像的哪些部分将在包裹操作中使用。诸如在比赛系统中使用的那些渲染引擎可以被用来基于所描述的输入和校正信息来实现渲染。
在步骤2508中执行的渲染操作产生对应于用户指示的视野的左眼或右眼输出图像,其取决于是左眼图像还是右眼图像被包裹到环境的3D模型的表面上,其中渲染操作为要被生成的立体图像对的左眼图像和右眼图像中的每一个执行。
在步骤2508中生成的图像在步骤2510中被输出用于显示。虽然步骤2512被指示为停止步骤,但这仅仅指示图像的渲染完成,并且应当理解,渲染例程2500可以被多次调用以根据需要渲染左眼图像和右眼图像,例如,每次一个图像。
虽然以示例性顺序示出了步骤,但是应当理解,在许多情况下,可以改变步骤的顺序而不会不利地影响操作。因此,除非对于正确操作需要步骤的示例性顺序,否则步骤的顺序被认为是示例性的而非限制性的。
一些实施例针对包含用于控制计算机或其它设备来编码和压缩立体视频的一组软件指令(例如,计算机可执行指令)的非瞬时性计算机可读媒体。其它实施例针对包含用于控制计算机或其它设备在播放器端解码和解压缩视频的一组软件指令(例如,计算机可执行指令)的计算机可读介质。虽然编码和压缩被提及作为可能的单独操作,但是应当理解,编码可以被用来执行压缩,并且因此编码可以在一些情况下包括压缩。类似地,解码可以涉及解压缩。
各种实施例的技术可以利用软件、硬件和/或软件和硬件的组合来实现。各种实施例针对装置,例如图像数据处理系统。各种实施例还针对方法,例如处理图像数据的方法。各种实施例还针对非瞬时性机器(例如,计算机)可读介质,例如,包括用于控制机器来实现方法的一个或多个步骤的机器可读指令的ROM、RAM、CD、硬盘等。
本发明的各种特征是利用模块实现的。这些模块可以,并且在一些实施例中确实,被实现为软件模块。在其它实施例中,模块用硬件实现。在还有的其它实施例中,模块是利用软件和硬件的组合实现的。在一些实施例中,模块被实现为单独的电路,其中每个模块被实现为用于执行模块所对应的功能的电路。各种各样的实施例是预期的,包括其中不同模块以不同方式实现的一些实施例,例如,一些在硬件中、一些在软件中、一些使用硬件和软件的组合。还应当指出,与在通用处理器上执行的软件相反,例程和/或子例程或者由这些例程执行的一些步骤可以用专用的硬件实现。这些实施例保持在本发明的范围内。许多上述方法或方法步骤可以利用包括在机器可读介质(诸如存储器设备,例如RAM、软盘等)中的机器可执行指令(诸如软件)来实现,以控制机器(例如具有或不具有附加硬件的通用计算机)实现上述方法的全部或部分。因此,除其它之外,本发明还针对包括机器可执行指令的机器可读介质,所述机器可执行指令用于使机器(例如,处理器和相关联的硬件)执行上述(一个或多个)方法的一个或多个步骤。
鉴于以上的描述,上述各种实施例的方法和装置的众多附加变化对本领域技术人员将是清楚的。这些变化要被认为在本发明范围内。
Claims (55)
1.一种提供立体内容的方法,所述方法包括:
存储用于第一立体相机对的第一相机的第一校正信息;
存储用于第一立体相机对的第二相机的第二校正信息;以及
操作服务器以将所述第一校正信息和所述第二校正信息提供给回放设备,所述第一校正信息用于在渲染由所述第一相机捕获的图像内容时使用,所述第二校正信息用于在渲染由所述第二相机捕获的图像内容时使用。
2.如权利要求1所述的方法,其中所述第一校正信息是第一相机相关的网格校正信息;
其中所述第二校正信息是第二相机相关的网格校正信息;
其中所述第一立体相机对对应于第一方向,所述方法还包括:
操作所述服务器以发送包括从由所述第一相机和第二相机捕获的图像内容生成的编码图像的立体内容流。
3.如权利要求2所述的方法,还包括:
向所述回放设备发送要在渲染图像内容时使用的环境网格模型。
4.如权利要求3所述的方法,
其中所述第一立体相机对的所述第一相机捕获左眼图像,所述第一立体相机对的所述第二相机捕获右眼图像;
其中所述第一校正信息包括基于所述第一立体相机对的所述第一相机的第一透镜的一个或多个光学特性的测量而生成的信息;以及
其中所述第二校正网格包括基于所述第一立体相机对的所述第二相机的第二透镜的一个或多个光学特性的测量而生成的信息。
5.如权利要求4所述的方法,还包括:
向所述回放设备发送第一UV图,所述第一UV图被用于将由所述第一立体相机对捕获的图像的部分映射到所述环境网格模型的一部分,作为图像渲染操作的部分。
6.如权利要求5所述的方法,其中所述第一校正信息包括指示作为渲染由所述第一立体相机对的所述第一相机捕获的图像的部分的一部分而要对所述第一UV图中的节点位置做出的一个或多个调整的信息。
7.如权利要求6所述的方法,其中所述第二校正信息包括指示作为渲染由所述第一立体相机对的所述第二相机捕获的图像的部分的一部分而要对所述第一UV图中的节点位置做出的一个或多个调整的信息。
8.如权利要求2所述的方法,其中所述立体内容流传送包括由所述第一立体相机对的所述第一相机和第二相机捕获的编码左眼图像和编码右眼图像的编码图像内容。
9.如权利要求8所述的方法,还包括:
操作所述服务器以向回放设备提供第三校正网格信息和第四校正网格信息,所述第三校正网格信息用于在渲染由第二立体相机对的第一相机捕获的图像内容时使用,所述第四校正网格信息用于在渲染由第二立体相机对的第二相机捕获的图像内容时使用。
10.如权利要求9所述的方法,其中所述第一立体相机对和第二立体相机对对应于向前观看方向,但是对应于正在捕获内容以用于流传输的区域或事件位置处的不同位置。
11.如权利要求9所述的方法,还包括:
当由所述第二相机对捕获的内容而不是来自所述第一相机对的内容被流传输到回放设备时,向回放设备指示所述第三校正网格信息和第四校正网格信息应当被使用。
12.如权利要求11所述的方法,其中向回放设备指示所述第三校正网格信息和第四校正网格信息应当被使用的所述步骤是响应于以下而执行的:i)从流传输来自所述第一立体相机对的内容到流传输来自所述第二立体对的内容的网络控制的切换(例如,作为源相机中的广播相机控制的切换的一部分),或ii)从接收包括来自所述第一立体相机对的内容的第一内容流到接收包括来自第二立体相机对的编码内容的第二内容流的用户控制改变。
13.如权利要求12所述的方法,还包括:
存储用于第三立体相机对的第一相机的第五网格校正信息;
存储用于第三立体相机对的第二相机的第六校正网格信息;以及
操作服务器以将所述第五校正网格信息和第六校正网格信息提供给回放设备,所述第五校正网格信息用于在渲染由所述第三立体相机对的所述第一相机捕获的图像内容时使用,所述第六校正网格信息用于在渲染由所述第三立体相机对的所述第二相机捕获的图像内容时使用。
14.一种内容交付系统,包括:
存储器,包括用于第一立体相机对的第一相机的存储的第一校正信息和用于第一立体相机对的第二相机的存储的第二校正信息;以及
处理器,被配置为控制所述系统以向回放设备提供所述第一校正信息和所述第二校正信息,所述第一校正信息用于在渲染由所述第一相机捕获的图像内容时使用,所述第二校正信息用于在渲染由所述第二相机捕获的图像内容时使用。
15.如权利要求14所述的系统,其中所述第一立体相机对对应于第一方向;以及
其中所述处理器还被配置为控制所述系统以发送包括从由所述第一相机和第二相机捕获的图像内容生成的编码图像的立体内容流。
16.如权利要求15所述的系统,其中所述处理器还被配置为向所述回放设备发送要在渲染图像内容时使用的环境网格模型。
17.如权利要求16所述的系统,
其中所述第一立体相机对的所述第一相机捕获左眼图像,所述第一立体相机对的所述第二相机捕获右眼图像;
其中所述第一校正信息包括基于所述第一立体相机对的所述第一相机的第一透镜的一个或多个光学特性的测量而生成的信息;以及
其中所述第二校正网格包括基于所述第一立体相机对的所述第二相机的第二透镜的一个或多个光学特性的测量而生成的信息。
18.如权利要求17所述的系统,其中所述处理器还被配置为向所述回放设备发送第一UV图,所述第一UV图被用于将由所述第一立体相机对捕获的图像的部分映射到所述环境网格模型的一部分,作为图像渲染操作的部分。
19.如权利要求14所述的系统,其中所述处理器还被配置为控制所述系统以向回放设备提供第三校正网格信息和第四校正网格信息,所述第三校正网格信息用于在渲染由第二立体相机对的第一相机捕获的图像内容时使用,所述第四校正网格信息用于在渲染由第二立体相机对的第二相机捕获的图像内容时使用。
20.如权利要求19所述的系统,其中所述第一立体相机对和第二立体相机对对应于向前观看方向,但是对应于正在捕获内容用于流传输的区域或事件位置处的不同位置。
21.如权利要求19所述的系统,其中所述处理器还被配置为当由所述第二立体相机对捕获的内容而不是来自所述第一立体相机对的内容被流传输到回放设备时,向回放设备指示所述第三校正网格信息和第四校正网格信息应当被使用。
22.如权利要求21所述的系统,其中所述处理器被配置为向回放设备指示所述第三校正网格信息和第四校正网格信息应当响应于所述系统检测到:i)从流传输来自所述第一立体相机对的内容到流传输来自所述第二立体对的内容的网络控制的切换,或ii)从接收包括来自所述第一立体相机对的内容的第一内容流到接收包括来自第二立体相机对的编码内容的第二内容流的用户控制改变。
23.如权利要求22所述的系统,其中所述存储器还包括用于第三立体相机对的第一相机的存储的第五网格校正信息和用于第三立体相机对的第二相机的存储的第六校正网格信息;以及
其中所述处理器还被配置为控制系统以将所述第五校正网格信息和第六校正网格信息提供给回放设备,所述第五校正网格信息用于在渲染由所述第三立体相机对的所述第一相机捕获的图像内容时使用,所述第六校正网格信息用于在渲染由所述第三立体相机对的所述第二相机捕获的图像内容时使用。
24.一种内容交付系统,包括:
存储器,包括用于第一立体相机对的第一相机的存储的第一校正信息和用于第一立体相机对的第二相机的存储的第二校正信息;以及
流控制器,被配置为向回放设备提供所述第一校正信息和所述第二校正信息,所述第一校正信息用于在渲染由所述第一相机捕获的图像内容时使用,所述第二校正信息用于在渲染由所述第二相机捕获的图像内容时使用。
25.一种包括处理器可执行指令的非瞬时性计算机可读介质,所述指令当由处理器执行时,控制内容交付系统以:
在存储器中存储用于第一立体相机对的第一相机的第一校正信息;
在存储器中存储用于第一立体相机对的第二相机的第二校正信息;以及
向回放设备提供所述第一校正信息和所述第二校正信息,所述第一校正信息用于在渲染由所述第一相机捕获的图像内容时使用,所述第二校正信息用于在渲染由所述第二相机捕获的图像内容时使用。
26.一种内容回放方法,包括:
接收对应于第一相机的第一校正信息;
接收包括由所述第一相机捕获的图像内容的第一编码图像;
解码第一编码图像以生成第一解码图像;以及
使用第一校正信息、第一解码图像和环境网格模型来执行第一渲染操作,以生成用于显示的第一图像。
27.如权利要求26所述的内容回放,还包括:
接收对应于第二相机的第二校正信息;
接收包括由所述第二相机捕获的图像内容的第二编码图像;
解码第二编码图像以生成第二解码图像;以及
使用第二校正信息、第二解码图像和环境网格模型来执行第二渲染操作,以生成用于显示的第二图像。
28.如权利要求27所述的内容回放方法,其中第一相机和第二相机是第一立体相机对的一部分,并且其中第一编码图像是左眼图像以及第二编码图像是右眼图像。
29.如权利要求28所述的内容回放方法,其中所述第一渲染操作和第二渲染操作还根据第一UV图的变化而变化来执行,所述第一校正信息提供关于当执行所述第一渲染操作以补偿由所述第一相机的透镜引入到第一图像中的失真时,要对所述第一UV图中的节点位置做出的校正的信息。
30.如权利要求29所述的内容回放方法,其中所述第一校正信息包括识别第一UV图中的节点、要应用于所述节点的U偏移和要应用于所述节点的V偏移的信息。
31.如权利要求29所述的内容回放方法,其中所述第二校正信息提供关于当执行所述第二渲染操作以补偿由所述第二相机的透镜引入到第二图像中的失真时,要对所述第一UV图中的节点位置做出的校正的信息。
32.如权利要求31所述的内容回放方法,还包括:
当作为所述第一渲染操作的一部分将所述第一图像的部分应用于所述环境网格模型的表面时,使用第一遮罩来确定所述第一图像的部分如何与对应于不同视野的第一图像的部分组合,作为所述第一渲染操作的一部分。
33.如权利要求32所述的内容回放方法,其中对应于不同视野的第一图像的所述部分对应于天空或地面视野。
34.如权利要求33所述的内容回放方法,还包括:
当作为所述第二渲染操作的一部分将所述第二图像的部分应用于所述环境网格模型的表面时,使用第一遮罩来确定所述第二图像的部分如何与对应于不同视野的第二图像的部分组合,作为所述第二渲染操作的一部分。
35.如权利要求33所述的内容回放方法,其中所述第一图像是对应于向前视野的左眼图像,并且其中所述对应于不同视野的第一图像是由对应于与所述向前视野相邻的侧视野的第三相机捕获的左眼图像。
36.如权利要求35所述的内容回放方法,其中所述第二图像是对应于向前视野的右眼图像,并且其中所述对应于不同视野的第二图像是由对应于与所述向前视野相邻的侧视野的第四相机捕获的右眼图像。
37.如权利要求26所述的内容回放方法,还包括:
接收对应于多个不同相机的附加网格校正信息;以及
存储所述附加网格校正信息。
38.如权利要求37所述的内容回放方法,还包括:
当渲染对应于所述第四相机的图像时,使用对应于第四相机的网格校正信息,所述第四相机是所述多个不同相机中的一个。
39.如权利要求38所述的内容回放方法,还包括:
基于在渲染操作中正在使用哪个相机捕获的图像内容或者来自服务器的指示当渲染对应于所接收的内容流的图像时应当使用哪个网格校正信息的指示,确定当执行渲染操作时要使用哪个网格校正信息。
40.一种内容回放设备,包括:
接口,被配置为:
接收对应于第一相机的第一校正信息;以及
接收包括由所述第一相机捕获的图像内容的第一编码图像;
解码器,被配置为解码第一编码图像以生成第一解码图像;以及
渲染引擎,被配置为使用第一校正信息、第一解码图像和环境网格模型来执行第一渲染操作,以生成用于显示的第一图像。
41.如权利要求40所述的内容回放设备,
其中所述接口还被配置为:
接收对应于第二相机的第二校正信息;以及
接收包括由所述第二相机捕获的图像内容的第二编码图像;
其中所述解码器还被配置为解码第二编码图像以生成第二解码图像;以及
其中所述渲染引擎还被配置为使用第二校正信息、第二解码图像和环境网格模型来执行第二渲染操作,以生成用于显示的第二图像。
42.如权利要求41所述的内容回放设备,其中第一相机和第二相机是第一立体相机对的一部分,并且其中第一编码图像是左眼图像以及第二编码图像是右眼图像。
43.如权利要求42所述的内容回放设备,其中所述渲染引擎还被配置为使用第一UV图来执行第一渲染操作和第二渲染操作,所述第一校正信息提供关于当执行所述第一渲染操作以补偿由所述第一相机的透镜引入到第一图像中的失真时,要对所述第一UV图中的节点位置做出的校正的信息。
44.如权利要求43所述的内容回放设备,其中所述第一校正信息包括标识第一UV图中的节点、要应用于所述节点的U偏移和要应用于所述节点的V偏移的信息。
45.如权利要求43所述的内容回放设备,其中所述第二校正信息提供关于当执行所述第二渲染操作以补偿由所述第二相机的透镜引入到第二图像中的失真时,要对所述第一UV图中的节点位置做出的校正的信息。
46.如权利要求45所述的内容回放设备,
其中所述渲染引擎还被配置为当作为所述第一渲染操作的一部分将所述第一图像的部分应用于所述环境网格模型的表面时,使用第一遮罩来确定所述第一图像的部分如何与对应于不同视野的第一图像的部分组合,作为所述第一渲染操作的一部分。
47.如权利要求46所述的内容回放设备,其中对应于不同视野的第一图像的所述部分对应于天空或地面视野。
48.如权利要求47所述的内容回放设备,还包括:
其中所述渲染引擎还被配置为当作为所述第二渲染操作的一部分将所述第二图像的部分应用于所述环境网格模型的表面时,使用第一遮罩来确定所述第二图像的部分如何与对应于不同视野的第二图像的部分组合,作为所述第二渲染操作的一部分。
49.如权利要求47所述的内容回放设备,其中所述第一图像是对应于向前视野的左眼图像,并且其中所述对应于不同视野的第一图像是由对应于与所述向前视野相邻的侧视野的第三相机捕获的左眼图像。
50.如权利要求49所述的内容回放设备,其中所述第二图像是对应于向前视野的右眼图像,并且其中所述对应于不同视野的第二图像是由对应于与所述向前视野相邻的侧视野的第四相机捕获的右眼图像。
51.如权利要求40所述的内容回放设备,
其中所述接口还被配置为接收对应于多个不同相机的附加网格校正信息;以及
其中所述回放设备还包括用于存储接收到的附加网格校正信息的存储器。
52.如权利要求51所述的内容回放设备,还包括:
其中所述渲染引擎还被配置为当渲染对应于所述第四相机的图像时,使用对应于第四相机的网格校正信息,所述第四相机是所述多个不同相机中的一个。
53.如权利要求52所述的内容回放设备,还包括:
确定模块,被配置为基于在渲染操作中正在使用哪个相机捕获的图像内容或者来自服务器的指示当渲染对应于接收到的内容流的图像时应当使用哪个网格校正信息的指示,确定当执行渲染操作时要使用哪个网格校正信息。
54.一种包括处理器可执行指令的非瞬时性计算机可读介质,所述指令当由处理器执行时,控制回放系统,以:
接收对应于第一相机的第一校正信息;
接收包括由所述第一相机捕获的图像内容的第一编码图像;
解码第一编码图像以生成第一解码图像;以及
使用第一校正信息、第一解码图像和环境网格模型来执行第一渲染操作,以生成用于显示的第一图像。
55.一种内容回放设备,包括:
至少一个处理器,被配置为:
接收对应于第一相机的第一校正信息;
接收包括由所述第一相机捕获的图像内容的第一编码图像;
解码第一编码图像以生成第一解码图像;以及
使用第一校正信息、第一解码图像和环境网格模型来执行第一渲染操作,以生成用于显示的第一图像;以及
存储器,耦合到所述至少一个处理器。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201462045004P | 2014-09-03 | 2014-09-03 | |
| US62/045,004 | 2014-09-03 | ||
| PCT/US2015/048439 WO2016037014A1 (en) | 2014-09-03 | 2015-09-03 | Methods and apparatus for capturing, streaming and/or playing back content |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN106605407A true CN106605407A (zh) | 2017-04-26 |
Family
ID=55404093
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201580047315.4A Pending CN106605407A (zh) | 2014-09-03 | 2015-09-03 | 用于捕获、流传输和/或回放内容的方法和装置 |
Country Status (6)
| Country | Link |
|---|---|
| US (5) | US11122251B2 (zh) |
| EP (3) | EP3189657B1 (zh) |
| JP (1) | JP2017535985A (zh) |
| KR (2) | KR102441437B1 (zh) |
| CN (1) | CN106605407A (zh) |
| WO (1) | WO2016037014A1 (zh) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110062152A (zh) * | 2018-01-18 | 2019-07-26 | 钰立微电子股份有限公司 | 校正相机的系统 |
| CN110612720A (zh) * | 2017-05-18 | 2019-12-24 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
| CN111194550A (zh) * | 2017-05-06 | 2020-05-22 | 北京达佳互联信息技术有限公司 | 处理3d视频内容 |
| CN112470483A (zh) * | 2018-05-30 | 2021-03-09 | 索尼互动娱乐有限责任公司 | 多服务器云虚拟现实(vr)流式传输 |
| CN114073066A (zh) * | 2019-07-03 | 2022-02-18 | 高途乐公司 | 用于经捕获图像数据的预处理和稳定的设备和方法 |
Families Citing this family (86)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10298834B2 (en) | 2006-12-01 | 2019-05-21 | Google Llc | Video refocusing |
| CN106464785A (zh) | 2014-05-20 | 2017-02-22 | 奈克斯特Vr股份有限公司 | 包括或用于一个或多个照相机的装置和方法 |
| KR102281690B1 (ko) * | 2014-12-01 | 2021-07-26 | 삼성전자주식회사 | 3 차원 이미지 생성 방법 및 장치 |
| WO2016092698A1 (ja) * | 2014-12-12 | 2016-06-16 | キヤノン株式会社 | 画像処理装置、画像処理方法およびプログラム |
| US10531071B2 (en) | 2015-01-21 | 2020-01-07 | Nextvr Inc. | Methods and apparatus for environmental measurements and/or stereoscopic image capture |
| US9832449B2 (en) | 2015-01-30 | 2017-11-28 | Nextvr Inc. | Methods and apparatus for controlling a viewing position |
| US10362290B2 (en) | 2015-02-17 | 2019-07-23 | Nextvr Inc. | Methods and apparatus for processing content based on viewing information and/or communicating content |
| US20160241838A1 (en) | 2015-02-17 | 2016-08-18 | Nextvr Inc. | Methods and apparatus for generating and using reduced resolution images and/or communicating such images to a playback or content distribution device |
| US9865055B2 (en) | 2015-02-24 | 2018-01-09 | Nextvr Inc. | Calibration for immersive content systems |
| US9894350B2 (en) | 2015-02-24 | 2018-02-13 | Nextvr Inc. | Methods and apparatus related to capturing and/or rendering images |
| CN107431801A (zh) | 2015-03-01 | 2017-12-01 | 奈克斯特Vr股份有限公司 | 支持内容生成、发送和/或重放的方法和设备 |
| US10412373B2 (en) | 2015-04-15 | 2019-09-10 | Google Llc | Image capture for virtual reality displays |
| US10275898B1 (en) | 2015-04-15 | 2019-04-30 | Google Llc | Wedge-based light-field video capture |
| US10419737B2 (en) | 2015-04-15 | 2019-09-17 | Google Llc | Data structures and delivery methods for expediting virtual reality playback |
| US10444931B2 (en) | 2017-05-09 | 2019-10-15 | Google Llc | Vantage generation and interactive playback |
| US10546424B2 (en) | 2015-04-15 | 2020-01-28 | Google Llc | Layered content delivery for virtual and augmented reality experiences |
| US10469873B2 (en) | 2015-04-15 | 2019-11-05 | Google Llc | Encoding and decoding virtual reality video |
| US10540818B2 (en) | 2015-04-15 | 2020-01-21 | Google Llc | Stereo image generation and interactive playback |
| US10341632B2 (en) | 2015-04-15 | 2019-07-02 | Google Llc. | Spatial random access enabled video system with a three-dimensional viewing volume |
| US10440407B2 (en) * | 2017-05-09 | 2019-10-08 | Google Llc | Adaptive control for immersive experience delivery |
| US10567464B2 (en) | 2015-04-15 | 2020-02-18 | Google Llc | Video compression with adaptive view-dependent lighting removal |
| US9930315B2 (en) | 2015-04-29 | 2018-03-27 | Lucid VR, Inc. | Stereoscopic 3D camera for virtual reality experience |
| US20170006219A1 (en) | 2015-06-30 | 2017-01-05 | Gopro, Inc. | Image stitching in a multi-camera array |
| US9836845B2 (en) | 2015-08-25 | 2017-12-05 | Nextvr Inc. | Methods and apparatus for detecting objects in proximity to a viewer and presenting visual representations of objects in a simulated environment |
| US11217009B2 (en) | 2015-11-30 | 2022-01-04 | Photopotech LLC | Methods for collecting and processing image information to produce digital assets |
| US10706621B2 (en) * | 2015-11-30 | 2020-07-07 | Photopotech LLC | Systems and methods for processing image information |
| US10306156B2 (en) | 2015-11-30 | 2019-05-28 | Photopotech LLC | Image-capture device |
| US10114467B2 (en) | 2015-11-30 | 2018-10-30 | Photopotech LLC | Systems and methods for processing image information |
| US10778877B2 (en) | 2015-11-30 | 2020-09-15 | Photopotech LLC | Image-capture device |
| US9992502B2 (en) | 2016-01-29 | 2018-06-05 | Gopro, Inc. | Apparatus and methods for video compression using multi-resolution scalable coding |
| US10291910B2 (en) | 2016-02-12 | 2019-05-14 | Gopro, Inc. | Systems and methods for spatially adaptive video encoding |
| US10484621B2 (en) | 2016-02-29 | 2019-11-19 | Gopro, Inc. | Systems and methods for compressing video content |
| WO2017164798A1 (en) * | 2016-03-21 | 2017-09-28 | Voysys Ab | Method, device and program storage unit for live broadcasting of spherical video |
| US9990775B2 (en) * | 2016-03-31 | 2018-06-05 | Verizon Patent And Licensing Inc. | Methods and systems for point-to-multipoint delivery of independently-controllable interactive media content |
| US10057562B2 (en) | 2016-04-06 | 2018-08-21 | Facebook, Inc. | Generating intermediate views using optical flow |
| US10645362B2 (en) * | 2016-04-11 | 2020-05-05 | Gopro, Inc. | Systems, methods and apparatus for compressing video content |
| US10474745B1 (en) | 2016-04-27 | 2019-11-12 | Google Llc | Systems and methods for a knowledge-based form creation platform |
| WO2017187821A1 (ja) * | 2016-04-28 | 2017-11-02 | ソニー株式会社 | 情報処理装置及び情報処理方法、並びに3次元画像データの伝送方法 |
| WO2017191978A1 (en) | 2016-05-02 | 2017-11-09 | Samsung Electronics Co., Ltd. | Method, apparatus, and recording medium for processing image |
| CN109155080A (zh) * | 2016-05-02 | 2019-01-04 | 三星电子株式会社 | 用于处理图像的方法、装置和记录介质 |
| US10390007B1 (en) * | 2016-05-08 | 2019-08-20 | Scott Zhihao Chen | Method and system for panoramic 3D video capture and display |
| US11039181B1 (en) | 2016-05-09 | 2021-06-15 | Google Llc | Method and apparatus for secure video manifest/playlist generation and playback |
| US10595054B2 (en) | 2016-05-10 | 2020-03-17 | Google Llc | Method and apparatus for a virtual online video channel |
| US10771824B1 (en) | 2016-05-10 | 2020-09-08 | Google Llc | System for managing video playback using a server generated manifest/playlist |
| US10750248B1 (en) | 2016-05-10 | 2020-08-18 | Google Llc | Method and apparatus for server-side content delivery network switching |
| US10750216B1 (en) | 2016-05-10 | 2020-08-18 | Google Llc | Method and apparatus for providing peer-to-peer content delivery |
| US10785508B2 (en) | 2016-05-10 | 2020-09-22 | Google Llc | System for measuring video playback events using a server generated manifest/playlist |
| US11069378B1 (en) | 2016-05-10 | 2021-07-20 | Google Llc | Method and apparatus for frame accurate high resolution video editing in cloud using live video streams |
| CN106993126B (zh) | 2016-05-11 | 2023-04-07 | 深圳市圆周率软件科技有限责任公司 | 一种将镜头图像展开为全景图像的方法及装置 |
| US11032588B2 (en) * | 2016-05-16 | 2021-06-08 | Google Llc | Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback |
| US10163029B2 (en) | 2016-05-20 | 2018-12-25 | Gopro, Inc. | On-camera image processing based on image luminance data |
| US10462466B2 (en) | 2016-06-20 | 2019-10-29 | Gopro, Inc. | Systems and methods for spatially selective video coding |
| US10979607B2 (en) | 2016-07-20 | 2021-04-13 | Apple Inc. | Camera apparatus and methods |
| US10200672B2 (en) | 2016-08-17 | 2019-02-05 | Nextvr Inc. | Methods and apparatus for capturing images of an environment |
| US10650590B1 (en) * | 2016-09-07 | 2020-05-12 | Fastvdo Llc | Method and system for fully immersive virtual reality |
| CN109890472A (zh) * | 2016-11-14 | 2019-06-14 | 华为技术有限公司 | 一种图像渲染的方法、装置及vr设备 |
| GB2556910A (en) * | 2016-11-25 | 2018-06-13 | Nokia Technologies Oy | Virtual reality display |
| US10679361B2 (en) | 2016-12-05 | 2020-06-09 | Google Llc | Multi-view rotoscope contour propagation |
| US10198862B2 (en) | 2017-01-23 | 2019-02-05 | Gopro, Inc. | Methods and apparatus for providing rotated spherical viewpoints |
| US20180225537A1 (en) * | 2017-02-08 | 2018-08-09 | Nextvr Inc. | Methods and apparatus relating to camera switching and/or making a decision to switch between cameras |
| JP6378794B1 (ja) * | 2017-02-23 | 2018-08-22 | 株式会社 ディー・エヌ・エー | 画像処理装置、画像処理プログラム、及び、画像処理方法 |
| US10567733B2 (en) | 2017-03-06 | 2020-02-18 | Nextvr Inc. | Methods and apparatus for communicating and/or using frames including a captured image and/or including additional image content |
| US11252391B2 (en) | 2017-03-06 | 2022-02-15 | Nevermind Capital Llc | Methods and apparatus for packing images into a frame and/or including additional content or graphics |
| US10979663B2 (en) * | 2017-03-30 | 2021-04-13 | Yerba Buena Vr, Inc. | Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos |
| US10594945B2 (en) | 2017-04-03 | 2020-03-17 | Google Llc | Generating dolly zoom effect using light field image data |
| US10742964B2 (en) | 2017-04-04 | 2020-08-11 | Nextvr Inc. | Methods and apparatus for displaying images |
| JP6852536B2 (ja) * | 2017-04-17 | 2021-03-31 | 株式会社リコー | 情報処理装置、画像処理方法、プログラム |
| US10474227B2 (en) | 2017-05-09 | 2019-11-12 | Google Llc | Generation of virtual reality with 6 degrees of freedom from limited viewer data |
| CN108882018B (zh) * | 2017-05-09 | 2020-10-20 | 阿里巴巴(中国)有限公司 | 虚拟场景中的视频播放、数据提供方法、客户端及服务器 |
| US10354399B2 (en) | 2017-05-25 | 2019-07-16 | Google Llc | Multi-view back-projection to a light-field |
| JP2018205988A (ja) * | 2017-06-01 | 2018-12-27 | 株式会社リコー | 画像処理装置、画像処理方法及びプログラム |
| WO2018227098A1 (en) * | 2017-06-09 | 2018-12-13 | Vid Scale, Inc. | External camera assisted virtual reality |
| JP6721631B2 (ja) * | 2017-07-07 | 2020-07-15 | ノキア テクノロジーズ オーユー | ビデオの符号化・復号の方法、装置、およびコンピュータプログラムプロダクト |
| US10965862B2 (en) | 2018-01-18 | 2021-03-30 | Google Llc | Multi-camera navigation interface |
| US10735709B2 (en) | 2018-04-04 | 2020-08-04 | Nextvr Inc. | Methods and apparatus for capturing, processing and/or communicating images |
| WO2019245303A1 (en) * | 2018-06-22 | 2019-12-26 | Lg Electronics Inc. | Method for transmitting 360-degree video, method for receiving 360-degree video, apparatus for transmitting 360-degree video, and apparatus for receiving 360-degree video |
| GB2582251B (en) * | 2019-01-31 | 2023-04-19 | Wacey Adam | Volumetric communication system |
| CN111629242B (zh) * | 2020-05-27 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法、装置、系统、设备及存储介质 |
| US11734789B2 (en) | 2020-06-02 | 2023-08-22 | Immersive Tech, Inc. | Systems and methods for image distortion correction |
| WO2021252532A1 (en) * | 2020-06-09 | 2021-12-16 | Limonox Projects Llc | Lenticular image generation |
| CN116097652B (zh) * | 2020-08-03 | 2024-07-19 | 杜比实验室特许公司 | 基于视口变化的双流动态gop访问 |
| EP4322525A4 (en) * | 2021-07-22 | 2024-09-18 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE FOR PROVIDING AUGMENTED REALITY OR VIRTUAL REALITY, AND METHOD OF OPERATING ELECTRONIC DEVICE |
| CN118251168A (zh) * | 2021-11-09 | 2024-06-25 | 爱尔康公司 | 具有多个固定放大倍数的立体成像设备 |
| US20230252714A1 (en) * | 2022-02-10 | 2023-08-10 | Disney Enterprises, Inc. | Shape and appearance reconstruction with deep geometric refinement |
| US20240046577A1 (en) | 2022-08-05 | 2024-02-08 | Samsung Electronics Co., Ltd. | Video See-Through Augmented Reality |
| KR20240052425A (ko) | 2022-10-14 | 2024-04-23 | 한국전자통신연구원 | 3차원 메쉬의 텍스처맵 생성 방법 및 장치 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040233274A1 (en) * | 2000-07-07 | 2004-11-25 | Microsoft Corporation | Panoramic video |
| CN1765133A (zh) * | 2004-02-20 | 2006-04-26 | 三菱电机株式会社 | 三维电视系统和提供三维电视的方法 |
| US20130257857A1 (en) * | 2012-03-30 | 2013-10-03 | Namco Bandai Games Inc. | Stereoscopic device and image generation method |
| US20140176535A1 (en) * | 2012-12-26 | 2014-06-26 | Scott A. Krig | Apparatus for enhancement of 3-d images using depth mapping and light source synthesis |
Family Cites Families (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3286306B2 (ja) * | 1998-07-31 | 2002-05-27 | 松下電器産業株式会社 | 画像生成装置、画像生成方法 |
| JP2002203254A (ja) * | 2000-08-30 | 2002-07-19 | Usc Corp | 曲面像変換方法及びこの曲面像変換方法を記録した記録媒体 |
| US8401336B2 (en) * | 2001-05-04 | 2013-03-19 | Legend3D, Inc. | System and method for rapid image sequence depth enhancement with augmented computer-generated elements |
| US7221809B2 (en) * | 2001-12-17 | 2007-05-22 | Genex Technologies, Inc. | Face recognition system and method |
| JP4077755B2 (ja) * | 2003-04-07 | 2008-04-23 | 本田技研工業株式会社 | 位置検出方法、その装置及びそのプログラム、並びに、較正情報生成方法 |
| US20100002070A1 (en) * | 2004-04-30 | 2010-01-07 | Grandeye Ltd. | Method and System of Simultaneously Displaying Multiple Views for Video Surveillance |
| JP4095491B2 (ja) | 2003-05-19 | 2008-06-04 | 本田技研工業株式会社 | 距離測定装置、距離測定方法、及び距離測定プログラム |
| US20120182403A1 (en) * | 2004-09-30 | 2012-07-19 | Eric Belk Lange | Stereoscopic imaging |
| WO2006062325A1 (en) * | 2004-12-06 | 2006-06-15 | Electronics And Telecommunications Research Institute | Apparatus for correcting image distortion of stereo-camera and method thereof |
| GB2436921A (en) * | 2006-04-06 | 2007-10-10 | British Broadcasting Corp | Methods and apparatus providing central, primary displays with surrounding display regions |
| EP2033164B1 (en) * | 2006-06-23 | 2015-10-07 | Imax Corporation | Methods and systems for converting 2d motion pictures for stereoscopic 3d exhibition |
| JP4858263B2 (ja) * | 2007-03-28 | 2012-01-18 | 株式会社日立製作所 | 3次元計測装置 |
| JP2009139246A (ja) * | 2007-12-07 | 2009-06-25 | Honda Motor Co Ltd | 画像処理装置、画像処理方法、画像処理プログラムおよび位置検出装置並びにそれを備えた移動体 |
| US8564644B2 (en) * | 2008-01-18 | 2013-10-22 | Sony Corporation | Method and apparatus for displaying and editing 3D imagery |
| JP5233926B2 (ja) | 2009-09-10 | 2013-07-10 | 大日本印刷株式会社 | 魚眼監視システム |
| KR101699957B1 (ko) * | 2009-11-18 | 2017-01-25 | 톰슨 라이센싱 | 유연한 디스패리티 선택이 가능한 3차원 컨텐트 전달 방법 및 시스템 |
| US9973742B2 (en) * | 2010-09-17 | 2018-05-15 | Adobe Systems Incorporated | Methods and apparatus for preparation of casual stereoscopic video |
| US9122053B2 (en) * | 2010-10-15 | 2015-09-01 | Microsoft Technology Licensing, Llc | Realistic occlusion for a head mounted augmented reality display |
| US20120154519A1 (en) * | 2010-12-17 | 2012-06-21 | Microsoft Corporation | Chassis assembly for 360-degree stereoscopic video capture |
| US8432435B2 (en) * | 2011-08-10 | 2013-04-30 | Seiko Epson Corporation | Ray image modeling for fast catadioptric light field rendering |
| JP5790345B2 (ja) | 2011-09-07 | 2015-10-07 | 株式会社リコー | 画像処理装置、画像処理方法、プログラムおよび画像処理システム |
| US9113043B1 (en) * | 2011-10-24 | 2015-08-18 | Disney Enterprises, Inc. | Multi-perspective stereoscopy from light fields |
| US8736603B2 (en) * | 2011-11-02 | 2014-05-27 | Visual Technology Services Limited | Compression of texture rendered wire mesh models |
| US9846960B2 (en) * | 2012-05-31 | 2017-12-19 | Microsoft Technology Licensing, Llc | Automated camera array calibration |
| JP6044328B2 (ja) * | 2012-12-26 | 2016-12-14 | 株式会社リコー | 画像処理システム、画像処理方法およびプログラム |
| JP5843751B2 (ja) * | 2012-12-27 | 2016-01-13 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、情報処理システム、および情報処理方法 |
| US9451162B2 (en) * | 2013-08-21 | 2016-09-20 | Jaunt Inc. | Camera array including camera modules |
| US9396585B2 (en) * | 2013-12-31 | 2016-07-19 | Nvidia Corporation | Generating indirection maps for texture space effects |
| US20160249021A1 (en) * | 2015-02-23 | 2016-08-25 | Industrial Technology Group, LLC | 3d asset inspection |
-
2015
- 2015-09-03 US US14/845,208 patent/US11122251B2/en active Active
- 2015-09-03 EP EP15837993.3A patent/EP3189657B1/en active Active
- 2015-09-03 CN CN201580047315.4A patent/CN106605407A/zh active Pending
- 2015-09-03 WO PCT/US2015/048439 patent/WO2016037014A1/en not_active Ceased
- 2015-09-03 US US14/845,202 patent/US10397543B2/en active Active
- 2015-09-03 EP EP22191201.7A patent/EP4113991A1/en not_active Withdrawn
- 2015-09-03 JP JP2017512770A patent/JP2017535985A/ja not_active Withdrawn
- 2015-09-03 KR KR1020177008939A patent/KR102441437B1/ko active Active
- 2015-09-03 KR KR1020227030554A patent/KR102632421B1/ko active Active
- 2015-09-03 EP EP24221158.9A patent/EP4503602A3/en active Pending
-
2021
- 2021-09-13 US US17/473,639 patent/US12081723B2/en active Active
-
2024
- 2024-07-26 US US18/786,366 patent/US20240388685A1/en active Pending
-
2025
- 2025-07-15 US US19/270,251 patent/US20250350713A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040233274A1 (en) * | 2000-07-07 | 2004-11-25 | Microsoft Corporation | Panoramic video |
| CN1765133A (zh) * | 2004-02-20 | 2006-04-26 | 三菱电机株式会社 | 三维电视系统和提供三维电视的方法 |
| US20130257857A1 (en) * | 2012-03-30 | 2013-10-03 | Namco Bandai Games Inc. | Stereoscopic device and image generation method |
| US20140176535A1 (en) * | 2012-12-26 | 2014-06-26 | Scott A. Krig | Apparatus for enhancement of 3-d images using depth mapping and light source synthesis |
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111194550A (zh) * | 2017-05-06 | 2020-05-22 | 北京达佳互联信息技术有限公司 | 处理3d视频内容 |
| CN111194550B (zh) * | 2017-05-06 | 2021-06-08 | 北京达佳互联信息技术有限公司 | 处理3d视频内容 |
| US11245849B2 (en) | 2017-05-18 | 2022-02-08 | Sony Corporation | Information processing apparatus and information processing method |
| CN110612720A (zh) * | 2017-05-18 | 2019-12-24 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
| CN110062152A (zh) * | 2018-01-18 | 2019-07-26 | 钰立微电子股份有限公司 | 校正相机的系统 |
| CN110062152B (zh) * | 2018-01-18 | 2021-04-06 | 钰立微电子股份有限公司 | 校正相机的系统 |
| US11050998B2 (en) | 2018-01-18 | 2021-06-29 | Eys3D Microelectronics, Co. | System of camera calibration |
| CN112470483A (zh) * | 2018-05-30 | 2021-03-09 | 索尼互动娱乐有限责任公司 | 多服务器云虚拟现实(vr)流式传输 |
| CN112470483B (zh) * | 2018-05-30 | 2023-02-03 | 索尼互动娱乐有限责任公司 | 多服务器云虚拟现实(vr)流式传输 |
| CN114073066A (zh) * | 2019-07-03 | 2022-02-18 | 高途乐公司 | 用于经捕获图像数据的预处理和稳定的设备和方法 |
| US11582387B2 (en) | 2019-07-03 | 2023-02-14 | Gopro, Inc. | Apparatus and methods for pre-processing and stabilization of captured image data |
| US11949987B2 (en) | 2019-07-03 | 2024-04-02 | Gopro, Inc. | Apparatus and methods for pre-processing and stabilization of captured image data |
| US12262119B2 (en) | 2019-07-03 | 2025-03-25 | Gopro, Inc. | Apparatus and methods for pre-processing and stabilization of captured image data |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4113991A1 (en) | 2023-01-04 |
| EP3189657A4 (en) | 2018-04-11 |
| KR20220127939A (ko) | 2022-09-20 |
| US20160065946A1 (en) | 2016-03-03 |
| KR102441437B1 (ko) | 2022-09-08 |
| US11122251B2 (en) | 2021-09-14 |
| US12081723B2 (en) | 2024-09-03 |
| US20240388685A1 (en) | 2024-11-21 |
| US20210409672A1 (en) | 2021-12-30 |
| EP3189657B1 (en) | 2022-11-23 |
| EP4503602A2 (en) | 2025-02-05 |
| KR20170047385A (ko) | 2017-05-04 |
| CA2961175A1 (en) | 2016-03-10 |
| EP3189657A1 (en) | 2017-07-12 |
| JP2017535985A (ja) | 2017-11-30 |
| WO2016037014A1 (en) | 2016-03-10 |
| US10397543B2 (en) | 2019-08-27 |
| KR102632421B1 (ko) | 2024-02-01 |
| EP4503602A3 (en) | 2025-04-16 |
| US20160065947A1 (en) | 2016-03-03 |
| US20250350713A1 (en) | 2025-11-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12081723B2 (en) | Methods and apparatus for receiving and/or playing back content | |
| US11381801B2 (en) | Methods and apparatus for receiving and/or using reduced resolution images | |
| KR101885979B1 (ko) | 스테레오 뷰잉 | |
| CN106416239A (zh) | 用于交付内容和/或回放内容的方法和装置 | |
| CA2961175C (en) | Methods and apparatus for capturing, streaming and/or playing back content |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170426 |
|
| WD01 | Invention patent application deemed withdrawn after publication |