CN108604389B - 连续深度排序图像合成 - Google Patents
连续深度排序图像合成 Download PDFInfo
- Publication number
- CN108604389B CN108604389B CN201680081768.3A CN201680081768A CN108604389B CN 108604389 B CN108604389 B CN 108604389B CN 201680081768 A CN201680081768 A CN 201680081768A CN 108604389 B CN108604389 B CN 108604389B
- Authority
- CN
- China
- Prior art keywords
- color
- dimensional
- segment
- segments
- span
- 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.)
- Active
Links
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- 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
-
- 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/257—Colour aspects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
系统使用场景的二维(2D)图像创建场景的输出图像。对于输出图像中的像素,在输出图像中识别与像素相对应的2D片段。系统将2D片段转换为三维(3D)片段,基于3D片段创建用于像素的体跨段,基于用于多个体跨段中的一体跨段的3D片段中的相应一个或多个3D片段颜色贡献来确定所述一体跨段的颜色,以及根据体跨段的所确定的颜色来确定输出图像的像素的颜色。
Description
技术领域
本公开的方案和实施方式涉及图像合成,更具体涉及连续深度排序图像合成。
背景技术
三维(3D)渲染是在计算机上通过3D照片写实(photorealistic)效果或非照片写实渲染将3D线框模型自动转换为二维(2D)图像的计算机图形处理。线框模型是3D计算机图形中使用的3D或物理对象的视觉呈现。可将场景描述语言用于描述通过3D渲染器渲染为2D图像的场景。在从3D场景描述中渲染场景的2D图像的过程中,2D图像的每个像素可以从场景中的多个对象接收贡献(例如图像片段)。为了为每个像素产生单个颜色值,一般在通常称为“合成”的过程中将这些图像片段组合在一起。为了正确地考察遮挡(例如隐藏对象),前景片段一般应当完全遮挡背景片段。如果前景片段是半透明的,则应当使用基于物理的混合技术(诸如“over”运算)在背景片段之上合成前景片段。根据对片段进行合成的顺序,可以获得像素颜色的不同结果。3D场景描述能够不准确,并且因为场景是活动的,所以表面位置中的小错误可能导致片段顺序突然改变。这样的突然改变可能导致合成像素的最终颜色的大的不连续变化,表现为在3D图像中的空间混叠或者在视频中的闪烁。
发明内容
下面给出本公开各个方面的简单概述,以提供对这些方案的基本理解。此概述并非所有设想到的方面的广泛综述,并且既不意图标识关键或重要元素,也不意图描述这些方案的范围。其目的是以简化的形式给出本公开的一些概念,作为稍后给出的更详细描述的前序。
在本公开的方案中,一种方法包括使用场景的二维(2D)图像创建场景的输出图像。对于输出图像中的像素,在输出图像中识别与像素相对应的2D片段,将2D片段转换为三维(3D)片段,基于3D片段创建用于像素的体跨段(volume span),基于用于体跨段的3D片段中的相应一个或多个3D片段的颜色贡献来确定体跨段的颜色,以及根据体跨段的所确定的颜色来确定输出图像的像素的颜色。在一个实施方式中,2D图像是由多个相机来捕捉的。在一个实施方式中,将2D片段转换为3D片段包括:向各个2D片段添加预定义厚度。该方法可通过处理设备执行。
在一个实施方式中,预定义厚度是在视差空间中限定的。预定义厚度也可以在深度空间中限定。在一个实施方式中,确定体跨段的颜色包括:识别3D片段中的向体跨段贡献颜色的一个或多个3D片段,以及确定所识别的3D片段的颜色贡献。在一些实施方式中,识别多个3D片段中的向体跨段贡献颜色的一个或多个3D片段可包括:识别多个3D片段中的具有与体跨段重叠的部分的一个或多个3D片段。在一个实施方式中,确定颜色贡献包括:确定体跨段的长度,确定所识别的一个或多个3D片段中的各个3D片段的总厚度,以及将体跨段的长度除以总厚度。在一个实施方式中,确定多个3D片段中的所识别的一个或多个3D片段的颜色贡献包括:确定所识别的3D片段的颜色的总和,以及将所确定的颜色的总和乘以所识别的3D片段的贡献。在一个实施方式中,基于3D片段创建用于像素的体跨段包括:标记3D片段的开始事件和结束事件,依次排序开始事件和结束事件,以及基于3D片段的开始事件和结束事件的依次排序来限定像素的体跨段的开始事件和结束事件。
本文还描述了一种装备,包括使用场景的2D图像来创建场景的输出图像的装置。对于输出图像中的像素,用于在输出图像中识别与像素相对应的2D片段的装置,用于将2D片段转换为3D片段的装置,用于基于3D片段针对像素创建体跨段的装置,用于基于3D片段中的相应的一个或多个3D片段对于体跨段的颜色贡献来确定多个体跨段中的的一体跨段的颜色的装置,以及用于根据体跨段的所确定的颜色来确定输出图像的像素的颜色的装置。在一个实施方式中,2D图像是由多个相机来捕捉的。在一个实施方式中,用于将2D片段转换为3D片段的装置包括用于向各个2D片段添加预定义厚度的装置。
在一个实施方式中,预定义厚度是在视差空间中限定的。在一个实施方式中,用于确定体跨段的颜色的装置包括用于识别3D片段中的向体跨段贡献颜色的一个或多个3D片段的装置,以及确定所识别的3D片段的颜色贡献的装置。在一个实施方式中,用于确定颜色贡献的装置包括用于确定体跨段的长度的装置,用于确定所识别的一个或多个3D片段中的各个3D片段的总厚度的装置,以及用于将体跨段的长度除以总厚度的装置。在一个实施方式中,用于基于3D片段创建用于像素的体跨段的装置包括:用于标记3D片段的开始事件和结束事件的装置,用于依次排序3D片段的开始事件和结束事件的装置,以及用于基于3D片段的开始事件和结束事件的依次排序来限定用于像素的体跨段的开始事件和结束事件的装置。
在附加实施方式中,还实现了用于执行上述实施方式的操作的计算设备。此外在本公开的实施方式中,计算机可读存储介质可以存储用于执行本文所述的实施方式的操作的指令。
应当理解,可将实施方式组合,使得在一个实施方式的场境(context)下描述的特征可以与其他实施方式的特征组合。具体而言,虽然上面描述了各个实施方式,但是应当理解,可将上述特征组合成实施方式的特征的一个或多个组合,以提供另外的实施方式。
附图说明
根据下面给出的具体实施方式以及本公开各个方面和实施方式的附图能够更全面地理解本公开的方面和实施方式,但是,附图不应当理解为将本公开限制于特定的方面或实施方式,而是仅用于说明和理解。
图1示出根据本公开一个实施方式的用于连续图像合成的系统架构的示例。
图2示出根据本公开一个实施方式的用于使用三维片段确定像素的颜色的方法的方面的流程图。
图3示出根据本公开一个实施方式的识别用于像素的二维(2D)片段的示例。
图4示出根据本公开一个实施方式的将2D片段转换为三维(3D)片段的示例。
图5示出根据本公开一个实施方式的创建用于像素的体跨段的示例。
图6示出根据本公开一个实施方式的用于空间和时间上连续的图像合成的改进的像素颜色的系统架构的示例。
图7示出根据本公开一个或多个方案操作的示例计算设备的框图。
具体实施方式
本公开的方面和实施方式涉及连续深度排序图像合成。相机可以捕捉视频的一系列图像。视频帧是构成运动图(下面称为“视频”)的许多静止图像中的一个。视频闪烁指代由图像中像素颜色的大的不连续变化导致的结果。在从三维(3D)场景描述中渲染场景的二维(2D)图像的过程中,2D图像的每个像素可以从场景中的多个对象接收贡献(例如图像片段)。为了为每个像素产生单个颜色值,一般在通常称为“合成”的过程中将这些图像片段组合在一起。一般而言,合成涉及按照顺序合成片段。根据对片段进行合成的顺序,可以获得像素颜色的不同结果。常规合成技术可能将片段不准确地群集在一起,并且当场景活动时,群集的片段可能导致片段顺序突然改变。这样的突然改变可能导致合成像素的最终颜色的大的不连续变化,并且在2D图像中产生空间上不连贯的结果,在视频中产生时间上不连贯的结果。本公开的方案可以去除和/或防止片段顺序的突然改变,以提供空间和时间上连续的图像合成。下面,连续和/或连续性指代深度上的极小变化应当仅在合成结果中产生极小的变化。
本公开的方面在渲染2D输出图像期间收集每个像素的片段。与常规的合成方案不同,本公开的方案为每个片段指派有限的厚度,以将该片段转换为3D片段。本公开的方面使用3D片段的有限厚度来确定如何将片段分组在一起。基于3D片段的有限厚度对片段进行分组可以防止片段顺序的突然改变。本公开的方面可以基于片段分组的颜色贡献来确定像素的颜色。本公开的方面产生更准确的像素颜色,以提供空间和时间上连续的图像合成,这有助于防止视频闪烁。
图1示出根据本公开一个实施方式的用于连续图像合成的系统架构100的示例,其有助于防止2D图像中不期望的伪像和视频中的时间闪烁。系统架构100包括一个或多个相机(例如相机105A-105P)、一个或多个服务器(例如服务器120)、一个或多个数据存储(例如数据存储106)、一个或多个用户设备(例如用户设备150)、以及一个或多个平台(例如平台140),它们经由一个或多个网络(例如网络110)耦合。
在一个实施方式中,网络110可包括公用网络(例如互联网)、专用网络(例如局域网(LAN)或广域网(WAN))、有线网络(例如以太网网络)、无线网络(例如802.11网络或Wi-Fi网络)、蜂窝网络(例如长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机和/或它们的组合。在一个实施方式中,网络110可以是云。
相机105A-105P例如可以是ODS(全向立体)相机和/或深度感知相机。ODS相机是在水平平面中具有360度视场或具有(大致)覆盖整个球面的视场的相机。深度感知相机可以为在深度感知相机的范围内捕捉的一个或多个对象创建深度数据。在一个实施方式中,系统架构100包括一个深度感知相机。在另一个实施方式中,系统架构100包括多个相机,诸如ODS相机和/或深度感知相机。
相机可以被设置在相机阵列160中。相机阵列160中的多个相机可以共享设置和帧级同步,以使该多个相机充当一个相机。例如,系统架构100可包括在相机阵列160中设置的16个ODS相机。相机阵列160可以是环形的。环形阵列160可包括用于容纳相机的立体视觉虚拟现实(VR)装备。相机阵列160可以是多视点相机系统,其可将相机的运动链接在一起,以从不同角度捕捉场景的图像。场景可包括一个或多个对象。
相机可以使用RGB(红,绿,蓝)颜色空间。在一个实施方式中,相机可以产生输出数据,诸如颜色数据。颜色数据可包括相机捕捉的图像中的每个像素的RGB向量。在另一个实施方式中,相机可以产生可以转换为颜色数据(例如RGB向量)的输出数据。在本文中,将使用RGB颜色空间的相机作为示例。
相机105A-P可以捕捉在相机105A-P的范围内的场景,以创建例如视频流的内容。内容可以是场景的RGB图像序列。每个相机105A-P可以输出视频流,该视频流由相应相机捕捉的RGB图像序列组成。视频流中的RGB图像由像素构成。RGB图像例如可以编码为二进制字符串阵列,其中每像素4个字节。
视频流和颜色数据可以存储在数据存储(例如数据存储180)中。数据存储180可以是能够存储数据的持久性存储。持久性存储可以是本地存储单元或远程存储单元。持久性存储可以是磁存储单元、光存储单元、固态存储单元、电子存储单元(主存储器)或类似的存储单元。持久性存储可以是单片设备或分布式设备集合。如本文所使用的,“集合”指代任何正整数个项目。
一个或多个服务器(例如服务器120)可以处理相机105A-P生成的视频流,以产生输出图像(例如输出图像130),从而生成输出视频流170。服务器可以由以下托管:一个或多个计算设备(诸如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型主机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例如硬盘、存储器、数据库)、网络、软件组件、和/或可用于向用户提供内容的硬件组件。
在一个实施方式中,输出图像是全景场景(或“全景”),且输出视频流可以是沉浸式视频。在其他实施方式中,输出图像是非全景视图。全景是物理空间的广角视图或广角表示。沉浸式视频——又称为“360视频”、“360度视频”或“球形视频”——是真实世界全景的视频流,其中同时记录每个方向的视图,并例如使用全向立体相机(例如相机105A-105P)或相机集合(例如相机阵列160)来拍摄。在回放期间,用户可以控制观看方向,这是虚拟现实的一种形式。虚拟现实(VR)是一种复制环境(真实或想象的环境)的计算机技术,并且可以以允许用户与其交互的方式来模拟用户的物理存在和环境。虚拟现实可以人为地创造感官体验,包括视觉、触觉、听觉和/或嗅觉。
服务器120可以使用计算机视觉和3D对准来对准相机105A-P产生的RGB图像并将RGB图像拼接成无缝的照片镶嵌,以创建输出视频流170。计算机视觉指代用于获取、处理、分析和理解来自现实世界的图像和高维数据,以便产生数字或符号信息的方法。输出图像(例如输出图像130)和输出视频流170可以存储在数据存储180中。
服务器120可包括合成器125,以确定输出视频流170的输出图像(例如输出图像130)的像素的颜色。合成器125可将喷溅(splatting)技术应用于相机105A-P产生的输入图像,以产生用于输出图像(例如输出图像130)的喷溅(splat),从而产生RGBA向量,其包括每个像素的四个通道(例如,红色通道、绿色通道、蓝色通道、Alpha通道)。“Alpha”在下面也用“α”表示。不透明度信息由alpha通道(Alpha)表示。不透明度是缺乏透明度或半透明度(不透明度)的状况。相机105A-P产生的RGB图像的组合连同像素的alpha通道信息在下面称为RGBA图像。RGBA图像可以是2D图像。从RGBA图像185生成的输出图像(例如输出图像130)可以是2D图像。合成器125可以在3D中分析2D RGBA图像185中的场景。服务器120可以基于合成器125的分析来调整拼接。
为了在3D建模中分析2D RGBA图像185中的场景,合成器125可以识别输出图像130中的像素,并识别输出图像130中与该像素相关联的2D片段。合成器125可将2D片段转换为用于像素的3D片段,并基于3D片段为像素创建体跨段(volume span)。合成器125可以基于3D片段的颜色贡献来确定体跨段的颜色,并基于体跨段的颜色来确定输出图像的像素的颜色。下面结合图2至图5更详细地描述在3D建模中分析2D RGBA图像185中的场景以确定像素的更准确颜色。合成器125可以确定输出图像130中每个像素的颜色。合成器125可以确定用于生成输出视频流170的输出图像中像素的颜色。
输出视频流170可以是单个视频流,其可通过一个或多个平台(例如内容共享平台)访问。一个或多个平台可将输出视频流170提供给一个或多个用户设备(例如VR头戴装置、智能电话等)。例如,输出视频流170可以在VR头戴装置或支持360观看的任何类型的系统中回放。下面在图6中更详细地描述通过一个或多个平台向一个或多个用户设备提供输出视频流170。
图2示出根据本公开一个实施方式的,使用三维片段确定像素的颜色的方法200的方面的流程图。方法200是通过处理逻辑来执行的,其可包括硬件(电路、专用逻辑等)、软件(诸如在通用计算机系统或专用机器上运行)、或二者的组合。在一个实施方式中,通过图1的合成器125执行所述方法,而在一些其他实施方式中,可通过另一机器执行图2的一个或多个框。
在框210,处理设备使用场景的一个或多个二维(2D)图像来创建场景的输出图像(例如图1的输出图像130)。一个或多个2D图像可以是通过一个或多个相机(例如图1的相机105A-P)生成的2D RGBA图像(例如图1的RGBA图像185)。处理设备可以使用计算机视觉技术和3D对准技术来对准相机产生的2D RGBA图像,以创建输出图像。
在框220,对于输出图像中的像素,处理设备在输出图像中识别与像素相对应的2D片段。处理设备可以识别像素的一到四个片段。在2D RGBA图像中,关于高分辨率纹理可以有非常大数目的点。在一个实施方式中,在处理大量点时,处理设备利用表面喷溅点渲染技术来容忍几何精度和纹理保真度的固有损失。在一个实施方式中,处理设备使用表面喷溅在2D RGBA图像中针对每个像素在输出图像中生成喷溅。喷溅是像素中的点。处理设备可以使用前向喷溅算法来生成喷溅。在一个实施方式中,处理设备将前向喷溅算法应用于输入图像(例如相机产生的图像)中的像素并在输出图像中产生一个喷溅。处理设备可将喷溅技术应用于输入图像中的每个像素,以将每个输入图像像素转换为喷溅,该喷溅落在输出图像中的一个位置。可以有多个喷溅落于每个输出像素(即输出图像中的像素)。处理设备可使用输出图像中的像素的喷溅来生成该输出图像的该像素的片段。
处理设备可通过以下来计算每个像素的颜色:混合例如在附近绘制的图像的片段的贡献并根据该像素被该片段覆盖的程度来对每个片段的贡献进行加权。这种技术被称为“抗混叠(anti-aliasing)”,因为它降低了导致图像中的突然改变的欠采样的“混叠”效应。用于实现抗混叠图像生成的示例方案是A缓冲方案(A-buffer scheme)。A缓冲可用于产生片段对像素的所有贡献的开放式列表。针对与像素重叠的每个绘制对象维护片段列表。处理设备可将A缓冲算法应用于喷溅,从而创建像素的片段。
图3示出根据本公开一个实施方式的识别像素的2D片段的示例。输出图像300可包括像素的集合。像素可以是正方形。处理设备可以生成落于输出图像的每个像素中的一个或多个喷溅。例如,喷溅320处于像素330中。
处理设备可将A缓冲应用于图像300中像素的集合,以产生片段的集合(例如片段1-4)。片段是嵌接至像素边界的多边形。例如,像素330具有四个片段1-4,其均是多边形。A缓冲可通过将多边形嵌接至它们覆盖的每个正方形像素来按照扫描线顺序处理多边形,以输出与每个正方形像素相对应的片段列表。A缓冲可以跨图像300中的像素滑动网格310,以对于像素(例如像素330)的喷溅(例如喷溅320)定义像素的片段(例如片段1-4)。处理设备可以为每个片段生成颜色数据(例如RGBA向量)并存储。
再参考图2,在框230,处理设备将2D片段转换为三维(3D)片段。2D片段具有使用x轴和y轴的x-y印迹(footprint)。对于每个2D片段,处理设备沿着第三维度的轴将预定义厚度添加到2D片段的前侧和后侧。第三维度可以处于视差(d)空间或深度(z)空间中。视差d是代替深度的流向量长度,并且与深度z成反比,使得视差d=1/z。在本文中,将视差d用作第三维度的示例。
图4示出根据本公开一个实施方式的将2D片段转换为3D片段的示例。处理设备识别像素的一个或多个2D片段。为了说明的简明,图4描绘像素的一个2D片段400。处理设备沿着d轴(例如视差轴)将预定义厚度(“n”)420添加到2D片段400的前侧并添加到2D片段400的后侧,以将2D片段400转换为3D片段410。在另一个实施方式中,可以沿着z轴(例如深度轴)在深度空间中限定预定义厚度。预定义厚度n 420可以是可配置的和/或用户定义的。
参考图2,在框240,处理设备基于3D片段为像素创建体跨段。处理设备可以沿着第三维度轴(例如d轴)对3D片段进行排序。处理设备可以根据3D片段的视差来沿着d轴定位3D片段。
图5描绘根据本公开一个实施方式的为像素创建体跨段的示例。在图5的示例中,d轴500A-C表示相对于相机原点510的视差。对于像素存在四个2D片段(例如片段501、503、505、507)。d轴500A表示视差空间中的第三维度。视差与深度成反比,并且可以是相对于相机的原点510。d轴500A-500C表示视差d=1/z并且可具有表示相机原点510的参考点。d轴500A示出了四个2D片段501、503、505、507的横截面视图,每个2D片段沿x轴(例如图4中的x轴)和y轴(例如图4中的y轴)具有x-y坐标。为了简化说明,图5未示出x轴和y轴。
d轴500B示出四个3D片段502、504、506、508的横截面视图。处理设备可以在d轴500A中的2D片段501、503、505、507中的每个2D片段的两侧添加预定义的有限厚度n,从而将2D片段501、503、505、507转换为d轴500B中所示的3D片段502、504、506、508。
处理设备可以在d轴500B中识别并标记3D片段502、504、506、508中的每个3D片段的开始事件和结束事件。开始事件是3D片段的开始,并且可由d轴500B的度量(例如视差)表示。结束事件是3D片段的结束,并且可由d轴500B的度量(例如视差)表示。例如,处理设备标记3D片段502的开始事件d0和结束事件d3,3D片段504的开始事件d1和结束事件d4,3D片段506的开始事件d2和结束事件d5,以及3D片段508的开始事件d6和结束事件d7。可将事件标记存储在数据存储(例如图1的数据存储器180)中。
处理设备可以基于3D片段502、504、506、508的开始事件和结束事件为像素创建体跨段。处理设备例如可通过基于事件的视差d的值依次排序事件标记来限定体跨段。处理设备可以使用事件标记的顺序来限定像素的体跨段的开始事件和结束事件。体跨段是为其选择事件标记中的一个(例如dv)作为其开始事件,并且按事件标记的依次顺序选择下一个事件标记(例如dv+1)作为其结束事件的3D片段。例如,处理设备可通过将体跨段513限定为具有开始事件d0和结束事件d1来创建体跨段513。在另一个示例中,处理设备可通过将体跨段515限定为具有开始事件d1和结束事件d2来创建另一个体跨段515。在其他示例中,处理设备可以使用事件标记d0、d1、d2、d3、d4、d5、d6和d7来限定和创建像素的体跨段513-523。
参考图2,在框250,处理设备基于构成体跨段的相应3D片段的颜色贡献来确定体跨段(例如图5的体跨段513-523)的颜色。为了确定颜色贡献,处理设备识别哪些3D片段具有与体跨段重叠的部分,并由此为体跨段贡献颜色。例如在图5中,对于体跨段513,3D片段502具有与体跨段513重叠的部分556。部分556的颜色为体跨段513的颜色作出贡献。在另一个示例中,对于体跨段515,处理设备可以确定3D片段502具有与体跨段515重叠的部分557,并且3D片段504具有与体跨段515重叠的部分551。部分557的颜色和部分551的颜色为体跨段515的颜色作出贡献。
处理设备可以确定所识别的3D片段的颜色贡献。可将特定体跨段的3D片段的颜色贡献确定为体跨段的长度除以3D片段的总厚度k。对于各个3D片段而言,总厚度k是相同的。处理设备可将所识别的3D片段的颜色贡献确定为:
(di+1-di)/k (方程式1)
在方程式1中,参数i指代体跨段。体跨段的长度是(di+1-di)。参数k指代3D片段的总厚度。颜色贡献可以表示为值或百分比。例如,对于体跨段523而言,单个3D片段(例如3D片段508)至少有一部分与体跨段523重叠。在这种情况下,3D片段508的整体与体跨段523重叠。体跨段523的长度563除以3D片段508的总厚度561可以是1或100%。3D片段508对体跨段523的颜色的贡献是100%。
在另一个示例中,对于体跨段513而言,单个3D片段(例如3D片段502)至少有一部分与体跨段513重叠。在这种情况下,体跨段513的长度558除以3D片段502的总厚度554可以是0.6或60%。3D片段502对体跨段513的颜色的贡献是60%。
在另一个示例中,对于体跨段515而言,两个3D片段(例如3D片段502、3D片段504)至少有一部分与体跨段515重叠。在这种情况下,体跨段515的长度559除以3D片段(例如3D片段502、3D片段504)的总厚度(例如总厚度553或总厚度554,它们是相同的)可以是0.2或20%。3D片段(例如3D片段502、3D片段504)对体跨段515的颜色的贡献是20%。
处理设备可以根据所识别的有一部分与体跨段重叠的3D片段的颜色贡献来确定体跨段的颜色。处理设备可以确定所识别的3D片段的颜色,并确定颜色的总和。处理设备可将所识别的3D片段的颜色的总和与所识别的3D片段的贡献相乘。例如,3D片段(例如3D片段502、3D片段504)对体跨段515的颜色的贡献是20%。处理设备可将所识别的3D片段的颜色的总和乘以20%,如下结合方程式2所详细描述的。
处理设备可以使用贡献(例如[(di+1-di)/k])将体跨段(例如体跨段515)的颜色(c’)确定为:
c’i=[(di+1-di)/k]Σj∈θiMfj (方程式2)
在方程式2中,参数i指代体跨段(例如体跨段515)。参数j指代包括与体跨段i(例如体跨段515)重叠的部分(例如部分551、部分557)的3D片段(例如3D片段504、3D片段502)。参数k指代3D片段j(例如3D片段504、3D片段502)的总厚度(例如总厚度553、总厚度554)。θi指代与体跨段i重叠的部分(例如部分551、部分557)的群组。
在方程式2中,fj指代3D片段j的RGBA颜色。颜色可以用RGBA颜色值表示。RGBA颜色值可以指定为三个颜色通道,例如RGB(红色,绿色,蓝色),以及由alpha通道(Alpha)表示的不透明度信息。不透明度是缺乏透明度或半透明度(不透明度)的状况。alpha通道指定3D片段j表示的对象的不透明度。
可将RGBA颜色值指定为向量,诸如RGBA(红色,绿色,蓝色,α)。向量的颜色通道中的每个颜色参数(例如,红色,绿色和蓝色)定义颜色的强度,并且可以是0到255之间的整数或百分比值(从0%到100%)。例如,对于RGB颜色值而言,RGB(0,0,255)值或RGB(0%,0%,100%)可以渲染为蓝色,因为蓝色参数被设置为它的最高值(255或100%),而其他参数值被设置为0或0%。
在向量的α通道中表示为A或α的alpha参数例如可以是0.0(完全透明)与1.0(完全不透明)之间的数字。在另一个示例中,表示为A或α的alpha参数可以用8位颜色方案来表示,其中255是完全不透明,而0是完全透明。处理设备可以根据相机(例如图1的相机105A-P)产生的输出数据(例如颜色数据)来确定3D片段j的RGBA颜色值。处理设备可以从数据存储(例如图1的数据存储180)访问颜色数据。
像素的四元组(R,G,B,A)可以表示像素以一定百分比被全色对象覆盖。例如,RGBA向量(0.5,0,0,.5)表示一个全红对象半覆盖像素。四元组(R,G,B,A)指示像素是被颜色(R/A,G/A,B/A)覆盖的A。
在以上方程式2中,M是可配置和/或用户定义的权重乘数。在一个实施方式中,将M设置为0.5。Mfj指代3D片段j的加权RGBA颜色。在一个实施方式中,M仅应用于RGBA向量中的A通道,以确定alpha值。
处理设备可以使用方程式2来确定体跨段的颜色(c’)。体跨段的颜色(c’)可由RGBA向量来表示。在一个实施方式中,如果RGBA向量中的体跨段的所得alpha值超过值1或8位颜色方案中的255,则处理设备可将体跨段的RGBA向量归一化。
处理设备可以为体跨段检查RGBA颜色c’i向量中A通道中的alpha的值α,并确定α值是否超过1或者在8位颜色方案中超过255。如果α值超过阈值,则处理设备可通过将体跨段的RGBA向量中的所有通道除以α值来将α值归一化。
参照图2,在框260,处理设备根据体跨段的颜色来确定输出图像的像素的颜色。处理设备可将方程式2应用于每个体跨段。例如在图5中,处理设备可以确定体跨段513的颜色(c0)、体跨段515的颜色(c1)、体跨段517的颜色(c2)、体跨段519的颜色(c3)、体跨段521的颜色(c4)、以及体跨段523的颜色(c5)。
处理设备可通过对体跨段的颜色执行over运算来确定像素的合成颜色如下:
ccomposite=c0over c1over......cn (方程式3)
over运算定义如下:
a over b=a+(1-a_alpha)*b (方程式4)
其中a和b是rgba向量,a_alpha是a的第四分量,即alpha值。处理设备可将输出图像(例如图1的输出图像130)的像素的颜色存储在数据存储(例如图1的数据存储180)中。处理设备可以对输出图像(例如图1的输出图像130)中的其他像素重复框220到260。由处理设备确定的像素颜色比传统的合成方案更准确,并且有助于防止用于创建输出视频流(例如图1的输出视频流170)的图像中的突然像素颜色改变。由处理设备确定的像素颜色提供空间和时间上连续的合成,以减少2D图像中的空间伪像和输出视频流中的视频闪烁。
图6示出根据本公开一个实施方式的,用于空间和时间上连续的图像合成的改进的像素颜色的系统架构600的示例。系统架构600包括用户设备610A到610Z、一个或多个网络605、一个或多个数据存储606、一个或多个服务器630、以及一个或多个平台(例如内容共享平台620、推荐平台657、广告平台665、移动平台650、社交网络平台660、搜索平台645、内容提供者平台697、以及协作平台655)。用户设备610A到610Z可以是客户端设备。
一个或多个网络605可包括一个或多个公用网络(例如互联网)、一个或多个专用网络(例如局域网(LAN)或一个或多个广域网(WAN))、一个或多个有线网络(例如以太网)、一个或多个无线网络(例如802.11网络或Wi-Fi网络)、一个或多个蜂窝网络(例如长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机和/或它们的组合。在一个实施方式中,架构600的一些组件并非直接相互连接。在一个实施方式中,架构600包括分开的网络605。
一个或多个数据存储606可以是存储器(例如随机存取存储器)、高速缓存、驱动器(例如硬盘驱动器)、闪存驱动器、数据库系统、或能够存储数据的其他类型的组件或设备。一个或多个数据存储606可包括多个存储组件(例如多个驱动器或多个数据库),它们也可以跨多个计算设备(例如多个服务器计算机)。数据存储606可以是能够存储数据的持久性存储。持久性存储可以是本地存储单元或远程存储单元。持久性存储可以是磁存储单元、光存储单元、固态存储单元、电子存储单元(主存储器)、或类似的存储单元。持久性存储可以是单片设备或分布式设备集。如本文所使用的,“集合”指代任何正整数个项目。
内容项目621可以存储在一个或多个数据存储606中。数据存储606可以是一个或多个平台的一部分。内容项目621的示例可包括但不限于输出视频流(例如图1的输出视频流170)、数字视频、数字电影、活动图像、数字照片、数字音乐、数字音频、网站内容、社交媒体更新、电子书(ebook)、电子杂志、数字报纸、数字音频书、电子期刊、web博客、简易聚合(RSS)、电子漫画书、软件应用等。内容项目621也称为媒体项目。为了简明起见,本文中将输出视频流(下面也称为视频)(例如图1的输出视频流170)用作内容项目621的示例。
内容项目621可由服务器630提供,以供存储在一个或多个数据存储606中。内容项目621可以是沉浸式视频,又称为“360视频”、“360度视频”、或“球形视频”,是真实世界全景的视频流,其中同时记录每个方向的视图。在回放期间,用户可以控制观看方向。服务器230可包括合成器240,用于经由通信应用215向用户提供输出视频流(例如沉浸式视频)。服务器230可以是一个或多个计算设备(例如机架式服务器、服务器计算机等)。在一个实施方式中,服务器230包括在平台中的一个或多个中。在另一个实施方式中,服务器230与平台分离,但是可以与一个或多个平台通信(例如交换数据)。
内容项目621可通过内容提供者提供,以供存储在一个或多个数据存储606中。在一个实施方式中,内容提供者将RGBA图像(例如图1的RGBA图像185)提供给服务器630(例如图1的服务器120),且服务器640处理RGBA图像以产生输出图像(例如输出图像130)并使用该输出图像来创建内容项目621(例如图1的输出视频流170)。内容提供者可以是用户、公司、组织等。
服务提供者(例如内容共享平台620、推荐平台657、广告平台665、移动平台650、社交网络平台660、搜索平台645、内容提供者平台697、或协作平台655)可以在用户设备610A-610Z上提供沉浸式视频,以供用户观看。
用户设备610A-610Z可包括诸如虚拟现实头戴装置、智能手机、蜂窝电话、个人数字助理(PDA)、便携式媒体播放器、上网本、膝上型计算机、电子书阅读器、平板计算机、台式计算机、机顶盒、游戏控制台、电视机的设备或支持360观看的任何类型的设备。
各个用户设备610A-610Z可包括通信应用615。可经由通信应用615、互联网等来消费内容项目621。如本文所使用的,“媒体”、“媒体项目”、“在线媒体项目”、“数字媒体”、“数字媒体项目”、“内容”和“内容项目”可包括这样的电子文件:其可以使用被配置为呈现内容项目的软件、固件或硬件来执行或加载。在一个实施方式中,通信应用615可以是这样的应用:该应用允许用户通过平台(例如内容共享平台620、推荐平台657、广告平台665、移动平台650、社交网络平台660、搜索平台645、协作平台655和内容提供者平台697)和/或平台和/或网络的组合来创作、发送和接收内容项目621(例如沉浸式视频)。
例如,通信应用615可以是社交网络应用、视频共享应用、照片共享应用、聊天应用、内容提供者的移动应用、或这样的应用的任何组合。用户设备中的通信应用615可以向一个或多个用户渲染、显示和/或呈现一个或多个内容项目621(例如沉浸式视频)。例如,通信应用615可以提供要在用户设备的显示器中渲染的一个或多个用户界面(例如图形用户界面),以用于发送、接收和/或播放沉浸式视频。
在一个实施方式中,各个用户设备610A-610Z包括内容查看器613(例如媒体播放器)以向一个或多个用户渲染、显示和/或呈现内容项目621(例如沉浸式视频)。在一个实施方式中,内容查看器613嵌入在应用(例如通信应用615)中。例如对于移动设备而言,通信应用615可以是这样的移动应用:其可以从平台(例如内容共享平台620、社交网络平台660、内容提供者平台697等)下载,并且可包括内容查看器613(例如媒体播放器)。在另一个示例中,通信应用615可以是桌面应用,例如可以访问、检索、呈现和/或导航通过平台的Web服务器来派发的内容(例如像超文本标记语言(HTML)页面这样的网页、数字媒体等)的web浏览器。内容查看器613可以是web浏览器插件或单独的应用。在一个实施方式中,内容查看器613嵌入在网页中。例如,内容查看器613可以是嵌入在文档(例如网页)中的嵌入式媒体播放器(例如播放器或HTML5播放器)。
内容提供者平台697可以提供服务,并且内容提供者可以是服务提供者。例如,内容提供者可以是流服务提供者,它经由通信应用615提供媒体流送服务,以供用户经由内容提供者平台697在用户设备610A-210Z上播放电视节目、剪辑和电影。内容提供者平台697可以是可用于向用户提供内容的一个或多个计算设备(诸如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例如硬盘、存储器、数据库)、网络、软件组件、和/或硬件组件。
社交网络平台660可以提供在线社交网络服务。社交网络平台660可以提供通信应用615,以供用户创建简档并利用他们的简档进行活动。活动可包括更新简档设置,与其他用户交换消息,发布状态更新、照片、视频等以与其他用户共享,评估(例如喜欢、评论、分享、推荐)状态更新、照片、视频等,以及接收其他用户活动的通知。社交网络平台660可以是可用于在用户之间提供通信的一个或多个计算设备(例如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例如硬盘、存储器、数据库)、网络、软件组件、和/或硬件组件。
移动平台650可以是和/或包括一个或多个计算设备(例如服务器)、数据存储、网络(例如电话网络、蜂窝网络、局域网、互联网、和/或网络的组合)、软件组件、和/或硬件组件,它们可用于允许用户使用一个或多个移动设备(例如电话、平板计算机、膝上型计算机、可穿戴设备等)和/或任何其他合适的设备相互连接、共享信息和/或交互。例如,移动平台250可以实现电话通信、短消息服务(SMS)消息收发、多媒体消息服务(MMS)消息收发、文本聊天、和/或用户之间的任何其他通信。移动平台650可经由视频消息收发、视频聊天、和/或视频会议来支持用户通信。
例如使用流视频或IP语音(VoIP)技术、蜂窝技术、LAN和/或WAN技术,协作平台655可以实现协作服务,诸如视频聊天、视频消息收发、以及音频和/或视频会议(例如在设备610A-610Z的用户间),并且可用于面向个人、娱乐、商业、教育、或学术的交互。协作平台655可以是可用于在用户之间提供通信的一个或多个计算设备(诸如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例如硬盘、存储器、数据库)、网络、软件组件、和/或硬件组件。
推荐平台657可以是可用于生成和提供内容推荐(例如文章、视频、帖子、新闻、游戏等)的一个或多个计算设备(诸如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、笔记本计算机、平板计算机、台式计算机等)、数据存储(例如硬盘、存储器、数据库)、网络、软件组件、和/或硬件组件。
搜索平台645可以是可用于允许用户查询一个或多个数据存储606和/或一个或多个平台并接收查询结果的一个或多个计算设备(例如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例如硬盘、存储器、数据库)、网络、软件组件和/或硬件组件。
广告平台665可以提供视频广告。广告平台265可以是可用于提供视频广告的一个或多个计算设备(例如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机等)、数据存储(例如硬盘、存储器、数据库)、网络、软件组件、和/或硬件组件。可将内容项目621(例如沉浸式视频)用作视频广告。
内容共享平台620可以是可用于向一个或多个用户提供对内容项目621的访问和/或向一个或多个用户提供内容项目621的一个或多个计算设备(例如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、膝上型计算机、平板计算机、台式计算机、数据存储(例如硬盘、存储器、数据库)、网络、软件组件、和/或硬件组件。例如,内容共享平台220可以允许用户消费、上传、下载和/或搜索内容项目621。在另一个示例中,内容共享平台620可以允许用户评估内容项目621,诸如赞同(喜欢)、不喜欢、推荐、分享、评级和/或评论内容项目621。在另一个示例中,内容共享平台620可以允许用户编辑内容项目621。内容共享平台620还可包括网站(例如一个或多个网页)和/或一个或多个应用(例如通信应用615),它们可用于例如经由用户设备610A-610Z向一个或多个用户提供对内容项目621的访问。内容共享平台620可包括提供对内容项目621的访问的任何类型的内容传递网络。内容共享平台620可包括内容馈送组件690,以呈现列出馈送项目的内容馈送695,例如通信应用615的用户界面中的内容项目621。
内容共享平台620可包括多个频道(例如频道A 625)。频道可以是可从公共源获得的数据内容或具有共同标题或主题的数据内容。数据内容可以是用户选择的数字内容、使用户可获得的数字内容、用户上传的数字内容、内容提供者选择的数字内容、广播公司选择的数字内容等。例如,频道A 625可包括沉浸式视频Y和Z。频道可以与所有者相关联,该所有者是可以在频道上进行动作的用户。数据内容可以是一个或多个内容项目621。
可以基于频道所有者的动作将不同的活动与频道相关联,诸如频道所有者使数字内容在频道上可用、频道所有者选择(例如喜欢)与另一个频道相关联的数字内容、频道所有者评论与另一个频道等相关联的数字内容等等。除频道所有者之外的用户可以订阅他们感兴趣的一个或多个频道。一旦用户订阅频道,就可以向该用户呈现来自该频道的活动馈送的信息。虽然将频道描述为内容共享平台的一个实施方式,但是本公开的实施方式不限于经由频道模型提供内容项目621的内容共享平台。
为了简化说明,将本公开的方法示出和描述为一系列动作。但是,根据本公开的动作可以按照各种顺序和/或同时发生,以及与本文未呈现和描述的其他动作一起发生。此外,可能不需要所有示出的动作来实现根据所公开的主题的方法。此外,本领域技术人员应当理解,可以经由状态图或事件将所述方法替选地表示为一系列相关联状态。此外应当理解,本说明书中公开的方法能够存储在制品上,以便将这些方法运输和传送给计算设备。本文使用的术语“制品”旨在涵盖可从任何计算机可读设备或存储介质访问的计算机程序。
图7示出根据本公开一个实施方式的采用计算机系统700的示例形式的机器的示意图,在计算机系统700中可以执行指令集以用于使得所述机器进行本文所述的一个或多个方法。计算机系统700可以托管图1的服务器120。在替选实施方式中,机器可以连接(例如联网)到LAN、内联网、外联网或互联网中的其他机器。机器可以在客户端-服务器网络环境中以服务器或客户端机器的功能操作,或者在对等(或分布式)网络环境中作为对等机器运行。机器可以是个人计算机(PC)、平板计算机、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器、或任何能够执行一组指令(依次或其他方式)的任何机器,所述指令指定所述机器要采取的动作。此外,虽然仅示出单个机器,但是术语“机器”还应当视为包括单独或联合执行一组(或多组)指令以执行本文所述一个或多个方法的任何一个的任何机器集合。
示例计算机系统700包括处理设备(处理器)702、主存储器704((例如只读存储器(ROM)、闪存、动态随机存取存储器(DRAM)(诸如同步DRAM(SDRAM)、双倍数据速率(DDRSDRAM)或DRAM(RDRAM))、静态存储器706(例如闪存、静态随机存取存储器(SRAM)等等)、以及数据存储设备718,它们经由总线730相互通信。
处理器(处理设备)702表示一个或多个通用处理设备,例如微处理器、中央处理单元等。更具体而言,处理器702可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、或者实现其他指令集的处理器或实现指令集组合的多个处理器。处理器702也可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理器702被配置为执行指令722,以用于进行本文所述的操作和步骤。
计算机系统700还可包括网络接口设备708。计算机系统700还可包括视频显示单元710(例如液晶显示器(LCD)或阴极射线管(CRT))、输入设备712(例如键盘、字母数字键盘、运动感测输入设备、触摸屏)、光标控制设备714(例如鼠标)、以及信号生成设备716(例如扬声器)。计算机系统700还可包括相机717,以记录可以直接存储、传输到另一个位置、或者两者兼可的图像。这些图像可以是静态照片或动态图像,例如视频或电影。相机717可以是深度感知相机,可以捕捉RGB图像以及每像素深度信息。
数据存储设备718可包括非暂时性计算机可读存储介质728,其上存储有具体实现本文所述的方法或功能中的任何一个或多个的一个或多个指令集722(例如软件)。通过也构成计算机可读存储介质的计算机系统700、主存储器704和处理器702,在其执行期间,指令722也可以完全或至少部分地驻留在主存储器704内和/或处理器702内。此外,指令722可以经由网络接口设备708在网络720上传输或接收。
在一个实施方式中,指令722包括用于合成器(例如图1的合成器125)的指令和/或包含调用合成器的方法的软件库。虽然在示例性实施方式中将计算机可读存储介质728(机器可读存储介质)示出为单个介质,但是术语“计算机可读存储介质”应当视为包括存储一个或多个指令集的单个介质或多个介质(例如集中式或分布式数据库、和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当理解为包括能够存储、编码或携载指令集以供机器执行并使得机器进行本公开的方法中的任何一个或多个的任何介质。因此,术语“计算机可读存储介质”应当理解为包括但不限于固态存储器、光学介质和磁介质。
在前面的描述中给出了许多细节。但是对于受益于本公开的本领域技术人员而言显然,没有这些具体细节也可以实践本公开。在一些情况下,按照框图的形式示出公知的结构和设备而不是详细示出,以免模糊本公开。
已经根据对计算机存储器内的数据位的操作的算法和符号表示给出具体实施方式的一些部分。这些算法描述和表示是数据处理领域技术人员用来将他们工作的实质最有效地传达给本领域其他技术人员的手段。这里的算法通常被认为是导致期望结果的自洽的步骤序列。这些步骤需要对物理量的物理操纵。通常,虽然并非必须,但是这些量采用能够存储、传送、组合、比较和以其他方式操纵的电信号或磁信号的形式。出于通常用途的原因,已经证明有时候将这些信号称为比特、值、元素、符号、字符、词项、数字等是方便的。
但是应当记住,所有这些和类似术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非根据以下讨论明确另行指定,否则应当理解,在整个说明书中,采用诸如“接收”、“渲染”、“确定”、“选择”等术语的讨论指代计算机系统或类似电子计算设备的动作和处理,计算机系统或类似电子计算设备将表示为计算机系统的寄存器和存储器内的物理(例如电子)量的数据操纵和转换成类似地表示为计算机系统存储器或寄存器或其他这样的信息存储、传输或显示设备内的物理量的其他数据。
为了简化说明,将本公开的方法示出和描述为一系列动作。但是,根据本公开的动作可以按照各种顺序和/或同时发生,以及与本文未呈现和描述的其他动作一起发生。此外,可能不需要所有示出的动作来实现根据所公开的主题的方法。此外,本领域技术人员应当理解,可以经由状态图或事件将所述方法替选地表示为一系列相关联状态。此外应当理解,本说明书中公开的方法能够存储在制品上,以促进将这样的方法运输和传送给计算设备。本文使用的术语制品旨在涵盖可从任何计算机可读设备或存储介质访问的计算机程序。
本公开的某些实施方式还涉及用于进行本文操作的装置。该装置可以构造用于预期目的,或者它可以包括通过计算机中存储的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘,包括软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或适用于存储电子指令的任何类型的介质。
本说明书对“一个实施方式”或“实施方式”的引用意味着结合该实施方式描述的特定特征、结构或特性包括在至少一个实施方式中。因此,本说明书中在各处出现的短语“在一个实施方式中”或“在实施方式中”不一定都指代相同的实施方式。此外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。但是应当理解,在一个实施方式的场境中描述的特征可以与在其他实施方式的场境中描述的特征组合。此外,本文使用词语“示例”或“示例性”来表示用作示例、实例或说明。本文中描述为“示例性”的任何方案或设计不一定解释为比其他方案或设计更有利或更具优势。相反,使用词语“示例”或“示例性”旨在以具体方式呈现概念。
应当理解,以上描述的目的是说明性而非限制性的。在阅读并理解以上描述后,很多其他实施方式对于本领域技术人员而言将显而易见。因此,本公开的范围应当参考所附权利要求书以及这样的权利要求书所赋予的等同物的全部范围来确定。
在本文所述系统收集关于用户的个人信息或者可以利用个人信息的情形下,可以向用户提供机会来控制程序或特征是否收集用户信息(例如关于用户的社交网络、社交动作或活动、职业、用户偏好、或用户的当前位置的信息),或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,某些数据可以在存储或使用之前以一种或多种方式处理,从而去除个人可识别信息。例如,可以处理用户的身份,使得无法对用户确定个人可识别信息,或者在获得位置信息的情况下可将用户的地理位置泛化(诸如至城市、邮政编码或州级别),使得无法确定用户的具体位置。因此,用户可以控制如何收集关于用户的信息以及如何通过内容服务器使用信息。
在本文所述系统收集关于用户的个人信息或者可以利用个人信息的情况下,可以向用户提供机会来控制程序或特征是否收集用户信息(例如关于用户的社交网络、社交动作或活动、职业、用户偏好、或用户的当前位置的信息),或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,某些数据可以在存储或使用之前以一种或多种方式处理,使得去除个人可识别信息。例如,可以处理用户的身份,使得无法对用户确定个人可识别信息,或者在获得位置信息的情况下可将用户的地理位置泛化(诸如至城市、邮政编码或州级别),使得无法确定用户的具体位置。因此,用户可以控制如何收集关于用户的信息以及如何通过内容服务器使用信息。
Claims (11)
1.一种方法,包括:
通过经由以下操作对准场景的多个二维图像来创建所述场景的输出图像,
对于所述输出图像中的像素:
基于所述场景的所述多个二维图像,使用表面喷溅点渲染,针对所述像素收集多个二维片段,其中每个二维片段向所述输出图像的所述像素的颜色贡献颜色并且与第三维度的轴上的相应的位置相关联;
通过向所述第三维度的所述轴上的相应的位置处的各个二维片段添加沿所述第三维度的所述轴的预定义厚度,由处理设备将所述多个二维片段转换为多个三维片段;
由所述处理设备基于所述第三维度的所述轴上的所述多个三维片段的开始事件和结束事件来创建用于所述像素的多个体跨段;
基于用于所述多个体跨段中的一个体跨段的所述多个三维片段中的一个或多个三维片段的颜色贡献,确定所述一个体跨段的颜色;以及
从用于所述输出图像的所述像素的所述多个体跨段的所确定的颜色确定所述像素的颜色。
2.根据权利要求1所述的方法,其中,所述多个二维图像是由多个相机来捕捉的。
3.根据权利要求1所述的方法,其中,所述预定义厚度是在视差空间中限定的。
4.根据权利要求1所述的方法,其中,所述预定义厚度是在深度空间中限定的。
5.根据权利要求1所述的方法,其中,确定所述一个体跨段的颜色包括:
识别所述多个三维片段中的向所述一个体跨段贡献颜色的一个或多个三维片段;以及
确定所述多个三维片段中的所识别的一个或多个三维片段的颜色贡献。
6.根据权利要求5所述的方法,其中,识别所述多个三维片段中的向所述一个体跨段贡献颜色的一个或多个三维片段包括:识别所述多个三维片段中的具有与所述一个体跨段重叠的部分的一个或多个三维片段。
7.根据权利要求5所述的方法,其中,确定所述多个三维片段中的所识别的一个或多个三维片段的颜色贡献包括:
确定所述一个体跨段的长度;
确定所述多个三维片段的所识别的一个或多个三维片段的各个三维片段的总厚度;以及
将所述一个体跨段的长度除以所述总厚度。
8.根据权利要求5所述的方法,其中,确定所述多个三维片段中的所识别的一个或多个三维片段的颜色贡献包括:
确定所识别的三维片段的颜色的总和;
将所确定的颜色的总和乘以所识别的三维片段的贡献。
9.根据权利要求1-7中的任一项所述的方法,其中,基于所述多个三维片段创建用于所述像素的所述多个体跨段包括:
标记所述多个三维片段的开始事件和结束事件;
依次排序所述多个三维片段的开始事件和结束事件;以及
基于所述多个三维片段的开始事件和结束事件的依次排序来限定用于所述像素的所述多个体跨段的开始事件和结束事件。
10.一种系统,包括:
至少一个存储器;以及
至少一个处理设备,其耦合到所述存储器,所述至少一个处理设备被布置为执行权利要求1至9中的任一项所述的方法。
11.一种其上存储有指令的非暂时计算机可读介质,所述指令在由用户设备的处理设备执行时,使得所述处理设备执行权利要求1至9中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/156,192 | 2016-05-16 | ||
US15/156,192 US10681325B2 (en) | 2016-05-16 | 2016-05-16 | Continuous depth-ordered image compositing |
PCT/US2016/069168 WO2017200594A1 (en) | 2016-05-16 | 2016-12-29 | Continuous depth-ordered image compositing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108604389A CN108604389A (zh) | 2018-09-28 |
CN108604389B true CN108604389B (zh) | 2022-11-04 |
Family
ID=57851356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680081768.3A Active CN108604389B (zh) | 2016-05-16 | 2016-12-29 | 连续深度排序图像合成 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10681325B2 (zh) |
EP (1) | EP3403241A1 (zh) |
CN (1) | CN108604389B (zh) |
WO (1) | WO2017200594A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10770113B2 (en) | 2016-07-22 | 2020-09-08 | Zeality Inc. | Methods and system for customizing immersive media content |
US10222958B2 (en) * | 2016-07-22 | 2019-03-05 | Zeality Inc. | Customizing immersive media content with embedded discoverable elements |
CN109800516B (zh) * | 2019-01-24 | 2021-01-26 | 电子科技大学 | 一种基于dcgan的多孔质材料内流场模型构建方法 |
US11328437B2 (en) * | 2020-09-08 | 2022-05-10 | Weta Digital Limited | Method for emulating defocus of sharp rendered images |
US11308586B2 (en) | 2020-09-08 | 2022-04-19 | Unity Technologies Sf | Method for applying a vignette effect to rendered images |
CN112767518B (zh) * | 2020-12-22 | 2023-06-06 | 北京淳中科技股份有限公司 | 虚拟动画特效制作方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101243472A (zh) * | 2005-08-09 | 2008-08-13 | 皇家飞利浦电子股份有限公司 | 选择性融合2D x射线图像和3D超声图像的系统和方法 |
CN101276479A (zh) * | 2007-03-29 | 2008-10-01 | 国际商业机器公司 | 图像处理方法和系统 |
CN104052979A (zh) * | 2013-03-12 | 2014-09-17 | 英特尔公司 | 用于图像处理的装置和技术 |
CN104952100A (zh) * | 2014-03-27 | 2015-09-30 | 英特尔公司 | 延迟着色的流式压缩抗锯齿方法 |
CN105283904A (zh) * | 2013-06-03 | 2016-01-27 | 文塔纳医疗系统公司 | 图像自适应的生理上可信的颜色分离 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5854631A (en) | 1995-11-22 | 1998-12-29 | Silicon Graphics, Inc. | System and method for merging pixel fragments based on depth range values |
KR100507780B1 (ko) * | 2002-12-20 | 2005-08-17 | 한국전자통신연구원 | 고속 마커프리 모션 캡쳐 장치 및 방법 |
US20080158345A1 (en) * | 2006-09-11 | 2008-07-03 | 3Ality Digital Systems, Llc | 3d augmentation of traditional photography |
US7884819B2 (en) * | 2006-09-27 | 2011-02-08 | International Business Machines Corporation | Pixel color accumulation in a ray tracing image processing system |
US8345956B2 (en) * | 2008-11-03 | 2013-01-01 | Microsoft Corporation | Converting 2D video into stereo video |
US8698799B2 (en) * | 2009-01-20 | 2014-04-15 | Adobe Systems Incorporated | Method and apparatus for rendering graphics using soft occlusion |
US8723789B1 (en) * | 2011-02-11 | 2014-05-13 | Imimtek, Inc. | Two-dimensional method and system enabling three-dimensional user interaction with a device |
US9153201B2 (en) * | 2012-05-07 | 2015-10-06 | Intel Corporation | Real-time order-independent transparent rendering |
KR101946019B1 (ko) * | 2014-08-18 | 2019-04-22 | 삼성전자주식회사 | 파노라믹 동영상을 생성하는 동영상 처리 장치 및 그 방법 |
US9699380B2 (en) * | 2015-11-03 | 2017-07-04 | Intel Corporation | Fusion of panoramic background images using color and depth data |
US9961283B2 (en) * | 2016-09-07 | 2018-05-01 | Essential Products, Inc. | Color reconstruction |
-
2016
- 2016-05-16 US US15/156,192 patent/US10681325B2/en active Active
- 2016-12-29 EP EP16829047.6A patent/EP3403241A1/en active Pending
- 2016-12-29 WO PCT/US2016/069168 patent/WO2017200594A1/en active Application Filing
- 2016-12-29 CN CN201680081768.3A patent/CN108604389B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101243472A (zh) * | 2005-08-09 | 2008-08-13 | 皇家飞利浦电子股份有限公司 | 选择性融合2D x射线图像和3D超声图像的系统和方法 |
CN101276479A (zh) * | 2007-03-29 | 2008-10-01 | 国际商业机器公司 | 图像处理方法和系统 |
CN104052979A (zh) * | 2013-03-12 | 2014-09-17 | 英特尔公司 | 用于图像处理的装置和技术 |
CN105283904A (zh) * | 2013-06-03 | 2016-01-27 | 文塔纳医疗系统公司 | 图像自适应的生理上可信的颜色分离 |
CN104952100A (zh) * | 2014-03-27 | 2015-09-30 | 英特尔公司 | 延迟着色的流式压缩抗锯齿方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3403241A1 (en) | 2018-11-21 |
US10681325B2 (en) | 2020-06-09 |
US20170332063A1 (en) | 2017-11-16 |
CN108604389A (zh) | 2018-09-28 |
WO2017200594A1 (en) | 2017-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108604389B (zh) | 连续深度排序图像合成 | |
EP3791357B1 (en) | Generating and displaying blur in images | |
US11087553B2 (en) | Interactive mixed reality platform utilizing geotagged social media | |
US11494993B2 (en) | System and method to integrate content in real time into a dynamic real-time 3-dimensional scene | |
US9224156B2 (en) | Personalizing video content for Internet video streaming | |
US11297116B2 (en) | Hybrid streaming | |
Deng et al. | The design of tourism product CAD three-dimensional modeling system using VR technology | |
CN112868224B (zh) | 捕获和编辑动态深度图像的方法、装置和存储介质 | |
US20230300292A1 (en) | Providing shared augmented reality environments within video calls | |
CN110730969A (zh) | 用于呈现内容的系统和方法 | |
CN110754084B (zh) | 用于提供内容的系统和方法 | |
CN113706427A (zh) | 从捕获的视频数据输出扭曲图像 | |
CN108156436A (zh) | 三维宣传视频的在线处理方法 | |
KR20230101861A (ko) | 레이턴시 탄력적 클라우드 렌더링 | |
JP2004201004A (ja) | 3次元映像表示装置、プログラム、及び記録媒体 | |
US20230196627A1 (en) | Anti-aliasing by encoding primitive edge representations | |
US20230360282A1 (en) | Generating shared augmented reality scenes utilizing video textures from video streams of video call participants | |
US20240078745A1 (en) | Generation of a virtual viewpoint image of a person from a single captured image | |
US8897821B2 (en) | Method for providing visual effect messages and associated communication system and transmitting end | |
Gukasyan et al. | Achieving Realism in 3D Interactive Systems: Technological Issues |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |