CN106688231A - 立体图像记录和回放 - Google Patents

立体图像记录和回放 Download PDF

Info

Publication number
CN106688231A
CN106688231A CN201480081807.0A CN201480081807A CN106688231A CN 106688231 A CN106688231 A CN 106688231A CN 201480081807 A CN201480081807 A CN 201480081807A CN 106688231 A CN106688231 A CN 106688231A
Authority
CN
China
Prior art keywords
rendering layer
rendering
pixel
layer
scene
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
Application number
CN201480081807.0A
Other languages
English (en)
Inventor
M·涅梅拉
K·格隆霍姆
A·鲍德温
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN106688231A publication Critical patent/CN106688231A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/257Colour aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/239Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/383Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0081Depth or disparity estimation from stereoscopic image signals

Abstract

本发明涉及:形成场景模型并确定第一组场景点,第一组场景点从渲染视点可见;确定第二组场景点,第二组场景点至少部分地被从渲染视点观看的第一组场景点遮蔽;使用第一组场景点形成第一渲染层,并且使用第二组场景点形成第二渲染层;以及提供用于渲染立体图像的第一渲染层和第二渲染层。本发明还涉及接收包括像素的第一渲染层和第二渲染层,第一渲染层包括对应于从渲染视点观看的场景的第一部分的像素,以及第二渲染层包括对应于从渲染视点观看的场景的第二部分的像素,其中场景的第二部分被从渲染视点观看的第一部分遮蔽;将第一渲染层的像素和第二渲染层的像素放置在渲染空间中;将深度值与像素相关联;以及使用所述像素和所述深度值渲染立体图像。

Description

立体图像记录和回放
背景技术
静止的图像和运动的图像的数字立体观看已经变得普遍,并且用于观看3D(三维)电影的设备更广泛地可用。剧院提供基于使用特殊眼镜观看电影的3D电影,该眼镜确保针对电影的每个帧的左眼和右眼的不同图像的观看。相同的方法已被带到具有3D能力的播放器和电视机的家庭使用。在实践中,电影由对同一场景的两个视图组成,一个用于左眼,一个用于右眼。这些视图是通过使用特殊的立体相机捕获电影而产生,该立体相机直接产生适合于立体观看的内容。当视图呈现给双眼时,人类视觉系统产生场景的3D视图。该技术具有观看区域(电影屏幕或电视)仅占据视场的一部分的缺点,并且因此3D视图的体验是有限的。
为了更逼真的体验,已产生了占据整个视场的更大区域的设备。存在可用的特殊立体观看护目镜,该立体观看护目镜旨在戴在头上,使得其覆盖眼睛并使用小屏幕和镜头布置来针对左右眼显示图片。这种技术还具有的优点是,与通常用于3D观看的相当大的电视机相比,其可以在小空间中使用,并且甚至在移动时使用。为了游戏的目的,存在与这样的立体眼镜兼容的游戏,并且能够产生人工游戏世界的立体观看所需的两个图像,从而产生游戏场景的内部模型的3D视图。从模型实时地渲染不同的图片,并且因此特别是如果游戏的场景模型是复杂的和非常详细的并且包含大量对象时,该方法需要计算功率。这种基于合成模型的方法不适用于真实世界的视频回放。
因此,存在对能够进行立体声记录和回放(即,捕获和观看诸如3D视频的3D图像)的备选解决方案的需求。
发明内容
现在已经发明了实现该方法的改进的方法和技术设备,通过该方法减轻了上述问题。本发明的各个方面包括方法、装置、服务器、渲染器、数据结构和包括存储在其中的计算机程序的计算机可读介质,其特征在于独立权利要求中所陈述的内容。本发明的各种实施例在从属权利要求中公开。
本发明涉及:形成场景模型并确定第一组场景点,第一组场景点从渲染视点可见;确定第二组场景点,第二组场景点至少部分地被从渲染视点观看的第一组场景点遮蔽;使用第一组场景点形成第一渲染层,以及使用第二组场景点形成第二渲染层;以及提供用于渲染立体图像的第一渲染层和第二渲染层。本发明还涉及接收包括像素的第一渲染层和第二渲染层,第一渲染层包括对应于从渲染视点观看的场景的第一部分的像素,以及第二渲染层包括对应于从渲染视点观看的场景的第二部分的像素,其中场景的第二部分被从渲染视点观看的第一部分遮蔽;将第一渲染层的像素和第二渲染层的像素放置在渲染空间中;将深度值与像素相关联;以及使用所述像素和所述深度值渲染立体图像。因此,第一渲染层包括像素,该像素表示从视点直接可见的场景的那些部分并且已经例如被第一相机捕获。第二渲染层和另外的渲染层包括表示被遮挡在一个或多个对象之后的场景的那些部分的像素。用于另外的渲染层的数据可以已经被其他相机捕获,其他被放置在与第一相机的位置不同的位置。
根据第一方面,提供了一种方法,包括:使用来自第一源图像的第一图像数据和来自第二源图像的第二图像数据形成场景模型,所述场景模型包括场景点,每个场景点在所述场景的坐标空间中具有位置;确定第一组场景点,所述第一组场景点从观看点可见,所述观看点在所述场景的所述坐标空间中具有位置;确定第二组场景点,所述第二组场景点至少部分地被从所述观看点观看的所述第一组场景点遮蔽;使用所述第一组场景点形成第一渲染层,并且使用所述第二组场景点形成第二渲染层,所述第一渲染层和所述第二渲染层包括像素;以及提供所述第一渲染层和所述第二渲染层用于渲染立体图像。
根据一个实施例,方法包括:确定第三组场景点,所述第三组场景点至少部分地被从所述观看点观看的所述第二组场景点遮蔽;使用所述第三组场景点形成第三渲染层,所述第三渲染层包括像素;以及提供所述第三渲染层用于渲染立体图像。根据一个实施例,所述第二渲染层是稀疏层,稀疏层包括对应于被所述第一组场景点至少部分遮蔽的场景点的有效像素。根据一个实施例,方法包括:在所述第二渲染层中形成虚拟像素,所述虚拟像素不对应于场景点;以及使用图像编码器将所述第二渲染层编码为数据结构。根据一个实施例,方法包括使用图像编码器将所述渲染层编码为一个或多个编码的数据结构。根据一个实施例,形成所述场景模型包括通过利用所述源图像的深度信息来确定所述场景点的三维位置。根据一个实施例,形成所述场景模型包括使用所述源图像的相机定位以及比较所述源图像的图像内容。根据一个实施例,方法包括将一个或多个所述渲染层形成为二维图像数据结构,所述图像数据结构包括渲染层像素。根据一个实施例,渲染层像素包括颜色值和诸如alpha值的透明度值。根据一个实施例,所述方法包括将所述渲染层的至少两个渲染层的数据形成为经整理的图像数据结构,所述经整理的图像数据结构包括至少两个段,每个段对应于相应的渲染层。
根据第二方面,提供了一种方法,包括:接收第一渲染层和第二渲染层,所述第一渲染层和所述第二渲染层包括像素,所述第一渲染层包括对应于从渲染视点观看的场景的第一部分的像素以及所述第二渲染层包括对应于从所述渲染视点观看的所述场景的第二部分的像素,其中所述场景的所述第二部分被从所述渲染视点观看的所述第一部分遮蔽;将所述第一渲染层的像素和所述第二渲染层的像素放置在渲染空间中;将深度值与所述像素相关联;以及使用所述像素和所述深度值渲染左眼图像和右眼图像。
根据一个实施例,所述第一渲染层和所述第二渲染层的所述像素包括颜色值,并且至少所述第一渲染层的像素包括透明度值(诸如,用于渲染至少所述第一渲染层的像素的透明度的alpha值)。根据一个实施例,方法包括确定待渲染的渲染层是否包括半透明像素,以及在所述确定指示渲染层包括半透明像素的情况下,在所述渲染层的渲染中启用alpha混合,否则在渲染所述渲染层中禁用alpha混合。根据一个实施例,方法包括:从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值;通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的颜色值。根据一个实施例,方法包括:从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值;以及通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的深度值,所述深度值指示从渲染视点的距离。根据一个实施例,方法包括从包数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值;以及通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的视角值。
根据第三方面,提供了一种用于执行根据第一方面和/或其实施例的方法的装置。
根据第四方面,提供了一种用于执行根据第二方面和/或其实施例的方法的装置。
根据第五方面,提供了一种用于执行根据第一方面和/或其实施例的方法的系统。
根据第六方面,提供了一种用于执行根据第二方面和/或其实施例的方法的系统。
根据第七方面,提供了一种用于执行根据第一方面和/或其实施例的方法的计算机程序产品。
根据第八方面,提供了一种用于执行根据第二方面和/或其实施例的方法的计算机程序产品。
附图说明
在下文中,将参照附图更详细地描述本发明的各种实施例,其中:
图1a、图1b、图1c和图1d示出了用于向用户形成立体图像的设置;
图2a示出了用于立体观看的系统和装置;
图2b示出了用于立体观看的立体相机设备;
图2c示出了用于立体观看的头戴式显示器;
图2d图示了相机设备;
图3a图示了用于捕获针对3D渲染的图像或视频的布置;
图3b图示了从多个捕获的图像形成点云;
图4a和图4b图示了形成渲染层和形成用于存储的图像数据;
图4c图示了使用渲染层渲染图像;
图5a是通过捕获图像数据形成渲染层的流程图;
图5b是使用渲染层渲染图像的流程图;
图6a和图6b描绘了包括用于渲染图像的渲染层的数据结构;以及
图7示出了渲染层的示例。
具体实施方式
在下文中,将在使用3D眼镜的立体观看的上下文下描述本发明的若干实施例。然而,应当注意,本发明不限于任何特定的显示技术。事实上,不同的实施例在需要立体观看的任何环境中具有应用(例如,电影和电视)。附加地,尽管描述可以使用相机设置作为图像源的示例,但是可以使用不同的相机设置和图像源布置。需要理解,各种实施例的特征可以单独出现或组合出现。因此,尽管已逐一描述不同的特征和实施例,但其组合也已在本文中公开。
图1a、图1b、图1c和图1d示出了用于向用户形成立体图像的设置。在图1a中,示出了人类使用双眼E1和E2正在观看两个球体A1和A2的情况。球体A1比球体A2更接近观看者,到第一只眼E1的相应距离是LE1,A1和LE1,A2。不同的对象驻留在其各自的坐标(x,y,z)处的空间中,该空间由坐标系统SZ、SY和SZ定义。人眼之间的距离d12可以是平均约62-64mm,并且在55mm和74mm之间随人而异。该距离被称为视差,人类视觉的立体视图基于该视差。观看方向(光轴)DIR1和DIR2通常基本上平行,可能具有与平行的小偏差,并且定义了眼的视场。用户的头部具有关于周围环境的方位(头部方位),当该方位最容易被眼睛直视前方时眼睛的共同方向定义。即,头部方位关于用户所处的场景的坐标系统来说明头部的偏转、俯仰(pitch)和侧倾(roll)。
在图1a的设置中,球体A1和A2在双眼的视场中。眼和球体之间的中心点O12在同一直线上。即,从中心点,球体A2被遮蔽在球体A1后面。然而,每只眼从A1后面看到球体A2的一部分,因为球体不在来自任一眼的相同视线上。
在图1b中,示出了设置,其中眼睛已经被相机C1和C2替换,相机C1和C2位于图1a中眼睛所在位置处。设置的距离和方向在其他方面是相同的。自然地,图1b的设置的目的是能够拍摄球体A1和A2的立体图像。从图像捕获产生的两个图像是FC1和FC2。“左眼”图像FC1示出了球体A2的图像SA2,其在球体A1的图像SA1的左侧上部分可见。“右眼”图像FC2示出了球体A2的图像SA2,其在球体A1的图像SA1的右侧上部分可见。右图像和左图像之间的差被称为视差,并且作为人类视觉系统确定深度信息并产生场景的3D视图的基本机制的该视差可以用于产生3D图像的错觉。
在图1c中,示出了该3D错觉的产生。使用显示器D1和D2分别将由相机C1和C2捕获的图像FC1和FC2显示给眼睛E1和E2。图像之间的视差由人类视觉系统处理,从而产生对深度的理解。即,当左眼看到球体A1的图像SA1左侧上的球体A2的图像SA2,并且相应地右眼看到右侧上的A2的图像时,人类视觉系统产生理解:在三维世界中,球体V1后面存在球体V2。这里,需要理解,图像FC1和FC2也可以是合成的(即,由计算机产生的)。如果其携带视差信息,则合成图像也将被人类视觉系统看作是三维的。即,可以形成一对计算机生成的图像,从而它们可以用作立体图像。
图1d图示了可以如何使用对眼睛显示立体图像的原理来产生具有三维错觉的3D电影或虚拟现实场景。或者使用立体相机捕获或者从模型计算图像FX1和FX2,从而图像具有适当的视差。通过使用显示器D1和D2向双眼显示每秒大量(例如,30)的帧,从而左眼和右眼之间的图像具有视差,人类视觉系统将产生移动的三维图像的认知。当相机转动或者计算的合成图像的观看方向改变时,图像中的变化产生观看方向改变的错觉,即观看者正在旋转。该观看方向(即,头部方位)可以例如通过安装在头部上的方位检测器被确定为头部的实际方位,或者作为由诸如操纵杆或鼠标的控制设备来确定的虚拟方位,控制设备可以用于在用户实际上不移动其头部的情况下,操纵观看方向。即,术语“头部方位”可以用于指代用户头部的实际的物理方位以及其变化,或者其可以用于指代由计算机程序或计算机输入设备确定的用户视图的虚拟方向。
图2a示出了用于立体观看(即,用于3D视频和3D音频数字捕获和回放)的系统和装置。系统的任务是捕获足够的视觉和听觉信息,使得在该位置中的体验或存在的令人信服的再现可以由物理上位于不同位置的、并且可选地在将来的稍后时间处的一个或多个观察器来实现。这样的再现需要比单个相机或麦克风可以捕获的信息更多的信息,以使得观看者可以使用其眼睛和耳朵来确定场景内的对象的距离和位置。如在图1a至图1d的上下文中所解释的,为了产生具有视差的一对图像,使用两个相机源。在类似的方式中,为了人类听觉系统能够感测声音的方向,使用至少两个麦克风(通常已知的立体声音由记录两个音频频道而产生)。人类听觉系统可以检测例如在音频信号的定时差中的线索以检测声音的方向。
图2a的系统可以由三个主要部分组成:图像源、服务器和渲染设备。视频捕获设备SRC1包括具有重叠视场的多个(例如,8个)相机CAM1、CAM2、...、CAMN,从而从至少两个相机捕获视频捕获设备周围的视图区域。设备SRC1可以包括多个麦克风以捕获来自不同方向的音频的定时和相位差。该设备可以包括高分辨率方位传感器,从而多个相机的方位(观看方向)可以被检测和记录。设备SRC1包括或功能上连接到计算机处理器PROC1和存储器MEM1,存储器包括用于控制捕获设备的计算机程序PROGR1代码。由设备捕获的图像流可以被存储在存储器设备MEM2上以在另一设备(例如,观看者)中使用和/或使用通信接口COMM1向服务器传输。
如上所述,单个相机设备可以包括多个相机和/或多个麦克风。也可以使用放置在不同位置处的多个相机设备,其中单个相机设备可以包括一个或多个相机。以这种方式,相机设备及其相机可以能够以比单个相机设备更全面的方式捕获场景中的对象的图像数据。例如,如果在从第一相机设备或第一相机的某个视点观看对象时,存在隐藏在第一对象后面的第二对象,则第二对象可以从第二相机设备或者第二相机的另一视点可见。因此,可以收集第二对象的图像数据例如用于产生3D视图,在该3D视图中,第二对象的一部分从第一对象的后面部分地对一只眼可见而对另一只眼不可见。为了从两个或多个相机产生统一的图像数据,来自不同相机的图像数据需要被组合在一起。此外,可以通过分析来自不同相机的数据来确定场景中的不同对象。这可以允许确定场景中的对象的三维位置。
备选地或者除了产生图像流的视频捕获设备SRC1或多个这样的设备之外,在系统中可以存在合成图像的一个或多个源SRC2。这种合成图像的源可以使用虚拟世界的计算机模型来计算其传输的各种图像流。例如,源SRC2可以计算与位于虚拟观看位置处的N个虚拟相机相对应的N个视频流。如先前针对图1d所解释的,当这种合成的视频流集合被用于观看时,观看者可以看到三维虚拟世界。设备SRC2包括或功能上被连接到计算机处理器PROC2和存储器MEM2,该存储器包括用于控制合成源设备SRC2的计算机程序PROGR2代码。由设备捕获的图像流可以被存储在存储器设备MEM5(例如,存储卡CARD1)上以在另一设备(例如,观看者)中使用,或者使用通信接口COMM2向服务器或观看者传输。
除了捕获设备SRC1之外,还可以存在存储、处理和数据流服务网络。例如,可以存在服务器SERV或存储来自捕获设备SRC1或计算设备SRC2的输出的多个服务器。该设备包括或功能上被连接到计算机处理器PROC3和存储器MEM3,该存储器包括用于控制服务器的计算机程序PROGR3代码。服务器可以在通信接口COMM3上通过有线或无线网络连接(或两者)被连接到源SRC1和/或SRC2以及观看者设备VIEWER1和VIEWER2。
为了观看捕获或产生的视频内容,可以存在一个或多个观看者设备VIEWER1和VIEWER2。这些设备可以具有渲染模块和显示模块,或者这些功能可以被组合在单个设备中。设备可以包括或功能上被连接到计算机处理器PROC4和存储器MEM4,存储器包括用于控制观看设备的计算机程序PROGR4代码。观看者(回放)设备可以包括数据流接收器,用于从服务器接收视频数据流并且用于对视频数据流解码。数据流可以通过通信接口COMM4在网络连接上被接收,或者像存储卡CARD2那样从存储器设备MEM6接收。观看者设备可以具有图形处理单元,用于将数据处理为如图1c和图1d所描述的用于观看的合适格式。观看者VIEWER1包括用于观看渲染的立体视频序列的高分辨率立体图像头戴式显示器。头戴式设备可以具有方位传感器DET1和立体音频耳机。观看者VIEWER2包括使用3D技术(用于显示立体视频)的显示器,并且渲染设备可以具有连接到其的头部方位检测器DET2。设备(SRC1、SRC2、SERVER、RENDERER、VIEWER1、VIEWER2)中的任何设备可以是计算机或便携式计算设备,或者可以被连接到这些设备。这样的渲染设备可以具有用于执行根据本文中描述的各种示例的方法的计算机程序代码。
图2b示出了具有用于捕获立体观看的图像数据的多个相机的相机设备的一个示例。相机包括两个或多个照相机,两个或多个照相机被配置为用于产生左眼图像和右眼图像的照相机对或者可以被布置成这样的对。相机之间的距离可以对应于人眼之间的通常距离。相机可以被布置为使得其在其视场中具有显著的重叠。例如,可以使用180度或更大的广角镜头,并且可以存在3个、4个、5个、6个、7个、8个、9个、10个、12个、16个或20个相机。相机可以跨域整个视野规则地或不规则地间隔开,或者其可以仅覆盖整个视野的一部分。例如,可以存在以三角形布置的、并且具有朝向三角形一侧的不同观看方向的三个相机,使得全部三个相机覆盖观看方向中间的重叠区域。作为另一示例,具有广角镜头、规则地布置在虚拟立方体的角落处、并且覆盖整个视野的8个相机,使得整个或基本上整个球体在所有方向上被至少3个或4个相机覆盖。在图2b中,示出了三个立体相机对。如前所述,可以使用多个相机设备来捕获场景的图像数据,相机设备具有一个或多个相机。相机设备可以如图2b中所示使得其能够产生立体图像或者其可以产生单视图视频数据。来自不同相机(来自一个相机设备的多个相机和/或不同相机设备的多个相机)的数据可以被组合以获得场景的三维图像数据。
图2c示出了用于立体观看的头戴式显示器。头戴式显示器包括用于显示左眼图像和右眼图像的两个屏幕部分或两个屏幕DISP1和DISP2。显示器靠近眼睛,并且因此镜头被用于使图像易于观看并且用于扩展图像以尽可能多地覆盖眼睛的视场。该设备被附接到使用者的头部,使得即使当使用者转动其头部时,该设备保持在适当位置。该设备可以具有用于确定头部的头部运动和方向的方位检测模块ORDET1。这里要注意,在这种类型的设备中,可以跟踪头部运动,但是由于显示器覆盖大面积的视场,因此不需要眼睛运动的检测。头部方位可以与用户头部的真实的物理方位相关,并且其可以由用于确定用户头部的真实方位的传感器跟踪。备选地或附加地,头部方位可以与用户观看方向的虚拟方位相关,该虚拟方位由计算机程序或诸如操纵杆的计算机输入设备控制。即,用户可以能够使用输入设备来改变所确定的头部方位,或者计算机程序可以改变观看方向(例如,在程序中,代替或者除了真实的头部方位之外,还可以控制所确定的头部方位)。
图2d图示了相机设备CAM1。相机设备具有相机检测器CAMDET1,相机检测器包括用于感测击中传感器元件的光的强度的多个传感器元件。相机设备具有镜头OBJ1(或多个镜头的镜头布置),镜头被定位使得击中传感器元件的光穿过镜头行进到传感器元件。例如,对于对角线的交叉点的矩形传感器,相机检测器CAMDET1具有标称中点CP1,标称中点CP1是多个传感器元件的中点。镜头也具有标称中点PP1,标称中点PP1位于例如镜头的对称轴上。相机方位的方向由从相机传感器的中点CP1和镜头的中点PP1通过的半直线定义。
上述系统可以如下工作。时间同步的视频、音频和方位数据首先使用一个或多个相机设备的相机来记录。该数据可以由如上所述的多个并行视频和音频流组成。然后将这些数据立即或稍后传输到存储器和处理网络,以用于处理和转换成适合于随后传送到回放设备的格式。该转换可以涉及对音频和视频数据的后处理步骤,为了在保持质量在所期望水平的同时提高数据的质量和/或减少数据的数量。最后,每个回放设备从网络或从存储设备接收数据流,并且将数据流渲染为原始位置的立体观看再现,该立体观看再现可以由使用头戴式显示器和耳机的用户体验。
图3a图示了用于捕获针对3D渲染的图像或视频的布置。存在用于捕获针对3D渲染的图像数据的两个基本选项。第一选项是使用相机从真实世界捕获图像数据。第二选项是从合成的场景模型生成图像数据。也可以使用第一选项和第二选项的组合例如以将合成的对象放置在现实世界场景(动画电影)中或反之亦然(虚拟现实)。使用任一选项或其组合,可以使用若干相机来捕获场景中的对象的颜色数据。相机的位置、方位和光学特点(例如,镜头特性)是已知的。这使得可以检测多个图片中的对象的存在,这又允许场景中的各种对象(或其表面点)的位置的确定。当对象的表面的点的位置和颜色是已知的时候,可以生成从渲染视点观看的场景的图像。这将在后面说明。
可以使用在不同位置处的多个相机来从真实场景捕获图像数据。相机对可以用于为两个图像中匹配的每个点产生深度的估计。点估计被映射到共同的原点和方位,并且通过比较其颜色值和位置值来去除重复条目。然后基于它们从渲染视点的可见性的顺序,将点布置为渲染层或者层(作为较短的表达方式)。
顶层通常不是稀疏的,并且包含从原点(渲染视点)所观看的场景的每个点的条目。每个被隐蔽的像素被移动到稀疏辅助层中,其中有必要产生一个或多个稀疏层以存储记录的数据并且足够详细地表示视图。此外,可以将合成数据生成到围绕所记录的数据的稀疏层中,为了避免稍后在渲染时可见的孔洞的问题。
层可以表示为二维图像,图像具有像素,并且像素具有相关联的颜色值和深度值。可以经由坐标变换并且例如通过使用图形处理器的纹理操作以内插像素的颜色值和深度值来将层映射到渲染空间。
时间上的每个时刻可以使用新的层的集合和映射参数来编码,以允许3D环境中的基于时间的变化的回放。在每个帧中,对于每个新的帧,采用新的层数据和映射元数据。备选地,可以暂停基于时间的回放,并且可以使用单个帧并从不同位置渲染单个帧。
备选地,虚拟现实模型中的合成视频源可被用于产生针对立体观看的图像。可能包括多个相机的一个或多个虚拟相机设备被定位于电影的虚拟世界中。发生的动作可以由计算机捕获到视频流中,视频流对应于虚拟相机设备(对应于所谓的多视图视频,其中用户可以切换视点)的虚拟相机。备选地,单个相机位置可以用作观看点。换言之,可以以与针对常规3D电影相同的方式合成地生成传送到播放器的内容,然而,传送到播放器的内容包括多个(大于2)相机视图和多个音频流,多个音频流允许为每个观看者方位产生真实的音频信号。实际上,虚拟世界的内部三维(移动)模型被用于计算图像源图像。渲染不同的对象导致由相机捕获的图像,并且针对每个相机(一个或多个相机)执行计算。虚拟相机不会以与真实相机相同的方式彼此遮蔽,因为虚拟相机可以在虚拟世界中不可见。可以使用图形处理器或通用处理器的处理从复杂的合成模型(例如,CGI电影内容模型)生成渲染层的图像数据,以将世界从单个视点渲染为层格式,其中预定数目的遮蔽的像素(预定数目的遮蔽的像素层)被存储在辅助层中。
图3b图示了从多个捕获的图像形成点云。可以使用多种不同的技术从真实场景捕获图像数据。如果多个图像可用于相同的场景,每个图像从不同的原始位置捕获,则该图像数据可以被用于估计对象表面的位置和颜色。可以针对每个图像已知或计算场景中的相机的精确位置(LOC1、LOC2)和方位(DIR1、DIR2)。另外,可以已知或计算镜头的行为,从而图像中的每个像素与空间中的3d向量具有直接的对应关系。使用该信息,来自第一相机的一个图像(CAM VIEW 1)的像素可以与另一图像(CAM VIEW 2)中相似的颜色的色素匹配,另一图像来自沿向量路径的第二相机,匹配像素必须位于该向量路径上。一旦找到匹配,可以从两个3d向量(对于点P1为VEC1和VEC2)的交点找到空间中的位置(坐标)。以这种方式,可以确定对象的表面的点P1、P2、P3、...、PN,即,可以计算点的颜色和位置。
需要至少3个重叠图像,以估计在仅一个图像中被另一对象遮蔽的一些对象的位置。然后给出2层信息(从渲染视点可见的第一对象和隐藏在第一对象后面的对象)。对于除一个图像之外都被遮蔽的对象,可以通过从附近类似已知的对象的位置外推来进行粗略的位置估计。
可以通过相同的相机在不同时间从不同位置捕获多个图像。在这种情况下,将需要使用另一传感器或使用关于场景中参考对象的位置变化的信息来测量相机定位。在这种情况下,场景中的对象应当是静态的。
备选,可以使用多个相机在时间上同时捕获多个图像,每个相机具有相对于参考点的已知的或预校准的相对位置和方位。在这种情况下,场景中的对象或相机系统本身不需要是静态的。使用这种方法,可以在时间上匹配捕获每个图像集合时刻的每个时刻产生层序列。
用于为渲染层产生点数据的另一技术是使用采用“飞行时间(Time-of-flight)”技术的传感器来测量光脉冲(来自激光器或LED)从测量设备行进离开对象并返回到测量设备所需的精确时间。这样的传感器应当与正常彩色图像传感器(具有与多图像技术相同的校准要求)共同定位和校准,使得可以给定每个像素相对于相机在空间中的估计颜色和位置。然而,使用仅一对这样的传感器,可以仅生成单个数据层。将需要覆盖相同场景的至少两个这样的对,以生成两个层(来估计在另一对中被遮蔽的一些对象的位置)。附加的对可以用于每个附加的层。
具有类似限制的相关技术是使用“激光雷达”扫描器来代替飞行时间传感器。这通常在场景上扫描激光束,并测量反射光的相位或振幅,以产生距离的准确估计。再次,可以使用激光雷达+图像传感器的附加的对来生成每个附加层。
图4a图示了形成渲染层和形成用于存储或传输的图像数据。通过产生多个像素集合(即,渲染层)来记录场景用于存储到文件中或用于传输,其中该层中的每个数据点至少包括来自共同原点的向量和颜色数据。可以使用已知的2D图像或视频序列压缩技术来压缩每个数据集合。
如前所述,可以形成图4a中的多个点P1、...、PN和PX1、PX2,每个点在空间中具有颜色和位置。点PX1和PX2隐藏在像素P1、P2和P3之后。然后将这些点转换为渲染层,使得当从视点VIEWPNT观看时,从直接可见的点产生第一渲染层渲染层1,并且至少部分地从隐藏在第一个渲染层之后的点产生一个或多个渲染层渲染层2。每个点的位置向量可以以不同的方式存储或压缩。其可以简单地表示为每个点的3个独立的参数-一对角度和从参考向量(由视点和观看方向定义的向量)的距离,或正交轴方向上的3个距离。备选地,可以使用参数化的映射函数来基于点的索引将空间中每个点的位置向量从原点更加紧凑地编码为点序列,该点序列被解释为具有已知整数宽度和高度的2维规则布局(图像),包括渲染层像素RP1、RP2、RP3和RPX1、RPX2。其对应于图4a中的渲染层渲染层1和渲染层2。这可以例如将x坐标和y坐标直接地映射到偏转和俯仰坐标,从而允许将整个球体编码到矩形结构中。可以通过从现有点值进行内插来形成每个(偏转、俯仰)像素的像素颜色值。备选地,可以使用圆形映射函数(诸如,等值映射[radius=2*focalLength*sin(angleFromAxis/2)])来将半球或更多映射到圆形图像。
备选地,可以使用圆形映射函数将球面坐标映射到2d笛卡尔坐标中。这些映射函数产生产生圆形图像,其中每个x值和y值对可以被映射回球面坐标。函数将距离光轴的角度(theta)映射为从图像圆心的点的距离(r)。对于每个点,围绕光轴(phi)的角度在球面坐标和映射的图像圆中保持相同。映射的图像圆中的x坐标和y坐标与r坐标和phi坐标之间的关系如下:
x=x0+r*cos(phi),y=y0+r*sin(phi),其中点(x0,y0)是图像圆的中心。
这种映射函数的示例是鱼眼镜头中常用的等立体(Equisolid)。等立体映射取决于镜头的焦距(f),并且如下:r=2*f*sin(theta/2)。因此,对于位于光轴中心的点(theta为0),r变为零,并且因此映射的点也在图像圆的中心。对于垂直于光轴的向量上的点(theta为90度),r变为1.41*f,并且图像圆中的点可以如下计算:x=x0+1.41*f*cos(phi),y=y0+1.41*f*sin(phi)。x和y可以用常数乘法器来缩放以将坐标转换为目标分辨率中的像素。其他映射函数可以是立体的(r=2*f*tan(theta/2))、等距离的(r=f*theta)和正交的(r=f*sin(theta))。
每个层可以完全地(即,没有孔洞、以连续的方式)覆盖相机周围的空间(诸如,图4a中的渲染层1),或者它可以稀疏地覆盖具有未覆盖的部分空间,未覆盖的部分或者使用映射参数完全省略,或者被编码为较大尺寸的高度可压缩的零值(诸如,图4a中的渲染层2)。可视化的所有对象都记录在一个层中。每个层被提供有用于将层的二维图像数据映射到渲染空间中所需的映射参数。所有层最终可以被封装到单个数据结构中以对其进行解码,单个数据结构与必要的映射元数据一起提供。备选地,可以在不同的文件或流或不同的数据结构中提供不同的层。
另外,层的编码可以允许渲染复杂性的缩放,或者减少递送的数据量,同时仍然给出场景的良好再现。一种方法是将所有层封装到具有越来越远的子层的2D图像中,该子层沿一个轴(例如,沿增加的y轴(向下))进一步定位。当需要较少的渲染时,较低的数据简单地不被递送、或者不被解码/处理,只有顶层和可能的子层的有限子集被递送或者被解码/处理。
本发明可以允许复杂3D环境的记录、分布和再现,该复杂3D环境具有之前不可能的物理上的真实行为水平,而不是呈现完全合成场景的大数据处理能力的。这可以通过大大减少由于渲染层结构的使用而针对特定图像分辨率需要递送的数据量来改进基于来自不同视点的多个图像的早期再现技术。
在图4b中,图示了使用两个相机CAMR和CAML形成两个渲染层渲染层1和渲染层2。不同的相机“看到”对象REAROBJ的不同部分,因为对象REAROBJ被隐藏在另一对象FRONTOBJ后面。左相机CAML能够从左边捕获对象REAROBJ的更多图像信息,并且右相机CAMR从右边捕获对象REAROBJ的更多图像信息。当例如通过将点VIEWPNT保持为视点来产生渲染层时,对象FRONTOBJ将对象REAROBJ的存在图像信息的部分以及不存在图像信息的部分隐藏。因此,第一渲染层渲染层1包括表示第一对象FRONTOBJ的像素区域1和表示第二对象REAROBJ的可见部分的像素区域2。第二渲染层包括对应于第二对象REAROBJ的隐藏部分的图像信息的像素区域3。区域3之外的像素可以为空,或可以为虚拟像素。可以如先前所解释的来产生用于渲染层的深度信息。
图4c图示了使用渲染层渲染图像。为了渲染立体图像或立体视频序列,如先前所解释的形成用于左眼和右眼的图像帧。为了渲染图像帧,来自所有层渲染层1、渲染层2的内容被投影到一个新的渲染相机空间中并且按照深度进行分类以渲染正确的场景。例如,对于常规图形处理单元,每个渲染层点RP1、RP2、...、RPN和RPX1、RPX2、...可以被视为“粒子”,并使用顶点着色器程序进行变换,并且使用单个像素“点精灵(Point Sprite)”来变换到3D渲染空间中,单个像素“点精灵”包括相对于渲染视点的深度值。重叠投影的粒子的深度值被比较并且使用正确的混合函数以正确的顺序被绘制。这由对应于点RP1、RP2、RP3、RPX1、RPX2的虚线矩形图示。以这种方式,可以使像素位于与其各自源图像点在实际空间中的位置对应的位置处。渲染不透明内容,使得示出到渲染相机最近的点。可以使用在其后面可见内容的正确混合来渲染不透明内容。
这里需要注意,在渲染空间中,渲染层的像素可以表示不同尺寸的对象。与更靠近视点的像素相比,远离视点的像素(具有大的深度值)可以表示更大的对象。这是因为渲染层像素最初可以表示特定空间“锥体”以及在该“锥体”中的图像内容。取决于椎体底部有多远,像素表示空间中的点的不同尺寸。渲染层可以以这样的方式对齐以用于渲染:当从渲染视点观看时,像素网格基本上彼此对齐。
为了将渲染层变换到渲染空间,它们可能需要被旋转。围绕x轴成γ角(也称为俯仰角)的坐标的旋转变换Rx的示例由以下旋转矩阵定义:
以类似的方式,可以形成围绕不同轴的旋转Ry(用于偏转)和Rz(用于侧倾)。作为一般旋转,可以形成三个旋转的矩阵乘法R=RxRyRz。然后,该旋转矩阵可以用于根据v2=R v1乘以第一坐标系中的任何向量来获得目的地坐标系中的向量。
作为旋转的一个示例,当用户转动其头部(存在由俯仰、偏转和侧倾值表示的旋转)时,可以确定用户的头部方位以获得新的头部方位。这可以发生例如使得在头戴式显示器中存在头部运动检测器。当新的头部方位已经被确定时,可以重新计算视图的方位和虚拟眼的位置,使得渲染的图像匹配新的头部方位。
作为另一示例,解释头戴式相机方位的校正。这里使用的技术是记录捕获设备的范围并且使用方位信息来校正呈现给用户的视图的方位-在回放期间有效地消除捕获设备的旋转-使得用户控制观看方向,而不是捕获设备控制观看方向。如果观看者反而希望体验捕获设备的原始运动,则可以禁用校正。如果观看者希望体验原始运动的较不极端的版本,则可以使用滤波器动态地应用校正,从而跟随原始运动,但是更缓慢地或者使用与正常方位较小的偏差跟随原始运动。
对于将要被显示的帧,层可以在多个渲染过程中被渲染,从不透明层开始,以包含半透明区域的层结束。最后,如果需要,可以进行单独的后处理渲染传递以为虚拟像素内插值。
在渲染期间,启用图形处理(例如,OpenGL)深度测试以丢弃被阻塞的片段,并且启用深度缓冲器用于写入。如果渲染的层包含半透明区域,则在渲染期间启用alpha混合,否则禁用alpha混合。场景几何结构包含大量未连接的顶点(GL_POINT),每个未连接的顶点对应于存储的渲染层数据中的一个像素。根据层存储格式,顶点可以具有不同数量的属性。顶点属性例如是位置(x,y,z)、颜色或指向实际层图像数据的纹理坐标。
下面以OpenGL顶点和片段处理为例进行解释。也可以以类似的方式使用其他渲染技术。
对于不同的层存储格式,顶点和片段处理可以略有不同。处理以未压缩列表格式存储的层的步骤可以如下(每个顶点):
1.最初,所有顶点被分配并传递到顶点处理阶段,顶点属性包括相对于共同原点(渲染视点)的视角、颜色和深度。如果处理的层具有半透明内容,则必须根据其深度值来对顶点分类。
2.顶点的(偏转、俯仰、深度)表示被转换为3d笛卡尔向量(x,y,z)。
3.通过将顶点与相应的矩阵相乘,将相机和世界变换应用于顶点。
4.顶点颜色属性被传递到片段处理阶段。
5.最终顶点坐标被写入输出变量(gl_Position)。
6.在片段处理阶段,从顶点处理接收的颜色数据被直接写入输出变量(gl_FragColor)。
处理以压缩图像格式存储的层(即,包括具有像素颜色数据和深度值的像素的渲染层)的步骤可以如下(每个顶点):
1.最初,所有顶点被均匀地分配在具有相同深度值的场景周围。
2.如果顶点不在观看者当前的视场内,则应用变换函数以将其定位在当前视场内。该变换的目的是首先将所有可用顶点集中到当前可见区域中。否则,由顶点表示的像素数据将在片段处理阶段的渲染期间被剪切掉。在这种情况下,避免剪切改进了渲染质量。位置变换可以以使得视场外的顶点均匀地分布在视场内的方式来完成。例如,如果视场水平地从0度到90度,则最初水平位于方向91度的顶点将被变换为在1度处的水平位置。类似地,从91度到180度的水平位置的顶点将被水平地变换成1度到90度的范围。垂直位置可以以相同的方式计算。为了避免变换的顶点进入与已在视场内的其他顶点精确相同的位置,可以将小的恒定分数(例如,在该示例情况下为0.25像素)添加到顶点的新位置值。
3.从变换的顶点位置计算顶点颜色数据的纹理坐标,并将其传递到片段处理阶段。
4.使用来自纹理的纹理查找来为顶点提取深度值。
5.使用映射函数来计算顶点的视角。
6.顶点的(偏转、俯仰、深度)深度表示被转换为笛卡尔3d向量(x,y,z)。
7.通过将顶点与相应的矩阵相乘,将相机和世界变换应用于顶点。
8.像素分辨率在最终顶点位置中引起小的舍入误差,这可以通过计算(子像素)舍入误差并将其传递到片段处理阶段来考虑。
9.最终顶点坐标被写入着色器输出变量(gl_Position)。
10.在片段处理阶段,使用所接收的纹理坐标并考虑子像素舍入误差值来从颜色纹理检索颜色数据,以使用周围点来内插更合适的颜色值(这对于未压缩的列表格式是不可能的)。然后将颜色值写入输出变量(gl_FragColor)。
源像素可以以如下方式在渲染期间对齐:通过利用子像素量在空间中的调整位置,来自第一渲染层的第一像素和来自第二渲染层的第二像素被彼此重叠地注册(Register)。取决于渲染层的存储格式,顶点(像素)可以首先与一种虚拟网格对齐(步骤1和2,以“压缩”图像格式),或者不对齐。在提取正确的深度并变换和映射坐标之后,在应用相机和世界变换的步骤中,顶点可以最终对齐/定位(步骤7)。需要理解,对齐可以在另一个阶段中发生,或者作为其自身的单独步骤发生。
图5a是通过捕获图像数据形成渲染层的流程图。在阶段510中,使用来自第一源图像的第一图像数据和来自第二源图像的第二图像数据形成场景模型。场景模型包括场景点,并且每个场景点在场景的坐标空间中具有位置。这样来自捕获的图像数据的场景点的形成已经在前面解释。备选地或附加地,可以使用合成场景,其中合成场景包括数字对象,数字对象的位置、方位、颜色、透明度和其他方面在模型中定义。在阶段520中,确定第一组场景点,第一组场景点从渲染视点可见,该视点在场景坐标空间中具有位置。即,当从渲染视点(例如,如图1所解释的虚拟眼睛之间的中心点)观看场景时,从视点可见(未被遮蔽在另一对象后面)的点可以属于第一组场景点。在阶段525中,确定第二组场景点,第二组场景点至少部分地被从渲染视点观看的第一组场景点遮蔽。即,第二组的点在第一组的点之后,或者第二组的点中的至少一些点在第一组的一些点之后被遮蔽。在阶段530中,使用第一组场景点形成第一渲染层,以及使用第二组场景点形成第二渲染层,第一渲染层和第二渲染层包括像素。在阶段540中,提供第一渲染层和第二渲染层用于渲染立体图像(例如通过将其存储到文件中或通过将其发送到渲染器)。可以通过计算左眼图像和右眼图像从渲染层计算立体图像,使得通过将左眼的虚拟位置作为左眼图像的渲染视点和将右眼的虚拟位置作为右眼图像的渲染视点来计算两个图像。
还可以确定第三组场景点,第三组场景点至少部分地被从渲染视点观看的第二组场景点遮蔽。然后,可以使用第三组场景点形成第三渲染层,第三渲染层包括像素,并且可以提供第三渲染层用于渲染立体图像。
第二渲染层可以是包括有效像素的稀疏层,有效像素对应于至少部分地被第一组场景点遮蔽的场景点。此外,第三渲染层可以是稀疏层。因为像素可能在一些稀疏层中“丢失”,所以可以在第二渲染层中形成虚拟像素,其中虚拟像素不对应于任何真实场景点。这可以进行以使用图像编码器将第二渲染层编码为数据结构。为了存储和/或传输渲染层数据的目的,可以使用图像编码器将渲染层变为一个或多个编码的数据结构。例如,可以产生具有包括渲染层的数据结构的文件。一个或多个渲染层可以形成为二维图像数据结构,该图像数据结构包括渲染层像素。渲染层像素可以包括颜色值和诸如alpha值的透明度值。如前所述,至少两个渲染层的数据可以形成为经整理的图像数据结构,对照的图像数据结构包括至少两个段,每个段对应于相应的渲染层。
形成场景模型可以包括通过利用所述源图像的深度信息来确定所述场景点的三维位置。如前所述,形成场景模型可以包括使用所述源图像的相机定位和比较所述源图像的图像内容。
图5b是使用渲染层渲染图像的流程图。在阶段550中,接收第一渲染层和第二渲染层。第一渲染层和第二渲染层包括像素,并且第一渲染层包括对应于从渲染视点观看的场景的第一部分的像素,以及第二渲染层包括对应于从渲染视点观看的场景的第二部分的像素。场景的第二部分被从渲染视点观看的第一部分遮蔽。在阶段560中,第一渲染层的像素(或顶点)和第二渲染层的像素(或顶点)被放置在渲染空间中。例如,如果渲染层被存储为图像数据,则二维图像可以逐像素地变换到渲染空间中。在阶段570中,深度值可以例如逐像素地与像素相关联。在阶段580中,可以使用像素及其深度值来渲染左眼图像和右眼图像。
第一渲染层和第二渲染层的像素可以包括颜色值,并且至少第一渲染层的像素可以包括透明度值(诸如,用于渲染至少第一渲染层的像素的透明度的alpha值)。为了使该透明度处理更有效,可以确定待渲染的渲染层是否包括半透明像素,并且在确定指示渲染层确实包括半透明像素的情况下,在渲染层的渲染中启用alpha混合,否则在渲染渲染层中禁用alpha混合。
可以从包括像素值作为二维图像的数据结构接收第一渲染层和第二渲染层。例如,渲染层可以以图像数据格式被存储到图像文件中,或以二维格式在数据结构(例如,在计算机存储器中)中表示。可以通过使用数据结构中的数据的纹理映射、并且借助于图形渲染系统(如OpenGL图形加速器)的纹理处理能力将颜色值从数据结构映射到渲染空间来确定第一渲染层和第二渲染层的像素的颜色值。
以类似的方式,可以从包括像素值作为二维图像的数据结构接收第一渲染层和第二渲染层,并且可以通过使用纹理映射来确定第一渲染层和第二渲染层的像素的深度值,其中深度值指示距渲染视点的距离。即,还可以在与渲染层的颜色值对应的图像状数据结构中存储或传输深度数据。
为了渲染光反射和阴影的目的,渲染层可以包括针对渲染层像素的视角值的信息。可以从包括像素值作为二维图像的数据结构接收第一渲染层和第二渲染层,并且可以通过使用纹理映射、从针对第一渲染层和第二渲染层的像素的这些像素值来确定视角值。视角值的这种确定可以例如通过使用图形处理器的所谓的“凹凸映射(Bump Mapping)”能力来发生。在这种方法中,使用纹理来计算像素的方位角,并且来自光源的光通过像素的反射取决于该方位角。换言之,为了计算待显示的图像的目的,像素可以具有表面法线,表面法线具有与朝向观看者不同的另一方向。
图6a描绘了包括用于渲染图像的渲染层的数据结构。在非压缩的列表类型格式中,各种场景点由点数据结构表示,每个点数据结构具有用于颜色(3个值,例如红色、绿色、蓝色)、透明度(例如,alpha通道)、位置(3个值,例如偏转、俯仰、深度坐标)以及可能的其他属性的值。
在图6b中,以图像数据格式,第一渲染层中的场景点的颜色值由一个编码的图像表示,该图像包括用于场景点的颜色值作为渲染层像素RP1、RP2、RP3,或该图像包括可以用于例如通过纹理映射计算场景点的颜色值的颜色值。以类似的方式,第一渲染层的其他属性可以表示为图像,例如包括渲染层像素的深度值RPD1、RPD2、RPD3的深度值图像。第二渲染层中的场景点的颜色值由一个编码的图像表示,该图像包括用于场景点的颜色值作为渲染层像素RPX1、RPX2,或者该图像包括可以用于例如通过纹理映射计算场景点的颜色值的颜色值。深度值RPDX1、RPDX2在对应的深度图像中。
不同的渲染层可以具有其自身的图像数据结构,或者渲染层可以组合在一起成为一个或多个图像。例如,图像可以具有用于第一渲染层数据的段、用于第二渲染层数据的另一段等。可以使用常规的图像压缩技术来压缩图像。
图7示出了渲染层的一个示例。第一渲染层层1包括三维空间中的多个立方体的图像。立方体被定位为使得更靠近观看者的立方体遮蔽更远离观看者的立方体的部分。在第一层上,所有像素包括颜色值,因为在每个方向上,场景的部分(至少背景)是可见的。第二渲染层层2包括立方体的一些被遮蔽的部分。通过从与第一渲染层的视点稍微不同的视点(向左)拍摄图像来获得遮蔽部分。第二渲染层不包括在第一渲染层上可用的像素。因此,第二渲染层是稀疏的,并且许多(在这种情况下,大部分)像素是空的(以黑色示出)。如前所述,可以通过使用来自两个渲染层的像素数据并计算针对左眼和右眼的图像来形成左眼图像和右眼图像。
本发明的各种实施例可以借助于驻留在存储器中并使相关设备执行本发明的计算机程序代码来实现。例如,设备可以包括用于处理、接收和发送数据、存储器中的计算机程序代码的电路和电子器件,以及当运行计算机程序代码时使得该设备执行实施例的特征的处理器。此外,诸如服务器的网络设备可以包括用于处理、接收和发送数据、存储器中的计算机程序代码的电路和电子器件,以及在运行计算机程序代码时使得网络设备执行实施例的特征的处理器。
显然,本发明不仅限于上述实施例,而是可以在所附权利要求的范围内进行修改。

Claims (68)

1.一种方法,包括:
-使用来自第一源图像的第一图像数据和来自第二源图像的第二图像数据形成场景模型,所述场景模型包括场景点,每个场景点在所述场景的坐标空间中具有位置,
-确定第一组场景点,所述第一组场景点从观看点可见,所述观看点在所述场景的所述坐标空间中具有位置,
-确定第二组场景点,所述第二组场景点至少部分地被从所述观看点观看的所述第一组场景点遮蔽,
-使用所述第一组场景点形成第一渲染层,以及使用所述第二组场景点形成第二渲染层,所述第一渲染层和所述第二渲染层包括像素,以及
-提供所述第一渲染层和所述第二渲染层用于渲染立体图像。
2.根据权利要求1所述的方法,包括:
-确定第三组场景点,所述第三组场景点至少部分被从所述观看点观看的所述第二组场景点遮蔽,
-使用所述第三组场景点形成第三渲染层,所述第三渲染层包括像素,以及
-提供所述第三渲染层用于渲染立体图像。
3.根据权利要求1或2所述的方法,其中所述第二渲染层是包括有效像素的稀疏层,所述有效像素对应于至少部分地被所述第一组场景点遮蔽的场景点。
4.根据权利要求3所述的方法,包括:
-在所述第二渲染层中形成虚拟像素,所述虚拟像素不对应于场景点,
-使用图像编码器将所述第二渲染层编码为数据结构。
5.根据权利要求1至4中任一项所述的方法,包括:
-使用图像编码器将所述渲染层编码为一个或多个经编码的数据结构。
6.根据权利要求1至5中任一项所述的方法,其中形成所述场景模型包括通过利用所述源图像的深度信息来确定所述场景点的三维位置。
7.根据权利要求1至6中任一项所述的方法,其中形成所述场景模型包括使用所述源图像的相机定位以及比较所述源图像的图像内容。
8.根据权利要求1至7中任一项所述的方法,包括:
-将所述渲染层中的一个或多个形成为二维图像数据结构,所述图像数据结构包括渲染层像素。
9.根据权利要求1至8中任一项所述的方法,其中渲染层像素包括颜色值和诸如alpha值的透明度值。
10.根据权利要求1至9中任一项所述的方法,包括:
-将所述渲染层中的至少两个渲染层的数据形成为经整理的图像数据结构,所述经整理的图像数据结构包括至少两个段,每个段对应于相应的渲染层。
11.一种方法,包括:
-接收第一渲染层和第二渲染层,所述第一渲染层和所述第二渲染层包括像素,所述第一渲染层包括对应于从渲染视点观看的场景的第一部分的像素,以及所述第二渲染层包括对应于从所述渲染视点观看的所述场景的第二部分的像素,其中所述场景的所述第二部分被从所述渲染视点观看的所述第一部分遮蔽,
-将所述第一渲染层的像素和所述第二渲染层的像素放置在渲染空间中,
-将深度值与所述像素相关联,以及
-使用所述像素和所述深度值渲染左眼图像和右眼图像。
12.根据权利要求11所述的方法,其中所述第一渲染层和所述第二渲染层的所述像素包括颜色值,并且至少所述第一渲染层的像素包括用于渲染至少所述第一渲染层的像素的透明度的透明度值,所述透明度值诸如为alpha值。
13.根据权利要求11或12所述的方法,包括:
-确定待渲染的渲染层是否包括半透明像素,以及
-在所述确定指示渲染层包括半透明像素的情况下,在所述渲染层的渲染中启用alpha混合,否则在所述渲染层的渲染中禁用alpha混合。
14.根据权利要求11至13中任一项所述的方法,包括:
-从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值,
-通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的颜色值。
15.根据权利要求11至14中任一项所述的方法,包括:
-从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值,
-通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的深度值,所述深度值指示距渲染视点的距离。
16.根据权利要求11至15中任一项所述的方法,包括:
-从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值,
-通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的视角值。
17.一种装置,包括至少一个处理器、包括计算机程序代码的存储器,所述存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述装置至少执行以下:
-使用来自第一源图像的第一图像数据和来自第二源图像的第二图像数据形成场景模型,所述场景模型包括场景点,每个场景点在所述场景的坐标空间中具有位置,
-确定第一组场景点,所述第一组场景点从观看点可见,所述观看点在所述场景的所述坐标空间中具有位置,
-确定第二组场景点,所述第二组场景点至少部分地被从所述观看点观看的所述第一组场景点遮蔽,
-使用所述第一组场景点形成第一渲染层,以及使用所述第二组场景点形成第二渲染层,所述第一渲染层和所述第二渲染层包括像素,以及
-提供所述第一渲染层和所述第二渲染层用于渲染立体图像。
18.根据权利要求17所述的装置,包括计算机程序代码以使得所述装置:
-确定第三组场景点,所述第三组场景点至少部分被从所述观看点观看的所述第二组场景点遮蔽,
-使用所述第三组场景点形成第三渲染层,所述第三渲染层包括像素,以及
-提供所述第三渲染层用于渲染立体图像。
19.根据权利要求17或18所述的装置,其中所述第二渲染层是包括有效像素的稀疏层,所述有效像素对应于至少部分地被所述第一组场景点遮蔽的场景点。
20.根据权利要求19所述的装置,包括计算机程序代码以使得所述装置:
-在所述第二渲染层中形成虚拟像素,所述虚拟像素不对应于场景点,
-使用图像编码器将所述第二渲染层编码为数据结构。
21.根据权利要求17至20中任一项所述的装置,包括计算机程序代码以使得所述装置:
-使用图像编码器将所述渲染层编码为一个或多个经编码的数据结构。
22.根据权利要求17至21中任一项所述的装置,其中形成所述场景模型包括通过利用所述源图像的深度信息来确定所述场景点的三维位置。
23.根据权利要求17至22中任一项所述的装置,其中形成所述场景模型包括使用所述源图像的相机定位以及比较所述源图像的图像内容。
24.根据权利要求17至23中任一项所述的装置,包括计算机程序代码以使得所述装置:
-将一个或多个所述渲染层形成为二维图像数据结构,所述图像数据结构包括渲染层像素。
25.根据权利要求17至24中任一项所述的装置,其中渲染层像素包括颜色值和诸如alpha值的透明度值。
26.根据权利要求17至25中任一项所述的装置,包括计算机程序代码以使得所述装置:
-将所述渲染层的至少两个渲染层的数据形成为经整理的图像数据结构,所述经整理的图像数据结构包括至少两个段,每个段对应于相应的渲染层。
27.一种装置,包括至少一个处理器、包括计算机程序代码的存储器,所述存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述装置至少执行以下:
-接收第一渲染层和第二渲染层,所述第一渲染层和所述第二渲染层包括像素,所述第一渲染层包括对应于从渲染视点观看的场景的第一部分的像素,以及所述第二渲染层包括对应于从所述渲染视点观看的所述场景的第二部分的像素,其中所述场景的所述第二部分被从所述渲染视点观看的所述第一部分遮蔽,
-将所述第一渲染层的像素和所述第二渲染层的像素放置在渲染空间中,
-将深度值与所述像素相关联,以及
-使用所述像素和所述深度值渲染左眼图像和右眼图像。
28.根据权利要求27所述的装置,其中所述第一渲染层和所述第二渲染层的所述像素包括颜色值,并且至少所述第一渲染层的像素包括用于渲染至少所述第一渲染层的像素的透明度的透明度值,所述透明度值诸如为alpha值。
29.根据权利要求27或28所述的装置,包括计算机程序代码以使得所述装置:
-确定待渲染的渲染层是否包括半透明像素,以及
-在所述确定指示渲染层包括半透明像素的情况下,在所述渲染层的渲染中启用alpha混合,否则在所述渲染层的渲染中禁用alpha混合。
30.根据权利要求27至29中任一项所述的装置,包括计算机程序代码以使得所述装置:
-从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值,
-通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的颜色值。
31.根据权利要求27至30中任一项所述的装置,包括计算机程序代码以使得所述装置:
-从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值,
-通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的深度值,所述深度值指示距渲染视点的距离。
32.根据权利要求27至31中任一项所述的装置,包括计算机程序代码以使得所述装置:
-从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值,
-通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的视角值。
33.一种系统,包括至少一个处理器、包括计算机程序代码的存储器,所述存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述系统至少执行以下:
-使用来自第一源图像的第一图像数据和来自第二源图像的第二图像数据形成场景模型,所述场景模型包括场景点,每个场景点在所述场景的坐标空间中具有位置,
-确定第一组场景点,所述第一组场景点从观看点可见,所述观看点在所述场景的所述坐标空间中具有位置,
-确定第二组场景点,所述第二组场景点至少部分地被从所述观看点观看的所述第一组场景点遮蔽,
-使用所述第一组场景点形成第一渲染层,以及使用所述第二组场景点形成第二渲染层,所述第一渲染层和所述第二渲染层包括像素,以及
-提供所述第一渲染层和所述第二渲染层用于渲染立体图像。
34.根据权利要求33所述的系统,包括计算机程序代码以使得所述系统:
-确定第三组场景点,所述第三组场景点至少部分地被从所述观看点观看的所述第二组场景点遮蔽,
-使用所述第三组场景点形成第三渲染层,所述第三渲染层包括像素,以及
-提供所述第三渲染层用于渲染立体图像。
35.根据权利要求33或34所述的系统,其中所述第二渲染层是包括有效像素的稀疏层,所述有效像素对应于至少部分地被所述第一组场景点遮蔽的场景点。
36.根据权利要求35所述的系统,包括计算机程序代码以使得所述系统:
-在所述第二渲染层中形成虚拟像素,所述虚拟像素不对应于场景点,
-使用图像编码器将所述第二渲染层编码为数据结构。
37.根据权利要求33至36中任一项所述的系统,包括计算机程序代码以使得所述系统:
-使用图像编码器将所述渲染层编码为一个或多个经编码的数据结构。
38.根据权利要求33至37中任一项所述的系统,其中形成所述场景模型包括通过利用所述源图像的深度信息来确定所述场景点的三维位置。
39.根据权利要求33至38中任一项所述的系统,其中形成所述场景模型包括使用所述源图像的相机定位以及比较所述源图像的图像内容。
40.根据权利要求33至39中任一项所述的系统,包括计算机程序代码以使得所述系统:
-将一个或多个所述渲染层形成为二维图像数据结构,所述图像数据结构包括渲染层像素。
41.根据权利要求33至40中任一项所述的系统,其中渲染层像素包括颜色值和诸如alpha值的透明度值。
42.根据权利要求33至41中任一项所述的系统,包括计算机程序代码以使得所述系统:
-将所述渲染层的至少两个渲染层的数据形成为经整理的图像数据结构,所述经整理的图像数据结构包括至少两个段,每个段对应于相应的渲染层。
43.一种系统,包括至少一个处理器、包括计算机程序代码的存储器,所述存储器和所述计算机程序代码被配置为与所述至少一个处理器一起使得所述系统至少执行以下:
-接收第一渲染层和第二渲染层,所述第一渲染层和所述第二渲染层包括像素,所述第一渲染层包括对应于从渲染视点观看的场景的第一部分的像素,以及所述第二渲染层包括对应于从所述渲染视点观看的所述场景的第二部分的像素,其中所述场景的所述第二部分被从所述渲染视点观看的所述第一部分遮蔽,
-将所述第一渲染层的像素和所述第二渲染层的像素放置在渲染空间中,
-将深度值与所述像素相关联,以及
-使用所述像素和所述深度值渲染左眼图像和右眼图像。
44.根据权利要求43所述的系统,其中所述第一渲染层和所述第二渲染层的所述像素包括颜色值,并且至少所述第一渲染层的像素包括用于渲染至少所述第一渲染层的像素的透明度的透明度值,所述透明度值诸如为alpha值。
45.根据权利要求43或44所述的系统,包括计算机程序代码以使得所述系统:
-确定待渲染的渲染层是否包括半透明像素,以及
-在所述确定指示渲染层包括半透明像素的情况下,在所述渲染层的渲染中启用alpha混合,否则在渲染所述渲染层中禁用alpha混合。
46.根据权利要求43至45中任一项所述的系统,包括计算机程序代码以使得所述系统:
-从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值,
-通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的颜色值。
47.根据权利要求43至46中任一项所述的系统,包括计算机程序代码以使得所述系统:
-从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值,
-通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的深度值,所述深度值指示从渲染视点的距离。
48.根据权利要求43至47中任一项所述的系统,包括计算机程序代码以使得所述系统:
-从数据结构接收所述第一渲染层和所述第二渲染层,所述数据结构包括作为二维图像的像素值,
-通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的视角值。
49.一种装置,包括:
-用于使用来自第一源图像的第一图像数据和来自第二源图像的第二图像数据形成场景模型的部件,所述场景模型包括场景点,每个场景点在所述场景的坐标空间中具有位置,
-用于确定第一组场景点的部件,所述第一组场景点从观看点可见,所述观看点在所述场景的所述坐标空间中具有位置,
-用于确定第二组场景点的部件,所述第二组场景点至少部分地被从所述观看点观看的所述第一组场景点遮蔽,
-用于使用所述第一组场景点形成第一渲染层以及使用所述第二组场景点形成第二渲染层的部件,所述第一渲染层和所述第二渲染层包括像素,以及
-用于提供所述第一渲染层和所述第二渲染层用于渲染立体图像的部件。
50.根据权利要求49所述的装置,包括:
-用于确定第三组场景点的部件,所述第三组场景点至少部分被从所述观看点观看的所述第二组场景点遮蔽,
-用于使用所述第三组场景点形成第三渲染层的部件,所述第三渲染层包括像素,以及
-用于提供所述第三渲染层用于渲染立体图像的部件。
51.根据权利要求49或50所述的装置,其中所述第二渲染层是包括有效像素的稀疏层,所述有效像素对应于至少部分地被所述第一组场景点遮蔽的场景点。
52.根据权利要求51所述的装置,包括:
-用于在所述第二渲染层中形成虚拟像素的部件,所述虚拟像素不对应于场景点,
-用于使用图像编码器将所述第二渲染层编码为数据结构的部件。
53.根据权利要求49至52中任一项所述的装置,包括:
-用于使用图像编码器将所述渲染层编码为一个或多个经编码的数据结构的部件。
54.根据权利要求49至53中任一项所述的装置,其中形成所述场景模型包括通过利用所述源图像的深度信息来确定所述场景点的三维位置。
55.根据权利要求49至54中任一项所述的装置,其中形成所述场景模型包括使用所述源图像的相机定位和比较所述源图像的图像内容。
56.根据权利要求49至55中任一项所述的装置,包括:
-用于将一个或多个所述渲染层形成为二维图像数据结构的部件,所述图像数据结构包括渲染层像素。
57.根据权利要求49至56中任一项所述的装置,其中渲染层像素包括颜色值和诸如alpha值的透明度值。
58.根据权利要求49至57中任一项所述的装置,包括:
-用于将所述渲染层的至少两个渲染层的数据形成为经整理的图像数据结构的部件,所述经整理的图像数据结构包括至少两个段,每个段对应于相应的渲染层。
59.一种装置,包括:
-用于接收第一渲染层和第二渲染层的部件,所述第一渲染层和所述第二渲染层包括像素,所述第一渲染层包括对应于从渲染视点观看的场景的第一部分的像素,以及所述第二渲染层包括对应于从所述渲染视点观看的所述场景的第二部分的像素,其中所述场景的所述第二部分被从所述渲染视点观看的所述第一部分遮蔽,
-用于将所述第一渲染层的像素和所述第二渲染层的像素放置在渲染空间中的部件,
-用于将深度值与所述像素相关联的部件,以及
-用于使用所述像素和所述深度值渲染左眼图像和右眼图像的部件。
60.根据权利要求59所述的装置,其中所述第一渲染层和所述第二渲染层的所述像素包括颜色值,并且至少所述第一渲染层的像素包括用于渲染至少所述第一渲染层的像素的透明度的透明度值,所述透明度值诸如为alpha值。
61.根据权利要求59或60所述的装置,包括:
-用于确定待渲染的渲染层是否包括半透明像素的部件,以及
-用于在所述确定指示渲染层包括半透明像素的情况下,在所述渲染层的渲染中启用alpha混合,否则在渲染所述渲染层中禁用alpha混合的部件。
62.根据权利要求59至61中任一项所述的装置,包括:
-用于从数据结构接收所述第一渲染层和所述第二渲染层的部件,所述数据结构包括作为二维图像的像素值
-用于通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的颜色值的部件。
63.根据权利要求59至62中任一项所述的装置,包括:
-用于从数据结构接收所述第一渲染层和所述第二渲染层的部件,所述数据结构包括作为二维图像的像素值,
-用于通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的深度值的部件,所述深度值指示从渲染视点的距离。
64.根据权利要求27至31中任一项所述的装置,包括:
-用于从数据结构接收所述第一渲染层和所述第二渲染层的部件,所述数据结构包括作为二维图像的像素值,
-用于通过使用纹理映射来确定所述第一渲染层和所述第二渲染层的所述像素的视角值的部件。
65.一种被体现在非暂时性计算机可读介质上的计算机程序产品,包括计算机程序代码,所述计算机程序代码被配置为当其在至少一个处理器上被执行时,使得装置或系统:
-使用来自第一源图像的第一图像数据和来自第二源图像的第二图像数据形成场景模型,所述场景模型包括场景点,每个场景点在所述场景的坐标空间中具有位置,
-确定第一组场景点,所述第一组场景点从观看点可见,所述观看点在所述场景的所述坐标空间中具有位置,
-确定第二组场景点,所述第二组场景点至少部分地被从所述观看点观看的所述第一组场景点遮蔽,
-使用所述第一组场景点形成第一渲染层,以及使用所述第二组场景点形成第二渲染层,所述第一渲染层和所述第二渲染层包括像素,以及
-提供所述第一渲染层和所述第二渲染层用于渲染立体图像。
66.根据权利要求65所述的计算机程序产品,包括计算机程序代码以使得所述系统或所述装置执行根据权利要求2至10中任一项所述的方法。
67.一种被体现在非暂时性计算机可读介质上的计算机程序产品,包括计算机程序代码,所述计算机程序代码被配置为当其在至少一个处理器上执行时,使得装置或系统:
-接收第一渲染层和第二渲染层,所述第一渲染层和所述第二渲染层包括像素,所述第一渲染层包括对应于从渲染视点观看的场景的第一部分的像素,以及所述第二渲染层包括对应于从所述渲染视点观看的所述场景的第二部分的像素,其中所述场景的所述第二部分被从所述渲染视点观看的所述第一部分遮蔽,
-将所述第一渲染层的像素和所述第二渲染层的像素放置在渲染空间中,
-将深度值与所述像素相关联,以及
-使用所述像素和所述深度值渲染左眼图像和右眼图像。
68.根据权利要求67所述的计算机程序产品,包括计算机程序代码以使得所述系统或所述装置执行根据权利要求12至16中任一项所述的方法。
CN201480081807.0A 2014-09-09 2014-09-09 立体图像记录和回放 Pending CN106688231A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FI2014/050684 WO2016038240A1 (en) 2014-09-09 2014-09-09 Stereo image recording and playback

Publications (1)

Publication Number Publication Date
CN106688231A true CN106688231A (zh) 2017-05-17

Family

ID=55458373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480081807.0A Pending CN106688231A (zh) 2014-09-09 2014-09-09 立体图像记录和回放

Country Status (7)

Country Link
US (1) US20170280133A1 (zh)
EP (1) EP3192259A4 (zh)
JP (1) JP2017532847A (zh)
KR (1) KR20170040342A (zh)
CN (1) CN106688231A (zh)
CA (1) CA2960426A1 (zh)
WO (1) WO2016038240A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110180179A (zh) * 2018-02-23 2019-08-30 索尼互动娱乐欧洲有限公司 视频记录以及回放系统和方法
CN110784704A (zh) * 2019-11-11 2020-02-11 四川航天神坤科技有限公司 一种监控视频的显示方法、装置及电子设备

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10600245B1 (en) 2014-05-28 2020-03-24 Lucasfilm Entertainment Company Ltd. Navigating a virtual environment of a media content item
US9721385B2 (en) * 2015-02-10 2017-08-01 Dreamworks Animation Llc Generation of three-dimensional imagery from a two-dimensional image using a depth map
CN107431801A (zh) * 2015-03-01 2017-12-01 奈克斯特Vr股份有限公司 支持内容生成、发送和/或重放的方法和设备
WO2016141373A1 (en) 2015-03-05 2016-09-09 Magic Leap, Inc. Systems and methods for augmented reality
US10838207B2 (en) 2015-03-05 2020-11-17 Magic Leap, Inc. Systems and methods for augmented reality
WO2017082077A1 (ja) * 2015-11-11 2017-05-18 ソニー株式会社 画像処理装置および画像処理方法
AU2016365422A1 (en) 2015-12-04 2018-06-28 Magic Leap, Inc. Relocalization systems and methods
US10223741B2 (en) 2016-03-30 2019-03-05 Ebay Inc. Digital model optimization responsive to orientation sensor data
KR20190034199A (ko) * 2016-07-29 2019-04-01 소니 주식회사 화상 처리 장치 및 화상 처리 방법
JP6944137B2 (ja) * 2016-07-29 2021-10-06 ソニーグループ株式会社 画像処理装置および画像処理方法
JP7028168B2 (ja) * 2016-07-29 2022-03-02 ソニーグループ株式会社 画像処理装置および画像処理方法
CA3032567A1 (en) 2016-08-02 2018-02-08 Magic Leap, Inc. Fixed-distance virtual and augmented reality systems and methods
JP7101331B2 (ja) * 2016-11-22 2022-07-15 サン電子株式会社 管理装置及び管理システム
JP6952456B2 (ja) * 2016-11-28 2021-10-20 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
CN107223270B (zh) * 2016-12-28 2021-09-03 达闼机器人有限公司 一种显示数据处理方法及装置
US10812936B2 (en) 2017-01-23 2020-10-20 Magic Leap, Inc. Localization determination for mixed reality systems
AU2018234921B2 (en) 2017-03-17 2021-10-07 Magic Leap, Inc. Mixed reality system with color virtual content warping and method of generating virtual content using same
US10861237B2 (en) 2017-03-17 2020-12-08 Magic Leap, Inc. Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same
US10769752B2 (en) * 2017-03-17 2020-09-08 Magic Leap, Inc. Mixed reality system with virtual content warping and method of generating virtual content using same
KR102389157B1 (ko) 2017-09-19 2022-04-21 한국전자통신연구원 계층 프로젝션 기반 6-자유도 전방위 입체 영상 제공 방법 및 장치
JP2019103067A (ja) * 2017-12-06 2019-06-24 キヤノン株式会社 情報処理装置、記憶装置、画像処理装置、画像処理システム、制御方法、及びプログラム
CN108198237A (zh) * 2017-12-29 2018-06-22 珠海市君天电子科技有限公司 动态壁纸生成方法、装置、设备及介质
US11127203B2 (en) * 2018-05-16 2021-09-21 Samsung Electronics Co., Ltd. Leveraging crowdsourced data for localization and mapping within an environment
WO2020023383A1 (en) 2018-07-23 2020-01-30 Magic Leap, Inc. Mixed reality system with virtual content warping and method of generating virtual content using same
JP7313811B2 (ja) * 2018-10-26 2023-07-25 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
CN111701238B (zh) * 2020-06-24 2022-04-26 腾讯科技(深圳)有限公司 虚拟画卷的显示方法、装置、设备及存储介质
US20230237616A1 (en) * 2022-01-27 2023-07-27 Sonic Star Global Limited Image processing system and method for generating a super-resolution image
CN117475104A (zh) * 2022-07-22 2024-01-30 戴尔产品有限公司 用于渲染目标场景的方法、电子设备和计算机程序产品
US11593959B1 (en) * 2022-09-30 2023-02-28 Illuscio, Inc. Systems and methods for digitally representing a scene with multi-faceted primitives

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1853200A (zh) * 2003-09-17 2006-10-25 皇家飞利浦电子股份有限公司 用于在3-d图像显示屏上显示3-d图像的系统和方法
CN102165495A (zh) * 2008-09-25 2011-08-24 皇家飞利浦电子股份有限公司 三维图像数据处理
CN102197415A (zh) * 2008-10-21 2011-09-21 皇家飞利浦电子股份有限公司 用于提供场景的分层深度模型的方法和装置
CN102204262A (zh) * 2008-10-28 2011-09-28 皇家飞利浦电子股份有限公司 图像特性的遮挡数据的生成
US20120177283A1 (en) * 2011-01-11 2012-07-12 Sen Wang Forming 3d models using two images

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101208723A (zh) * 2005-02-23 2008-06-25 克雷格·萨默斯 用于3维照相机和3维视频的自动场景建模
US8345751B2 (en) * 2007-06-26 2013-01-01 Koninklijke Philips Electronics N.V. Method and system for encoding a 3D video signal, enclosed 3D video signal, method and system for decoder for a 3D video signal
GB0712690D0 (en) * 2007-06-29 2007-08-08 Imp Innovations Ltd Imagee processing
WO2009081335A1 (en) * 2007-12-20 2009-07-02 Koninklijke Philips Electronics N.V. Image encoding method for stereoscopic rendering
US8106924B2 (en) * 2008-07-31 2012-01-31 Stmicroelectronics S.R.L. Method and system for video rendering, computer program product therefor
WO2010023592A1 (en) * 2008-08-26 2010-03-04 Koninklijke Philips Electronics N.V. Method and system for encoding a 3d video signal, encoder for encoding a 3-d video signal, encoded 3d video signal, method and system for decoding a 3d video signal, decoder for decoding a 3d video signal
TWI542190B (zh) * 2008-11-04 2016-07-11 皇家飛利浦電子股份有限公司 編碼三維影像信號的方法及系統、經編碼之三維影像信號、解碼三維影像信號的方法及系統
KR20130074383A (ko) * 2011-12-26 2013-07-04 삼성전자주식회사 다중-레이어 표현을 사용하는 영상 처리 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1853200A (zh) * 2003-09-17 2006-10-25 皇家飞利浦电子股份有限公司 用于在3-d图像显示屏上显示3-d图像的系统和方法
CN102165495A (zh) * 2008-09-25 2011-08-24 皇家飞利浦电子股份有限公司 三维图像数据处理
CN102197415A (zh) * 2008-10-21 2011-09-21 皇家飞利浦电子股份有限公司 用于提供场景的分层深度模型的方法和装置
CN102204262A (zh) * 2008-10-28 2011-09-28 皇家飞利浦电子股份有限公司 图像特性的遮挡数据的生成
US20120177283A1 (en) * 2011-01-11 2012-07-12 Sen Wang Forming 3d models using two images

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ALEX RECHE-MARTINEZET AL: "《View-Dependent Layered Projective Texture Maps》", 《11TH PACIFIC CONF.ON COMPUTER GRAPHICS AND APPLICATION》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110180179A (zh) * 2018-02-23 2019-08-30 索尼互动娱乐欧洲有限公司 视频记录以及回放系统和方法
CN110180180A (zh) * 2018-02-23 2019-08-30 索尼互动娱乐欧洲有限公司 视频记录和回放系统和方法
CN110784704A (zh) * 2019-11-11 2020-02-11 四川航天神坤科技有限公司 一种监控视频的显示方法、装置及电子设备

Also Published As

Publication number Publication date
EP3192259A4 (en) 2018-05-16
CA2960426A1 (en) 2016-03-17
US20170280133A1 (en) 2017-09-28
WO2016038240A1 (en) 2016-03-17
JP2017532847A (ja) 2017-11-02
KR20170040342A (ko) 2017-04-12
EP3192259A1 (en) 2017-07-19

Similar Documents

Publication Publication Date Title
CN106688231A (zh) 立体图像记录和回放
US10645369B2 (en) Stereo viewing
CN108616731B (zh) 一种360度vr全景图形图像及视频实时生成方法
US5748199A (en) Method and apparatus for converting a two dimensional motion picture into a three dimensional motion picture
CN106413829B (zh) 图像编码和显示
US11010958B2 (en) Method and system for generating an image of a subject in a scene
US20110216160A1 (en) System and method for creating pseudo holographic displays on viewer position aware devices
Bertel et al. Megaparallax: Casual 360 panoramas with motion parallax
US20080246759A1 (en) Automatic Scene Modeling for the 3D Camera and 3D Video
CN107005689B (zh) 数字视频渲染
CN101631257A (zh) 一种实现二维视频码流立体播放的方法及装置
EP3396635A2 (en) A method and technical equipment for encoding media content
CN109716757A (zh) 用于沉浸式视频格式的方法、装置和流
CN115529835A (zh) 用于新颖视图合成的神经混合
WO2019008222A1 (en) METHOD AND APPARATUS FOR ENCODING MULTIMEDIA CONTENT
US20230283759A1 (en) System and method for presenting three-dimensional content
WO2018109265A1 (en) A method and technical equipment for encoding media content
WO2009109804A1 (en) Method and apparatus for image processing
WO2019008233A1 (en) METHOD AND APPARATUS FOR ENCODING MULTIMEDIA CONTENT
Thatte et al. Real-World Virtual Reality With Head-Motion Parallax
Yang et al. A 3D Perspective Display Cube for Multiview Tracking

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170517