CN111279385A - 生成和修改3d场景图像的方法 - Google Patents
生成和修改3d场景图像的方法 Download PDFInfo
- Publication number
- CN111279385A CN111279385A CN201880070130.9A CN201880070130A CN111279385A CN 111279385 A CN111279385 A CN 111279385A CN 201880070130 A CN201880070130 A CN 201880070130A CN 111279385 A CN111279385 A CN 111279385A
- Authority
- CN
- China
- Prior art keywords
- image
- scene
- function
- data
- data points
- 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
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000006870 function Effects 0.000 claims abstract description 87
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000009877 rendering Methods 0.000 claims abstract description 8
- 230000001131 transforming effect Effects 0.000 claims abstract description 7
- 238000012546 transfer Methods 0.000 claims abstract description 3
- 230000007423 decrease Effects 0.000 claims description 16
- 238000007620 mathematical function Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 239000013598 vector Substances 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 239000003086 colorant Substances 0.000 claims description 3
- 230000004424 eye movement Effects 0.000 claims description 2
- 230000004886 head movement Effects 0.000 claims description 2
- 230000009466 transformation Effects 0.000 description 13
- 230000005055 memory storage Effects 0.000 description 10
- 230000003247 decreasing effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 210000003128 head Anatomy 0.000 description 6
- 239000002184 metal Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000002594 fluoroscopy Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/08—Projecting images onto non-planar surfaces, e.g. geodetic screens
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/02—Affine transformations
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/10—Selection of transformation methods according to the characteristics of the input images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种生成和修改3D场景的2D图像的方法,包括以下步骤:处理3D场景的图像以生成代表3D场景和场景中的3D物体的数据点集;从数据集中检索一个或多个数据点;根据一个或多个数学转换函数对一个或多个数据点进行变换,函数选自包括以下函数的组:定义每个数据点的投影轨迹的函数;定义每个数据点的投影表面的几何形状的函数;定义每个数据点的具有会聚点的投影体积的函数;定义每个数据点相对于投影表面上会聚点的投影角度的函数;定义每个数据点与投影表面的大小与距离之比的函数;生成变换的数据点集;投影代表3D场景的修改的2D图像的变换的数据点集;以及在显示器上将投影的变换的数据点集渲染到2D图像中。
Description
本发明针对一种用于生成和修改3D场景的2D图像的方法。更具体地说,该方法提供对场景中物体和空间的布局和分布的控制。
越来越多地使用计算机图形系统生成、存储和修改实际或虚构的3D场景的图像。可使用包括但不限于光学相机、光学相机阵列、基于图像的3D扫描仪、红外扫描仪、摄影测量系统和激光扫描仪的技术来捕获表示真实物理环境的3D数据集。可使用3D建模和设计软件生成代表真实或想象空间的3D数据集。可通过将真实物理空间的测量值与计算机生成的环境相结合来创建代表增强现实或混合现实的3D数据集。一旦表示3D场景的数据被捕获或生成,其通常作为3D坐标集存储在计算机系统中,其中3D坐标具有附加到每个坐标的值,例如颜色、纹理或映射值。为了编辑或查看图像,计算机系统通常通过图形处理单元将该3D数据转换为像素阵列,像素阵列在监视器、投影仪或类似设备上显示。
许多现有软件包提供用于修改图像特征以满足用户需求的工具或机制。例如,典型的3D计算机游戏将为用户提供对其中在显示器上呈现了游戏场景的视野的控制。在这种情况下,可能需要增大视野,以便更多3D场景在显示器中可见。再举一个例子,用户可能希望放大图像的某个部分,以便更清楚地看到其中的信息。
然而,修改三维场景的图像外观的当前方法存在许多问题和局限性。首先,常规的计算机图形系统通常使用线性透视的几何图形将3D点绘制到2D图像。在场景中物体的相对大小以及其与借以成像的虚拟针孔的距离之间,线性透视的几何形状施加了严格定义的关系。简而言之,随着物体深度的减小,物体尺寸会减小。当水平地以不超过约50°的视野观看图像时,这种明显的缩小对于观看者来说可能看起来很自然。但是,随着视野向接近人类双眼视野的180°增大,随着衰退的缩小变得更加极端,在图像边缘物体的明显伸展也变得更加极端。这种极端的广角图像不便于观看,往往会模糊场景中可能会使观看者感兴趣的中央部分,并且通常被认为无法准确表示真实的生活体验。
其他几何方法可用于在图像中渲染三维场景,包括鱼眼、正交、等矩形或其他地图投影以及圆柱投影,所有这些方法当前可在计算机图形引擎中实现。这些方法的一个局限性在于其通常是通过将2D全景图像从立方图的形式变形或重新投影到其他几何投影中而生成的,这涉及将多个透视相机缝合在一起并且计算量很大。这些投影的主要局限性在于,其倾向于对所描绘的物体和空间产生各种极端或不自然的扭曲,并且因此,这些投影在图形引擎或消费者中并未得到广泛采用,因为通常又被认为不能准确给出反映现实生活的经验。
一旦光学地捕获了或计算地生成全景2D图像,专业设计人员就可采用许多常用的后期制作软件工具来任意变形和操纵2D图像,以改善图像布局。例如,电影特殊效果设计者可使用这样的工具来调整移动图像部分的大小,将图像从一个长宽比转换为另一个长宽比,或对视频层产生特殊效果,例如特定的失真或扭曲。在此类系统依赖于操纵捕获或生成的2D图像坐标的情况下,对可应用的调整存在局限性。2D图像中物体的遮挡借由通过捕获图像的相机针孔的线性光线的会聚而确定,这意味着无法显示被插入的物体遮挡的场景的区或场景中的物体部分。因此,因为设计人员无法在不进行昂贵的图像处理的情况下独立地修改所描绘场景中的深度层,所以设计人员在重新格式化或重新定位2D图像或移动图像的范围上受到了限制。
许多计算机图形系统的另一个局限性是计算机图形系统显示的图像的几何形状不会响应于观看者的动作而自动修改。例如,如果观看者移动靠近屏幕,他们可能期望场景的结构发生变化,从而允许他们更清楚地看到场景的元素。现有的系统允许观看者重新定位设备,以模拟围绕3D空间或物体的扫描,包括虚拟现实耳机、360°视频和运动软件的结构。但是此类系统仍默认使用线性透视几何形状显示图像,并且因此在显示上述宽视野时也会遇到相同的问题。同样,这样的系统趋向于依靠用户操纵和移动感测设备,无论是握持还是通过附接至头部或身体都是如此,以产生可能感觉不自然、不舒服或不便的效果。
根据本发明,提供了一种生成和修改3D场景的2D图像的方法,该方法包括以下步骤:
处理3D场景的图像以生成代表该3D场景和该场景内的3D物体的数据点集;
从数据集中检索(retrieve)一个或多个数据点;
根据一个或多个数学转换函数来变换一个或多个数据点,该函数选自包括以下函数的组:
定义每个数据点投影轨迹的函数;
定义每个数据点的投影表面几何形状的函数;
定义每个数据点的具有会聚点的投影体积的函数;
定义每个数据点相对于投影表面上会聚点的投影角度的函数;
定义每个数据点与投影表面的大小与距离之比的函数;
生成变换的数据点集;
投影代表3D场景的修改的2D图像的变换的数据点集;以及,
在显示器上将投影的变换的数据点集渲染到2D图像中。
在一实施例中,表示3D场景的数据点集包括空间坐标、颜色、纹理、表面映射数据、运动数据、物体标识数据或表示3D场景所必需的其他数据。
在一实施例中,还包括以下步骤:在变换一个或多个数据点之前,将数据点集转换为数学矩阵。
在一实施例中,定义每个数据点的投影轨迹的变换函数包括将轨迹定义为线性轨迹或非线性轨迹。线性轨迹是按照单个矢量定义的,而非线性轨迹是按照多个矢量、连续多项式、样条或分段函数定义的。
在一实施例中,定义每个数据点的投影表面几何形状的变换函数包括将投影表面定义为平面表面或非平面表面。使用连续的或分段的二维多项式函数在几何上定义非平面表面。
在一实施例中,将定义具有每个数据点的具有会聚点的投影体积的变换函数定义为变量。
在一实施例中,将所述定义每个数据点相对于投影表面的投影角度的函数定义为数学函数,该数学函数从每个数据点的位置与其会聚点之间的关系得出。
在一实施例中,将定义每个数据点与投影表面的大小与距离之比的变换函数定义为数学函数。
在一实施例中,可单独地或组合地应用这些函数以增大或减小由图像表示的场景的竖直视野,范围是从大于0°的任意角度到小于360°的任意角度。
在一实施例中,可单独地或组合地应用这些函数以增大或减小由图像表示的场景的水平视野,范围是从大于0°的任意角度到小于360°的任意角度。
在一实施例中,可单独地或组合地应用这些函数,以相对于位于图像边缘的那些区域或物体增大或减小位于图像中心的区域或物体的大小,其范围从大于实际大小的0%的任意值到小于实际大小的1000%的任意值。
在一实施例中,可单独地或组合地应用这些函数,以相对于位于图像中心的区域或物体增大或减小位于图像边缘的区域或物体的大小,其范围从大于实际大小的0%的任意值到小于实际大小的1000%的任意值。
在一实施例中,可单独地或组合地应用这些函数,从0到100地增大或减小所述图像中的竖直曲率的量,其中在0的情况下,场景中所有直的竖直线在图像中显示为直的,在100的情况下,场景中所有直的竖直线在图像中显示为圆弧段。
在一实施例中,可单独地或组合地应用这些函数,以从0到100来增大或减小所述图像中的水平曲率的量,其中在0的情况下,场景中所有直的水平线在图像中都显示为直的,在100的情况下,场景中所有直的水平线在图像中显示为圆弧段。
在一实施例中,可单独地或组合地应用这些函数,以从1到100根据深度来增大或减小所述图像中的平直度或曲率的量,其中在0的情况下,所述图像中的物体或区域的平直度从随深度增大,在100的情况下,所述图像中的物体或区域的曲率随深度增大。
在一实施例中,函数具有一个或多个可定义参数。可定义参数可经由用户控制界面进行设置,或者预先确定以生成某些特性。用户控制界面由一组手动操作的机械或电子形式的滑块或旋钮组成,或者用户控制界面包括一个或多个传感器,所述传感器检测用户的眼部运动和位置、头部运动和位置以及身体运动和相对位置,以实时改变参数。
在一实施例中,在附加显示器上与所生成的场景的修改视图同时呈现场景的线性透视投影。
在一实施例中,还包括以下步骤:在变换一个或多个数据点之前,对数据点集进行内插值以在该集中构造新的数据点。
可以以各种方式来执行本发明,并且现在将仅通过举例的方式,参照附图来描述本发明的实施例,其中:
图1是在计算机设备中实施的本方法的流程图;
图2是线性透视图的几何形状的示意图;
图3是本方法公开的非线性轨迹函数的示意图;
图4是本方法中公开的非平面投影表面函数的示意图;
图5是本方法公开的投影体积函数的示意图;
图6是本方法公开的非会聚投影角函数的示意图;
图7是在本方法中公开的大小与距离函数的示意图;
图8是用户控制界面的示意图;以及,
图9是用户传感器输入的示意图。
参照附图的图1,示出了本方法100的实施例。示出了第一存储器存储设备110,该第一存储器存储设备110保持3D数据111,该3D数据111表示3D场景和场景中的物体,其以代表场景所需的像素、体素、点坐标、颜色、纹理信息或其他这种数据的形式存在。从第一存储器存储设备110中检索数据并将其传递到中央处理单元112,并且优选地将其转换成数学矩阵113。使用已知的计算技术,在中央处理器单元114内举例说明矩阵,使得矩阵的值随后经由一系列函数115可被变换,每个函数115在方法中被指定。本方法中的每个函数115产生3D数据点集,其被定义为采用穿过世界空间的路径和轨迹以便与投影表面相交(例如,计算建模为光路)。交点(或会聚点)形成待投影图像的基础116,在其中必须使3D数据点平坦化,以便显示设备可经由适合的图形处理单元114将2D图像渲染到第一图像显示设备117。
处理3D场景的图像以生成代表3D场景和场景内3D物体的数据点集的步骤可包括:捕获3D模型、例如计算机辅助设计(CAD)模型或图纸的数据;或者从移动的3D场景(例如可在计算机游戏中生成的场景)中获取。该方法可为后期制作效果或实时处理模型的快照。
作为将3D图像投影/映射到2D图像的过程的示例性可视化:数据点集可由空间中的多个微小金属球表示,每个金属球均具有金属内部和魔术贴(Velcro)表面。在空间中的给定位置处还有电磁体,当打开电磁体时,金属球都朝着电磁体移动通过空间,这相当于数据点的投影路径。在表面上,具有魔术贴的另一半的电磁体周围还有伞形结构,在此处,球撞击电磁铁之前,这些球碰到了他们粘住的伞形结构,相当于投影表面。伞形结构完全可以是任意形状。可用各种方式将生成的2D表面展开到单个平面上,或者刚好可通过正交方式(通过消除Z)观看球体,相当于数据点的投影和渲染。本发明的函数修改了该生成过程。
在本方法中,将以下变换函数115应用于3D数据以生成或修改由3D数据表示的场景的图像:
定义每个数据点的轨迹的投影轨迹变换函数包括:将轨迹(或路径)定义为线性或非线性的。线性路径是按照单个矢量(投影几何体)定义的,而非线性路径是按照多个矢量、连续多项式、样条曲线或其他分段函数30定义的。
定义每个数据点的投影表面的几何形状的变换函数包括将投影表面定义为平面或非平面的。无论是连续的还是分段的40,非平面表面是使用二维多项式函数以几何方式定义的。
将投影表面定义为用于每个数据点的体积(与单个投影表面相对)的变换函数以及与每个数据点通过该体积的路径的交点被定义为变量50。体积可在其体积内定义多个投影表面,每个数据点的路径可在定义的会聚点处与其相交。
将定义每个数据点相对于投影表面或体积上的会聚点/交点的投影角度的变换函数定义为数学函数60。
定义每个数据点(代表3D场景中的3D物体)与投影表面(体积)会聚点/交点的大小与距离的函数,并将其表示为数学函数70。
可同时使用或作为选择函数的组合使用这些变换函数。可预期,某些函数之间的协同作用要比其他函数更大。该选择可能受到提供给所述方法的图像修改参数121的影响和/或受到来自用户控制界面80的输入或用户传感器输入90的影响。
将理解,为数据点定义会聚点还可为每个数据点定义3D场景中的原始位置和会聚点位置之间的投影轨迹。然后,可通过移动会聚点或对轨迹进行调整来调整数据点的投影轨迹。交点可通过以下方式定义:原始位置和会聚点之间的数据点的投影轨迹;以及通过相交(投影表面)平面的形状、形状或体积。投影表面或体积可被认为是用数学术语定义的形状,其对投影轨迹和会聚点都有影响,例如形状定义了交点以及轨迹。
此处最简单的函数是数学转换。根据针对多种类型的结果或由实施该方法的设备的用户预先配置的算法图像修改参数121或响应于来自用户控制界面80的数据和传感器输入90,对这些函数115进行变换,并经由正交投影将这些函数115渲染到第一图像显示设备117。
图像修改参数121可作为数值数据或算法存储在第二存储器存储设备120中,并根据需要由GPU 114检索,或保存到第二存储器存储设备120。该图示出了如何相对于实施该方法的设备的其余部分来配置用户控制界面80和用户传感器输入90。来自用户控制界面80的设置被传递到图形处理器单元114,以便修改在本方法中指定的函数115。来自用户传感器输入90的设置也被传递到图形处理器单元114,以便修改在本方法100中指定的函数115。
在所述方法的一实施例中,另一第二图像显示设备127示出了3D数据的标准线性透视图,其由图2所示的原理20生成。
图2示出了线性透视图20的基本原理的示意图。光线沿直线路径行进,在单个针孔处会聚以与单个平面相交,因此形成了3D场景的2D投影的倒像。注意立方体28的倒置投影,以及在其上投影有物体的单个平面表面26,随后在图像显示器28上进行渲染。在这种方法中,由光路的线性轨迹确定遮挡,而物体的大小为场景中相对深度的函数。例如,顶点22b被作为其一部分的立方体的前面遮挡,并且因此不出现在图像28中。此外,立方体的背面距离针孔较远,并且因此使其渲染的比正面更小。
图3是在本方法中公开的非线性轨迹函数30的图。在该示例中,从立方体32朝向投影表面行进的数据点既是直的又是弯曲的。在这种方法中,因为之后数据点从投影表面34被正交渲染到2D图像中,所以如在图2中的线性透视法中那样,不需要针孔。因此,如在线性透视中那样,没有渲染物体的倒置。
此外,与线性透视投影相比,在本方法中可任意地修改遮挡路径。举例来说,在本发明的方法中,在线性透视法中会被立方体32z的前面遮挡的顶点32y是可见的38y’。在此示例中,该方法的效果是扩大了立方体32xy的背面,以使其在图像38x'y'中看起来比在线性透视投影中的立方体的正面看起来大。
如此处所示,本方法允许定义任意数据点的路径/轨迹,无论是线性的还是非线性的,使得其将点投影到投影表面上。与线性透视法相比,在本方法中使用非线性路径允许在3D场景的图像中显示被遮挡物体的更大的自由度(latitude)。
当在设备中实施本发明的方法时,可预先确定非线性路径,例如连续多项式、样条曲线或其他分段函数、或者具有一些其他适合的曲率几何形状,或其组合。在本方法的一个实施例中,非线性路径的形状由用户经由用户控制界面80或用户传感器输入90经由编程到设备中或从第二存储器存储设备120检索的参数来控制。
图4示出了在本方法中公开的非平面投影表面函数40。该图示出了四个立方体42的平面图、非平面投影表面(B)以及生成图像48的正视图。非平面投影表面44的形式可以是任意的,并且在此处示出仅作为示例,与通过线性透视投影获得的图像相比,如图2所示,导致立方体到图像48上的修改的渲染。图像48是非平面表面44的正交投影,但是为了清楚起见,在图中将其放大。所述方法的这个方面的目的是允许实施该方法的设备的任意用户来控制3D场景的外观。
当在设备中实施本方法时,可预先确定非平面投影表面,例如连续多项式、样条曲线或其他分段函数、或者具有一些其他适合的非平面表面几何形状或其组合。在本方法的一个实施例中,非平面投影表面的形式由用户经由用户控制界面或用户传感器输入经由编程到设备中或从第二存储器存储设备120检索的参数来控制。
图5示出了本方法中公开的投影体积函数50。该图示出了四个立方体52的平面图、区域54中的投影体积以及生成图像58的正视图。示例数据点朝向投影体积的路径/轨迹由虚线表示。仅通过说明,示出了投影体积内的四个不同的投影表面54w、54x、54y和54z。每个投影表面在其相对于路径方向的角度、在其沿着相交发生的路径的距离或在其形状上有所变化。例如,投影52z是非平面的。每个立方体的图像将取决于路径相交的每个投影表面的角度、位置和形式。图像58从数据点路径的正交投影以及与投影表面(未按比例显示)相交的产生的图案渲染而成,其可位于区域54中的任意位置。所述方法的这个方面的目的是允许实施该方法的设备的任意用户来控制3D场景中独立区域或物体的外观。
当在设备中实施本方法时,可预先确定投影体积、投影表面的数量、其形式以及其与每个数据点的路径的交点。在本方法的一个实施例中,投影体积内多个投影表面的数量、位置和形式可由用户经由用户控制界面或用户传感器输入经由编程到设备中或从第二存储器存储设备120检索的参数来控制。
图6示出了在本方法中公开的投影角度和非会聚路径函数60。代表立方体62的不同部分的、每个数据点的路径以与表面64的变化的非会聚角度被投影。如由全局地设置或每个数据点单独设置的单个或多个会聚点/交点的位置而定义的那样,路径的角度可任意设置。与将线性透视图固有的会聚光路方法相比,在将3D场景的一部分渲染到图像显示中的不同位置时,本方法中使用非会聚路径允许更大的自由度。例如,与在等效线性透视投影中的显示相比,在图像68w'中将立方体62w显示为水平拉伸,相比而言,在图像68x'中将立方体62x显示为扭曲,将立方体62y显示为68y',比在线性透视投影中看起来要小,并且在62z处的立方体显示为拧曲的68z'。每个数据点在其与投影表面64相交处的路径创建图像,该图像最终通过正交投影被渲染到图像显示器68(图中未按比例显示),正交投影从图像数据点位置信息中消除了z(深度)。
当在设备中实施本方法时,可预先确定每个数据点的路径的角度,例如显式(explicit)角度、隐式地经由投影矩阵的角度或其他适合的数学函数或几何形状。在本方法的一个实施例中,路径的角度可由用户经由用户控制界面或用户传感器输入经由编程到设备中或从第二存储器存储设备120检索的参数来控制。
图7示出了每个数据点与本方法中公开的投影表面函数70的大小-距离。来自立方体72的不同部分的数据点以变化的非会聚角度被投影到表面74,从而修改线性透视投影固有的大小和距离之间的关系。大小与距离之比可任意设置。与线性透视固有的方法相比,当将3D场景的部分渲染到图像显示器中的不同位置时,在本方法中使用任意的大小与距离之比允许更大的自由度。例如,即使立方体72x距离投影表面较远,也将其显示为比立方体78y'大的78x',而即使立方体72z更靠近投影表面,也将其显示为小于立方体78y'的78z'。通过正交投影(在图中未按比例显示),投影到74并且然后与其相交的数据点被渲染到图像显示器78。
当在设备中实施本方法时,可使用三角学、投影矩阵或其他适合的几何形状预先确定大小与距离之比。在本方法的一个实施例中,大小与距离之比可由用户经由用户控制界面或用户传感器输入经由编程到设备中或从第二存储器存储设备120检索的参数来控制。
现在参考图3至图7,可单独或组合地应用附图中公开的方法以生成或修改3D场景的图像并控制图像的空间几何形状,以便:
增大或减小由图像表示的场景的竖直视野,范围是大于0°的任意角度到小于360°的任意角度;
增大或减小由图像表示的场景的水平视野,范围是大于0°的任意角度到小于360°的任意角度;
相对于位于图像边缘的区域或物体,增大或减小位于图像中心的区域或物体的大小,范围是从大于实际大小的0%的任意值到小于实际大小的1000%的任意值;
相对于位于图像中心的区域或物体,增大或减小位于图像边缘的区域或物体的大小,范围是从大于实际大小的0%的任意值到小于实际大小的1000%的任意值;
将图像中竖直曲率的量从0(其中场景中所有直的竖直线在图像中都显示为直的)增大或减小到100(其中场景中所有直的竖直线都在图像中以圆弧段显示);
将图像中水平曲率的量从0(其中场景中所有直的水平线在图像中都显示为直的)增大或减小到100(其中场景中所有直的水平线都在图像中以圆弧段显示);以及
根据深度来将图像中的平直度或曲率的量从0增大或减小到100,在0的情况下,图像中的物体或区域的平直度随深度增大而增大,在100的情况下,图像中的物体或区域的曲率随深度增大而增大。
图8示出了用户控制界面80的一个实施例。通过图示,提供了从A到G一系列滑块,每个滑块可设置为0到100之间的值。滑块的位置确定传递给图形处理单元100的值。
在所述方法的一个实施例中,一系列控制滑块被预编程以修改在本方法中公开的函数,并且因此被应用于3D数据以便变换其在图像显示设备中的外观,该图像显示设备的参数可以是经由用户控制界面自由修改。
通过图示,滑块A使用适合的数学算法控制场景中每个数据点的投影轨迹/路径的曲率量;滑块B使用适合的数学算法控制每个数据点在其上投影的表面的数量;滑块C使用适合的数学算法控制投影表面的非平面特性;滑块D使用适合的数学算法控制每个数据点的会聚点/交点位置,并且从而控制每个数据点的路径借以投影到表面的角度;滑块E使用适合的数学算法控制数据点投影路径和投影表面之间的交点;滑块F使用适合的数学算法控制待修改的场景区域;滑块G使用适合的数学算法控制场景中物体的大小与距离之比。
在本方法的另一实施例中,滑块被预编程为使用在本方法中定义的函数和参数来控制所表示的3D场景的空间结构的一系列几何变换。通过例示,滑块A使用适合的数学算法控制图像竖直轴上的曲率量,其中0为无曲率,使得场景中所有直的竖直线在图像中均显示为直的,而100为全曲率,使得场景中的所有竖直线都显示为圆弧段;滑块B使用适合的数学算法控制图像水平轴上的曲率量,其中0为无曲率,使得场景中的所有直的水平线在图像中均显示为直的,而100为全曲率,使得场景中的所有水平线都显示为圆弧段;滑块C使用适合的数学算法控制图像的竖直视野,其中0为0°,而100为360°;滑块D使用适合的数学算法控制图像的水平视野,其中0为0°,而100为360°;滑块E使用适合的数学算法控制图像中心的场景物体或区域相对于中心以外的场景物体或区域的大小,其中0是实际大小的1%,50是实际大小,而100是实际大小的1000%;滑块F使用适合的数学算法控制图像外边缘处的场景物体或区域相对于中心边缘的场景物体或区域的大小,其中0为实际大小的1%,50为实际大小,而100为实际大小的1000%;滑块G使用适合的数学算法控制场景中随深度变化的图像曲率或平直度,其中0为随深度增大的曲率,而100为随深度增大的平直度。
图9示出了用户传感器输入90的一个实施例。举例来说,提供了一系列从A到G的滑块,每个滑块都可根据从眼部传感器91、头部传感器92和身体位置传感器93传递的数据设置0到100之间的值。滑块的位置确定传递给图形处理单元100的值。
在本方法的一个实施例中,滑块被预编程为响应于从用户传感器输入传递的数据,使用在本方法中定义的函数和参数来控制所表示的3D场景的空间结构的一系列几何变换。
举例来说,滑块A从眼部位置传感器接收数据并使用适合的数学算法控制图像中的曲率,其中0为无曲率,使得当场景中的所有直的线与图像中的用户的眼部位置重合时,场景中所有直的线在图像中显示为直的,而100是全曲率的,使得与图像中检测到的与用户的眼部位置重合的场景中的所有线都显示为圆弧段;滑块B从头部位置传感器接收数据,并使用适合的数学算法控制图像中的曲率量,其中0为无曲率,使得当在距图像显示设备10cm或更短距离处检测到用户的头部位置时,场景中所有直的线在图像中都显示为直的,而100是全曲率的,使得当在距图像显示设备10cm或更短距离处检测到用户的头部位置时,场景中的所有线条都显示为圆弧段;滑块C接收来自人体位置传感器数据,并使用适合的数学算法控制图像的视野,其中当在距图像显示设备20厘米或更短的距离处检测到人体时,0为50°,而当在距图像显示设备20厘米或更短的距离处检测到人体时,100为180°;滑块D从眼部位置传感器接收数据,并控制场景中物体或区域的大小与深度之比,其中0表示与用户的眼部位置重合的物体被减小到实际大小的1%,而100表示与用户的眼部位置重合的物体被增大到实际大小的1000%;滑块E接收来自头部位置传感器的数据,并使用适合的数学算法控制图像边缘处的场景物体或区域相对于中心位置处的场景物体或区域的大小,其中0为实际大小的1%,50为实际大小,而100是实际大小的1000%。
Claims (24)
1.一种生成和修改3D场景的2D图像的方法,所述方法包括以下步骤:
处理3D场景的图像以生成代表所述3D场景和所述场景中的3D物体的数据点集;
从数据集中检索一个或多个数据点;
根据一个或多个数学转换函数对所述一个或多个数据点进行变换,所述函数选自包括以下函数的组:
定义每个数据点的投影轨迹的函数;
定义每个数据点的投影表面的几何形状的函数;
定义每个数据点的具有会聚点的投影体积的函数;
定义每个数据点相对于投影表面上会聚点的投影角度的函数;
定义每个数据点与投影表面的大小与距离之比的函数;
生成变换的数据点集;
投影代表所述3D场景的修改的2D图像的所述变换的数据点集;以及
在显示器上将投影的所述变换的数据点集渲染到2D图像中。
2.根据权利要求1所述的方法,其中,表示所述3D场景的所述数据点集包括空间坐标、颜色、纹理、表面映射数据、运动数据、物体识别数据或表示3D场景所需的其他数据。
3.根据任一前述权利要求所述的方法,还包括以下步骤:在变换所述一个或多个数据点之前,将所述数据点集转换为数学矩阵。
4.根据任一前述权利要求所述的方法,其中所述定义每个数据点的投影轨迹的函数包括:将所述轨迹定义为线性轨迹或非线性轨迹。
5.根据权利要求4所述的方法,其中,线性轨迹是按照单个矢量定义的,而非线性轨迹是按照多个矢量、连续多项式、样条或分段函数来定义的。
6.根据任一前述权利要求所述的方法,其中所述定义每个数据点的投影表面的几何形状的函数包括:将所述投影表面定义为平面表面或非平面表面。
7.根据权利要求6所述的方法,其中,使用连续或分段的二维多项式函数在几何上定义非平面表面。
8.根据任一前述权利要求所述的方法,其中,将所述定义每个数据点的具有会聚点的投影体积的函数定义为变量。
9.根据任一前述权利要求所述的方法,其中将所述定义每个数据点相对于投影表面上会聚点的投影角度的函数定义为数学函数。
10.根据任一前述权利要求所述的方法,其中将所述定义每个数据点的大小与距离之比的函数定义为数学函数。
11.根据任一前述权利要求所述的方法,其中,可单独地或组合地应用所述函数,以增大或减小由所述图像代表的所述场景的竖直视野,范围是从大于0°的任意角度到小于360°的任意角度。
12.根据任一前述权利要求所述的方法,其中,可单独地或组合地应用所述函数,以增大或减小由所述图像代表的所述场景的水平视野,范围是从大于0°的任意角度到小于360°的任意角度。
13.根据任一前述权利要求所述的方法,其中,可单独地或组合地应用所述函数,以相对于位于所述图像的边缘处的区域或物体来增大或减小位于所述图像的中心处的区域或物体的大小,其范围是从大于实际大小的0%的任意值到小于实际大小的1000%的任意值。
14.根据任一前述权利要求所述的方法,其中,可单独地或组合地应用所述函数,以相对于位于所述图像的中心处的区域或物体来增大或减小位于所述图像的边缘处的区域或物体的大小,其范围是从大于实际大小的0%的任意值到小于实际大小的1000%的任意值。
15.根据任一前述权利要求所述的方法,其中,可单独地或组合地应用所述函数,以从0到100来增大或减小所述图像中的竖直曲率的量,其中在0的情况下,所述场景中所有直的竖直线在所述图像中都显示为直的,在100的情况下,所述场景中所有直的竖直线在所述图像中显示为圆弧段。
16.根据任一前述权利要求所述的方法,其中,可单独地或组合地应用所述函数,以从0到100来增大或减小所述图像中的水平曲率的量,其中在0的情况下,所述场景中所有直的水平线在所述图像中都显示为直的,在100的情况下,所述场景中所有直的水平线在所述图像中显示为圆弧段。
17.根据任一前述权利要求所述的方法,其中,可单独地或组合地应用所述函数,以从0到100根据深度来增大或减小所述图像中的平直度或曲率的量,其中在0的情况下,所述图像中的物体或区域的平直度随深度增大,在100的情况下,所述图像中的物体或区域的曲率随深度增大。
18.根据任一前述权利要求所述的方法,其中所述函数具有一个或多个可定义参数。
19.根据权利要求18所述的方法,其中,可经由用户控制界面来设置所述可定义参数。
20.根据权利要求19所述的方法,其中,所述用户控制界面包括一组手动操作的机械或电子形式的滑块或旋钮。
21.根据权利要求19所述的方法,其中,所述用户控制界面包括一个或多个传感器,所述传感器检测用户的眼部运动和位置、头部运动和位置、以及身体运动和相对位置,以实时改变所述参数。
22.根据权利要求18所述的方法,其中所述可定义参数是预定的,以产生特定特性。
23.根据任一前述权利要求所述的方法,其还包括在附加显示器上渲染所述3D场景的线性透视投影。
24.根据任一前述权利要求所述的方法,还包括以下步骤:在变换所述一个或多个数据点之前,对所述数据点集进行插值以在所述集中构造新的数据点。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1714352.0 | 2017-09-06 | ||
GB1714352.0A GB2566279B (en) | 2017-09-06 | 2017-09-06 | A method for generating and modifying images of a 3D scene |
PCT/GB2018/052395 WO2019048825A1 (en) | 2017-09-06 | 2018-08-23 | METHOD FOR GENERATING AND MODIFYING IMAGES OF A 3D SCENE |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111279385A true CN111279385A (zh) | 2020-06-12 |
Family
ID=60050542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880070130.9A Pending CN111279385A (zh) | 2017-09-06 | 2018-08-23 | 生成和修改3d场景图像的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11238558B2 (zh) |
EP (1) | EP3679543A1 (zh) |
KR (1) | KR20200043458A (zh) |
CN (1) | CN111279385A (zh) |
GB (1) | GB2566279B (zh) |
WO (1) | WO2019048825A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI818474B (zh) * | 2021-12-10 | 2023-10-11 | 愛實境股份有限公司 | 三維空間風格快速轉換方法與系統 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109472753B (zh) * | 2018-10-30 | 2021-09-07 | 北京市商汤科技开发有限公司 | 一种图像处理方法、装置、计算机设备和计算机存储介质 |
US11430091B2 (en) | 2020-03-27 | 2022-08-30 | Snap Inc. | Location mapping for large scale augmented-reality |
US10956743B1 (en) * | 2020-03-27 | 2021-03-23 | Snap Inc. | Shared augmented reality system |
WO2021253189A1 (en) * | 2020-06-15 | 2021-12-23 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Electric device, scanning method of controlling electric device, and computer readable storage medium |
US20230013884A1 (en) * | 2021-07-14 | 2023-01-19 | Cilag Gmbh International | Endoscope with synthetic aperture multispectral camera array |
US20230215108A1 (en) * | 2021-12-31 | 2023-07-06 | Samsung Electronics Co., Ltd. | System and method for adaptive volume-based scene reconstruction for xr platform applications |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6369814B1 (en) * | 1999-03-26 | 2002-04-09 | Microsoft Corporation | Transformation pipeline for computing distortion correction geometry for any design eye point, display surface geometry, and projector position |
US20030016218A1 (en) * | 2001-04-26 | 2003-01-23 | Mitsubishi Electric Research Laboratories, Inc. | Rendering discrete sample points projected to a screen space with a continuous resampling filter |
US20040046888A1 (en) * | 2002-07-26 | 2004-03-11 | Gwo-Jen Jan | Method for presenting fisheye-camera images |
JP2009252037A (ja) * | 2008-04-08 | 2009-10-29 | Sammy Corp | 画像生成装置、遊技機、および画像生成プログラム |
CN101711371A (zh) * | 2007-06-07 | 2010-05-19 | 帕拉戴姆地球物理有限公司 | 用于显示全方位角域图像数据的设备和方法 |
CN102317972A (zh) * | 2009-02-13 | 2012-01-11 | 哈里公司 | 3d点云数据对于2d电光图像数据的对准 |
US20140104394A1 (en) * | 2012-10-15 | 2014-04-17 | Intel Corporation | System and method for combining data from multiple depth cameras |
EP2779102A1 (en) * | 2013-03-12 | 2014-09-17 | E.sigma Systems GmbH | Method of generating an animated video sequence |
CN104781852A (zh) * | 2012-09-21 | 2015-07-15 | 欧克里德私人有限公司 | 用于渲染三维场景的计算机绘图方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4642723B2 (ja) * | 2006-09-26 | 2011-03-02 | クラリオン株式会社 | 画像生成装置および画像生成方法 |
GB201302174D0 (en) * | 2013-02-07 | 2013-03-27 | Cardiff Metropolitan University | Improvements in and relating to image making |
GB2554925A (en) * | 2016-10-14 | 2018-04-18 | Nokia Technologies Oy | Display of visual data with a virtual reality headset |
-
2017
- 2017-09-06 GB GB1714352.0A patent/GB2566279B/en active Active
-
2018
- 2018-08-23 KR KR1020207008668A patent/KR20200043458A/ko not_active Application Discontinuation
- 2018-08-23 US US16/645,201 patent/US11238558B2/en active Active
- 2018-08-23 CN CN201880070130.9A patent/CN111279385A/zh active Pending
- 2018-08-23 EP EP18762907.6A patent/EP3679543A1/en not_active Withdrawn
- 2018-08-23 WO PCT/GB2018/052395 patent/WO2019048825A1/en unknown
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6369814B1 (en) * | 1999-03-26 | 2002-04-09 | Microsoft Corporation | Transformation pipeline for computing distortion correction geometry for any design eye point, display surface geometry, and projector position |
US20030016218A1 (en) * | 2001-04-26 | 2003-01-23 | Mitsubishi Electric Research Laboratories, Inc. | Rendering discrete sample points projected to a screen space with a continuous resampling filter |
US20040046888A1 (en) * | 2002-07-26 | 2004-03-11 | Gwo-Jen Jan | Method for presenting fisheye-camera images |
CN101711371A (zh) * | 2007-06-07 | 2010-05-19 | 帕拉戴姆地球物理有限公司 | 用于显示全方位角域图像数据的设备和方法 |
JP2009252037A (ja) * | 2008-04-08 | 2009-10-29 | Sammy Corp | 画像生成装置、遊技機、および画像生成プログラム |
CN102317972A (zh) * | 2009-02-13 | 2012-01-11 | 哈里公司 | 3d点云数据对于2d电光图像数据的对准 |
CN104781852A (zh) * | 2012-09-21 | 2015-07-15 | 欧克里德私人有限公司 | 用于渲染三维场景的计算机绘图方法 |
US20150279085A1 (en) * | 2012-09-21 | 2015-10-01 | Euclideon Pty Litd | Computer Graphics Method for Rendering Three Dimensional Scenes |
US20140104394A1 (en) * | 2012-10-15 | 2014-04-17 | Intel Corporation | System and method for combining data from multiple depth cameras |
EP2779102A1 (en) * | 2013-03-12 | 2014-09-17 | E.sigma Systems GmbH | Method of generating an animated video sequence |
Non-Patent Citations (1)
Title |
---|
戚力: "光学三维成像数据的自动量化分析方法与应用的研究" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI818474B (zh) * | 2021-12-10 | 2023-10-11 | 愛實境股份有限公司 | 三維空間風格快速轉換方法與系統 |
Also Published As
Publication number | Publication date |
---|---|
GB2566279A (en) | 2019-03-13 |
US20200265548A1 (en) | 2020-08-20 |
GB201714352D0 (en) | 2017-10-18 |
EP3679543A1 (en) | 2020-07-15 |
KR20200043458A (ko) | 2020-04-27 |
US11238558B2 (en) | 2022-02-01 |
WO2019048825A1 (en) | 2019-03-14 |
GB2566279B (en) | 2021-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11238558B2 (en) | Method for generating and modifying images of a 3D scene | |
EP3057066B1 (en) | Generation of three-dimensional imagery from a two-dimensional image using a depth map | |
US5936630A (en) | Method of and apparatus for performing perspective transformation of visible stimuli | |
JP3311830B2 (ja) | 3次元動画作成装置 | |
KR20170007102A (ko) | 3차원 지도 생성 및 표시 장치 및 방법 | |
KR20140100656A (ko) | 전방향 영상 및 3차원 데이터를 이용한 시점 영상 제공 장치 및 방법 | |
JP7182976B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP2017091483A (ja) | 画像処理装置、情報処理装置、および画像処理方法 | |
JP2020173529A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
WO2012140397A2 (en) | Three-dimensional display system | |
JPH09319896A (ja) | 3次元画像作成装置 | |
US11212502B2 (en) | Method of modifying an image on a computational device | |
US11353953B2 (en) | Method of modifying an image on a computational device | |
CN113366825B (zh) | 用于生成表示场景的图像信号的装置和方法 | |
US7064767B2 (en) | Image solution processing method, processing apparatus, and program | |
EP3404522A1 (en) | A method for viewing panoramic content and a head mounted device | |
WO2021048525A1 (en) | A method for generating and modifying non-linear perspective images of a 3d scene | |
KR102613059B1 (ko) | 이미지에서 물체의 지각 항등성을 보호하기 위한 방법 | |
JPH0883352A (ja) | 画像処理装置及び方法 | |
JP2000067273A (ja) | 視界情報決定装置と視界情報決定方法および視界情報決定方法を実行するためのプログラムを記録した記録媒体 |
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: 20200612 |