处理三维图像的方法和设备与流程

文档序号:17117587发布日期:2019-03-15 23:28阅读:358来源:国知局
处理三维图像的方法和设备与流程

本公开涉及处理三维(3d)图像的方法和设备。



背景技术:

互联网正在从人在其中创建和消费信息的以人为中心的连接网络演变成在其中分布实体(诸如物体)、交换和处理信息的物联网(iot)。已经出现了万物互联网(ioe),万物互联网(ioe)是通过与云服务器连接的大数据处理和iot技术的组合。

为了实现iot服务,需要诸如感测技术、有线/无线通信和网络基础设施、服务接口技术和安全技术的技术要素,并且最近已经开发了传感器网络、机器对机器(m2m)和机器类型通信(mtc)等,以连接各种物体。

这样的iot环境可以提供智能互联网技术(it)服务,该服务通过收集和分析由互联事物生成的数据来为人类生活增添新的价值。通过现有it与各领域之间的汇聚和结合,iot可以应用于各种领域,包括智能家居、智能建筑、智能城市、智能汽车或联网汽车、智能电网、健康护理、智能装置和高级医疗服务等。同时,实施物联网的内容也在不断发展。即,通过黑/白内容到彩色内容、高清(hd)、超高清(uhd)和最新的的高动态范围(hdr)的标准和分发的不断发展,正在研究可以在诸如oculus、三星gearvr等虚拟现实(vr)设备中再现的虚拟现实(vr)内容。根据vr系统,监视用户并且一旦允许用户通过使用一种控制器向内容显示装置或处理单元提供反馈输入,则该装置或单元处理该输入并相应地调整内容,从而实现交互。

vr生态系统中的基本组件可以包括例如头戴式显示器(hmd)、无线或移动vrtv、洞穴自动虚拟环境(cave)、外围设备和触觉设备[用于向vr提供输入的其他控制设备]、内容捕捉[相机或视频拼接]、内容工作室[游戏、现场、电影、新闻和及纪录片]、工业应用[教育、健康护理、房地产、建筑和旅行]、生产工具和服务[3d引擎和处理能力]、以及[vr媒体内容的]应用程序(app)商店等。

在vr设备中再现的三维(3d)图像可以是诸如球形或圆柱形的立体图像。vr设备可以通过考虑用户注视的方向等来显示3d图像的特定区域。

在用于存储、压缩和发送vr的360度图像(或3d图像或全方向图像)的系统中,使用多个相机捕获的多个图像被映射到3d模型(例如,球形模型、立方体模型和圆柱体模型等)的表面上,并且hmd设备渲染并显示与特定视野相对应的区域。在此情况下,为了向位于远程位置的用户(或远程用户)提供3d图像,可以使用用于压缩/存储/发送2d图像的现有系统。为了将3d图像映射(或投影)为2d图像,例如,可以使用等量矩形投影(erp)。在通过使用erp将3d图像转换为2d图像之后,可以通过使用用于压缩/存储/发送2d图像的现有系统将2d图像传送给远程用户。远程用户可以解码接收到的2d图像,然后通过erp(或逆erp)逆投影来重建3d图像。图1示出了示例性的逆erp。参照图1,可以通过逆erp将矩形2d图像转换为球形3d图像。

为了将3d图像映射为2d图像,可以使用基于圆柱状的投影(或圆柱状投影)或基于立方体的投影(或立方体投影)以及erp,还可以使用其他各种映射方案。已经接收到通过使用圆柱状投影或立方体投影被转换为2d图像的3d图像的vr设备可以通过逆圆柱状投影或逆立方体投影来重建3d图像。图2示出了示例性的逆圆柱状投影。参照图2,可以通过逆圆柱状投影将矩形2d图像转换为圆柱状3d图像。图3示出了示例性的立方体投影。参照图3,通过立方体投影生成的2d图像可以包括与六面体(立方体)的面相对应的六个矩形(或正方形)形状的子图像。通过逆立方体投影,六个子图像中的每个子图像与六面体的每个面相对应,以重建六面体形状的3d图像。

根据参考图1至图3描述的投影方法和逆投影方法,可能使特定区域中的图像失真,或者根据每种投影方法可能生成关于特定区域的过度冗余数据。例如,在erp的情况下,在2d图像的上边缘和下边缘中可能产生比2d图像的中心更坏的失真。因此,当通过hmd设备观看图像的上极和下极时,可能由于失真而降低沉浸感。此外,在极点处,与点相对的数据被线性上采样(up-sampled)并且被投影为2d图像,增加了不必要的数据,从而增大了发送2d数据的比特率。

使用erp等从3d图像投影的图像数据的数据量可能大于常规2d图像的数据量。为了减轻数据发送的负担,可以考虑将投影的2d图像划分为多个图块(tile)并且仅发送关于与当前视场(fov)相对应的区域的图块的数据的方法。然而,根据该方案,由投影引起的失真程度随着图块而不同,使得无法保证视口(viewport)均匀的视觉质量,并且可能不得不发送冗余数据。此外,为每个图块分割、压缩和发送数据,会引起块效应。



技术实现要素:

技术问题

使用erp等从3d图像投影的图像数据的数据量可能大于常规2d图像的数据量。为了减轻数据传输的负担,可以考虑将投影的2d图像划分为多个图块并且仅发送关于与当前视场(fov)相对应的区域的图块的数据的方法。然而,根据该方案,由投影引起的失真程度随着图块而不同,使得无法保证视口均匀的视觉质量,并且可能不得不发送冗余数据。此外,为每个图块分割、压缩和发送数据,会引起块效应。

因此,本公开将从3d图像投影的2d图像进行有效地分割和转换,以提高传输效率和重建质量。

本公开的目的并不限于前述内容,并且根据以下描述,其他未提及的目的对于本领域技术人员将是显而易见的。

技术方案

根据本公开的实施例的用于处理三维(3d)图像的方法包括:将3d图像投影为二维(2d)图像,通过打包形成所述2d图像的多个区域来生成打包的2d图像,通过编码所述打包的2d图像来生成编码数据,并且发送所述编码数据。

根据本公开的另一实施例的处理3d图像的发送器包括:通信接口和与所述通信接口电连接的处理器,其中,所述处理器被配置为将3d图像投影为2d图像,通过打包形成所述2d图像的多个区域来生成打包的2d图像,通过编码所述打包的2d图像生成编码数据,并且发送所述编码数据。

根据本公开的另一实施例的显示3d图像的方法包括:接收编码数据,通过解码所述编码数据生成多个打包有多个区域的2d图像,通过解包所述打包的2d图像来生成从3d图像投影的2d图像,以及基于所述投影的2d图像显示所述3d图像。

根据本公开另一实施例的显示3d图像的设备包括:通信接口和与所述通信接口电连接的处理器,其中所述处理器被配置为接收编码数据,通过解码所述编码数据生成多个打包有多个区域的2d图像,通过解包所述打包的2d图像来生成从3d图像投影的2d图像,并且基于所述投影的2d图像显示所述3d图像。

在具体实施方式和附图中包括其他实施例的详细内容。

有益效果

根据本公开的实施例,至少可以获得下面描述的效果。

即,可以提高从3d图像投影的2d图像的传输效率,并且可以提高重建质量。

本公开的效果并不限于此,而是本公开包含其他各种效果。

附图说明

图1示出了示例性的逆erp。

图2示出了示例性的逆圆柱状投影。

图3示出了示例性的逆立方体投影。

图4示出了根据本公开的实施例的发送器的系统。

图5示出了根据本公开的实施例的接收器的系统。

图6示出了根据本公开的实施例的配置翘曲单元(warpingunit,wu)的方法。

图7示出了根据本公开的另一实施例的配置wu的方法。

图8示出了根据本公开的实施例翘曲wu的方法。

图9示出了根据本公开的实施例的配置wu的方法。

图10示出了根据本公开的实施例的重新混合(re-blending)wu的方法。

图11是示出了根据本公开的实施例的关于wu采样率的权重值的曲线图。

图12示出了根据本公开的实施例的将3d图像映射到2d图像的方法。

图13示出了在图12的将3d图像映射到2d图像的方法中3d图像的区域与2d图像的区域之间的映射关系。

图14示出了图13中的区域1至区域4的映射方法。

图15示出了图13中的区域5至区域8的映射方法。

图16示出了图13中的区域9至区域12的映射方法。

图17示出了图13中的区域13至区域15的映射方法。

图18示出了图13中的区域17至区域19的映射方法。

图19和图20示出了图13中的区域20的映射方法。

图21和图22示出了图13中的区域16的映射方法。

图23示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。

图24示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。

图25示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。

图26示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。

图27和图28示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。

图29和图30示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。

图31示出了根据本公开的另一实施例的将菱形区域转换为矩形或正方形区域的贴片(patch)。

图32示出了根据本公开的另一实施例的2d图像。

图33是根据本公开的实施例的发送器的框图。

图34是根据本公开的实施例的接收器的框图。

具体实施方式

参照下面与附图一起描述的实施例,本公开的优点和特征以及用于实现它们的方法将是清楚的。然而,本公开不限于公开的实施例,而可以以各种方式被实现,并且提供实施例以完成本公开的公开并允许本领域普通技术人员理解本公开的范围。本公开由权利要求的范畴限定。

虽然诸如“第一”、“第二”等的序数术语被用于描述各种元件,但是这些元件并不受限于这些术语。这些术语仅用于将一个元件与另一元件进行区分。因此,在本公开的技术主旨内,下面提到的第一元件可以是第二元件。

图4示出了根据本公开的实施例的发送器的系统。发送器可以是用于提供与3d图像相关的数据或服务的服务器。此处,3d图像可以指动态图像和静态图像。在操作410中,发送器可以生成或接收3d图像。发送器可以通过将从多个相机沿多个方向捕获的图像进行拼接来生成3d图像。发送器可以从外部源接收关于已经生成的3d图像的数据。

在操作420中,发送器可以将3d图像投影为2d图像。为了将3d图像投影为2d图像,可以使用但不限于下文将描述的erp、圆柱形投影、立方体投影和各种投影方法中的任何一种。

在操作430中,发送器可以打包投影的2d图像的区域。此处,打包可以包括:将2d图像划分为称为wu的多个区域,使wu变形,和/或重新配置(或重新排列)wu,并且打包还可以指生成打包的2d图像。wu表示形成2d图像的区域,并且可以用其他类似的术语(例如简单地,区域、范围和分区等)替换。参考图6和图7,将详细描述配置wu的方法。

图6示出了根据本公开的实施例的配置wu的方法。在图6中,2d图像600可以被划分为多个wu610和620。多个wu610和620可以被配置成使得它们避免彼此重叠。

图7示出了根据本公开的另一实施例的配置wu的方法。在图7中,2d图像700可以被划分为多个wu710和720。多个wu710和720中的每个可以被配置成与至少一个相邻的其他wu重叠。根据若干实施例,一些wu与其他wu重叠,而其他一些wu可以不与其他wu重叠。当wu彼此重叠时,在每个wu中重叠地存在与重叠区域相对应的图像。通过这种重叠,接收器在wu中混合重叠区域,从而减轻了块效应。由于每个重叠的wu可以比非重叠wu提供更宽的fov,因此可以通过传输少量与视口对应的wu来传输与特定视口相对应的信息。

返回参照图4,翘曲wu可以包括翘曲每个wu(例如,从矩形转换为三角形和梯形等)并且旋转和/或镜像至少一些wu。

重新配置(或重新排列)wu可以包括旋转、镜像和/或移位多个wu中的至少一些。根据一些实施例,wu可以被重新配置为使填充区域最小化,但本公开并不限于此。此处,填充区域可以表示在打包的2d图像上的除了与3d图像相对应的区域之外的额外区域。

在操作440中,发送器可以编码打包的2d图像。可以使用现有已知的2d图像编码方案来执行编码。可以关于每个wu独立地执行编码。根据若干实施例,可以关于通过将翘曲的wu分组而形成的一个图像来执行编码。

在操作450中,发送器可以封装编码数据。封装可以指通过诸如分割编码数据、向分区中添加报头等处理来处理编码数据以符合所确定的传输协议。发送器可以发送封装的数据。可以关于每个wu执行封装。根据若干实施例,可以关于通过将翘曲的wu分组而形成的一个图像来执行封装。

图5示出了根据本公开的实施例的接收器的系统。接收器可以接收关于从发送器发送的3d图像的数据。在步骤510中,接收器可以解封装所接收的数据。通过步骤510中的解封装,可以生成通过在图4的操作440中的编码生成的编码数据。

在操作520中,接收器可以解码在操作510中解封装的数据。可以通过在操作520中的解码来重建打包的2d图像。

在操作530中,接收器可以解包解码的数据(即,打包的2d图像)。通过解包,可以重建通过图4的操作420中的投影所生成的2d图像。解包可以包括将重新配置的wu逆翘曲和翘曲wu,和/或将2d图像分割为wu(其是在图4的操作430中的打包期间执行的)。为此,接收器需要知道操作430中的打包方法。可以在发送器和接收器之间预先确定操作430中的打包方法。根据若干实施例,发送器可以通过诸如元数据的单独消息将关于操作430中的打包方法的信息传递给接收器。根据若干实施例,在操作450中通过封装生成的传输数据可以包括关于操作430中的打包方法的信息(例如,在报头内)。可以关于每个wu独立地执行操作530中的解包。当wu被配置成如图7所示彼此重叠时,接收器可以通过混合相邻wu的重叠区域并拼接图像来执行平滑,从而生成2d图像。

在操作540中,接收器可以将解包的2d图像投影为3d图像。接收器可以对操作420中使用的投影使用逆投影,以将2d图像投影为图4中的3d图像,但本公开并不限于此。接收器可以通过将解包的2d图像投影为3d图像来生成3d图像。

在操作550中,接收器可以通过显示器显示3d图像的至少一部分。例如,接收器可以从3d图像中仅提取与当前fov相对应的数据,并执行渲染。

下面,将更详细地描述从投影的2d图像中翘曲wu的方法。分割的wu的形状通常为四边形或多边形。根据投影的2d图像中位置,wu可以具有不同的失真度与冗余数据的比率。可以通过下采样(down-sampling)来减少不必要的数据以有效地压缩数据,或者可以根据失真度来转换图像以减少失真。

例如,通过对水平方向和垂直方向的wu数据应用不同采样率来执行上采样或下采样,可以调整wu的宽度和高度。通过翘曲,可以将wu翘曲成各种形状,例如三角形、梯形、四边形、菱形和圆形等。这将参考图8进行更详细的描述。

图8示出了根据本公开实施例的转换wu的方法。参照图8,正方形wu810可以被翘曲成三角形wu820、矩形wu830或梯形wu840。为了生成三角形wu820,关于正方形wu810的水平方向的采样率可以保持恒定,关于垂直方向的采样率可以自下而上线性地减少使得顶部的采样率为0。为了生成矩形wu830,可以将关于正方形wu810的水平方向的采样率设置为高于关于水平方向的采样率。为了生成梯形wu840,关于正方形wu810的水平方向的采样率可以保持恒定,关于垂直方向的采样率可以自下而上线性地减小,以使得顶部的采样率大于0。

如前所述,wu可以被翘曲成各种形状,但是wu要被翘曲成的形状和要应用的采用率可以通过考虑以下选择中的一个或更多个来确定:内容制造商、wu中的xy坐标、wu在整个图像中的位置、内容的特征、内容的复杂性和内容的兴趣区域(roi)。可以为每个wu确定采样方法和插值方法。例如,可以为每个wu确定不同的抗混叠滤波器和插值滤波器,可以为每个wu确定不同的垂直采样率和水平采样率。在插值中,可以从诸如最邻近、线性、b-样条(b-spline)等各种插值方法中为每个wu选择不同的插值方法。此外,可以根据wu中的纬度和经度坐标来调整采样率。

图9示出了根据本公开的实施例的配置wu的方法。参照图9,2d图像910可以被划分为应用不同翘曲方案的多个wu,从而生成转换的2d图像920。更具体地,可以以正三角形的形状对靠近北极区域(即,2d图像910的上部)的wu进行采样。可以以倒三角形的形状对靠近南极区域(即,2d图像910的下部)的wu进行采样。可以以四边形的形状对靠近赤道区域(即,2d图像910在垂直方向上的中心区域)的wu进行采样。当使用这种映射方案时,可以为每个wu确定映射的贴片形状,并且在基于wu的传输中,可以以采样的贴片形状为单位执行渲染。

采样方案可以包括规则采样方案和不规则采样方案。规则采样方案在wu中具有相同x坐标(或y坐标)的线中以相同的速率执行采样。只有在接收器通过逆翘曲将wu重建为erp形式的2d图像后,才可以将通过规则采样方案采样的wu渲染成球形3d图像。例如,即使将erp图像分割为8个wu,然后分别被翘曲成正三角形,为了形成与八面体相同的几何形状,规则采样的wu也仅在被逆翘曲成erp形式后才能被渲染。对于不规则采样,当针对每条线对几何体表面上的角度旋转单位执行采样时,可以在几何体中直接执行渲染而不进行逆翘曲逆。然而,在该情况下,可能增加计算的复杂性。

wu可能有不同的形状。当wu的形状不为四边形时,可能需要填充相邻空白区域。关于wu的数据可以被独立地压缩和发送,但是根据若干实施例,可以将wu分组并重新打包成一个图像,以减小空白区域的的大小。要分组的wu可以对应于但不限于当前的fov。将参考图10更详细的描述这一点。图10示出了根据本公开的实施例的重新混合wu的方法。如图10所示,可以通过对三个wu1010、1020和1030进行分组和混合来生成一个图像1040。为了减少所生成的图像1040的空白区域,在三角形wu1010和1030分别旋转180度之后可以将wu1010、1020和1030混合。图10仅是示例,为了减少由混合产生的图像的空白区域,可以将各种翘曲方法(例如,旋转、镜像和移位等)应用于wu。由分组产生的图像可以被压缩并作为一个图像1040发送。

接收器可以通过关于参考图10描述的wu的分组和混合执行逆翘曲来提取独立的wu的图像。对于提取的wu,在对关于单独wu执行的翘曲执行逆翘曲之后,通过执行拼接和混合,可以渲染3d图像。

当wu彼此重叠时,接收器可以使用加权和来执行混合以渲染3d图像。可以基于图像中的像素位置来确定使用加权和的应用于混合的权重值。例如,权重值可以在远离每个wu的中心点的方向上具有较小的值。作为示例,该类型的加权值在图11(a)中被示出。图11是示出了根据本公开实施例的关于wu的采样率的权重值的曲线图。在图11中,wi,j[s]表示要被应用于位于距离wui,j的中心s处的像素的权重值。写入图11的窗口系数可以被解释为与权重值相同的含义。根据若干实施例,如将在使用图11(b)所示的示例描述的那样,权重值可以被内容自适应调整。在图11(b)中,可以根据内容将wi,j[s]的权重值调整为w'i,j[s]。

根据若干实施例,接收器可以选择关于重叠图像的数据中的一个,代替使用加权和来执行混合,以渲染3d图像。

在下文中,将描述根据本公开的将3d图像映射到2d图像的方法。

图12示出了根据本公开的实施例的将3d图像映射到2d图像的方法。在图12的实施例中,3d图像1210可被渲染成立方体形状。可以将3d图像1210映射到2d图像1220。可以将立方体形状的3d图像1210的侧表面1211映射到2d图像1220的中心区域1221。可以通过顶面的对角线和正方形的侧面将3d图像1210的顶面划分为八个区域,该正方形具有与顶面相同的中心并且其尺寸小于顶面的尺寸。八个区域可以包括梯形区域1212和正三角形区域1213。梯形区域1212可以被映射到2d图像1220中的对应的梯形区域1222。正三角形区域1213可以被倒置(上下颠倒)或旋转180度,然后插入2d图像1220中的梯形区域1222之间,使得2d图像1220可以具有矩形形状。应用于顶面的相同类型的映射适用于底面。为了减少图像的不连续性,可以将低通滤波应用于2d图像1220的与3d图像1210的顶面和底面对应的区域1222和1223。图13中示出了3d图像1210的每个区域和2d图像1220的每个区域之间的详细映射关系。图13示出了图12中的用于将3d图像映射到2d图像的方法中3d图像的区域与2d图像的区域之间的映射关系。在图13中,当区域具有相同的索引时,3d图像1210中的区域和2d图像1220中的区域彼此对应。

例如,用于指定图12和图13中的映射方法的消息可以如下表示。

在此消息中,字段的含义如下表示。

geometry_type:用于渲染全向媒体(即,3d图像)的几何体。除了carousel_cube(即,图12和图13中的几何体)之外,该字段还可以指示球体、圆柱体、立方体等。

num_of_regions:在参考轨道中划分图像的区域数量。参考轨道中的图像可以被划分为由该字段的值给出的尽可能多的非重叠区域,并且每个区域可以被单独地映射到几何体的特定表面和区域。

region_top_left_x和region_top_left_y:在参考轨道中图像的分割区域的左上角的水平坐标和垂直坐标。

region_width和region_height:在参考轨道中图像的分割区域的宽度和高度。

carousel_surface_id:以图13所定义的作为示例,分割区域要被映射到的旋转立方体的表面的标识。

orientation_of_surface:以图13所示的作为示例,表面形状的取向。

area_top_left_x和area_top_left_y:几何体表面上特定区域的左上角的水平坐标和垂直坐标。

area_width和area_height:几何体表面上特定区域的宽度和高度。

图14示出了图13中的区域1至区域4的映射方法。参照图14,对于具有图13中的表面id值为1至4的区域,orientation_of_surface可以被设置为0(即,无方向)。每个正方形的大小和位置可以由region_top_left_x、region_top_left_y、region_width和region_height的值来限定。

图15示出了图13中的区域5至8的映射方法。参照图15,对于表面id值为5至8的区域,orientation_of_surface可以被设置为1(即,垂直方向)。每个正方形的大小和位置可以由region_top_left_x、region_top_left_y、region_width和region_height的值来限定。

图16示出了图13中的区域9至12的映射方法。参照图16,对于表面id值为9至12的区域,orientation_of_surface可以被设置为2(即,上下颠倒方向(upsidedownorientation))。每个正方形的大小和位置可以由region_top_left_x、region_top_left_y、region_width和region_height的值来限定。

图17示出了图13中的区域13至15的映射方法。参照图17,对于表面id值为13至15的区域,orientation_of_surface可以被设置为2(即,上下颠倒方向)。每个正方形的大小和位置可以由region_top_left_x,region_top_left_y,region_width和region_height的值来限定。

图18示出了图13中的区域17至19的映射方法。参照图18,对于表面id值为17至19的区域,orientation_of_surface可以设置为1(即,垂直方向)。每个正方形的大小和位置可以由region_top_left_x、region_top_left_y、region_width和region_height的值来限定。

图19和图20示出了图13中的区域20的映射方法。参照图19和20,对于表面id值为20的区域,orientation_of_surface的值可以分别设置为5(图19中的垂直右半方向)和6(图20中的垂直左半方向)。每个正方形的大小和位置可以由region_top_left_x、region_top_left_y、region_width和region_height的值来限定。

图21和图22示出了图13中的区域16的映射方法。参照图21和图22,对于表面id值为16的区域,orientation_of_surface的值可以分别被设置为7(图21中的上下颠倒的右半方向)和8(图22中的上下颠倒的左半方向)。

图23示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。在图23中,可以渲染方柱形状的3d图像2310,其上部和下部的形状为四边形金字塔状。这样的3d图像2310可以被映射到2d图像2320(类似于3d图像2310的平面图形)。为了将2d图像2320渲染成矩形形状,可以添加填充区域。在若干实施例中,为了从2d图像2310形成矩形2d图像,可以使用应用于图12和图13中的立方体3d图像1210的顶面和底面的映射方案。以此方式,可以生成图24中所示的2d图像2400。

图25示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。类似于图23和图24中将3d图像2310映射到2d图像2400的方式,被渲染为六边形形状的3d图像2510可以被映射到2d图像2520。

图26示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。类似于图23和图24中将3d图像2310映射到2d图像2400的方式,被渲染八边形棱柱形状的3d图像2610可以被映射到2d图像2620。

尽管未在附图中示出,但是当如beyond项目中那样布置十六个水平相机并且在顶侧和底侧中的每个中存在一个相机时,可以配置以十六边形棱柱的几何体形状渲染的3d图像。类似于参考图23至图26描述的方式,被渲染成十六边形棱柱形状的3d图像可以被映射到2d图像。

指示这种映射方案的消息可以如下配置。

在此消息中,字段的含义如下所示。

center_pitch_offset和center_yaw_offset:渲染图像的中心像素的点的坐标的俯仰角和偏转角的偏移值。

num_of_regions:在参考轨道中划分图像的区域数量。

region_top_left_x和region_top_left_y:在参考轨道中图像的分割区域的左上角的水平坐标和垂直坐标。

region_width和region_height:在参考轨道中图像的分割区域的宽度和高度。

surface_id:几何体表面的标识。

shape_of_surface:指示几何体表面的形状的计数器。对于shape_of_surface为0,几何体表面的形状可以是矩形。对于shape_of_surface为1,几何体表面的形状可以是三角形。

area_top_left_x和area_top_left_y:几何体表面上特定区域的左上角的水平坐标和垂直坐标。

area_width和area_height:几何体表面上特定区域的宽度和高度。

orientation_of_triangle:指示三角形的方向的计数器。对于orientation_of_triangle为0,可以如参考图18描述的,表述三角形。对于orientation_of_triangle为1,可以如参考图19描述的,表述三角形。

在定义几何映射(如carousel_cylinder)时,可以根据下面表示的语法映射参考轨道中的平面图像:

在此语法中,字段的含义如下所示:

geometry_type:用于渲染全向媒体的几何体(即,3d图像)。除了carousel_cylinder(即,图23至图26的几何体)之外,该字段还可以指示球体、圆柱体、立方体等。

num_of_regions:在参考轨道划分图像的区域数量。参考轨道中的图像可以被划分为由该字段的值给出的尽可能多的非重叠区域,并且每个区域可以被单独地映射到几何体的特定表面和区域。

region_top_left_x和region_top_left_y:参考轨道中图像的分割区域的左上角的水平坐标和垂直坐标。

region_width和region_height:参考轨道中图像的分割区域的宽度和高度。

carousel_surface_id:分割区域要被映射到的旋转圆柱体的表面的标识。如前所述,可以与carousel_cube的表面id类似地定义表面id。

orientation_of_surface:与先前carousel_cube相关定义的表面形状的方向。

area_top_left_x和area_top_left_y:几何体表面上特定区域的左上角的水平坐标和垂直坐标。

area_width和area_height:几何体表面上特定区域的宽度和高度。

图27和28示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。可以将3d图像渲染成正多面体形状。例如,类似于图27中所示的3d图像2710,3d图像可以被渲染成正二十面体形状。在其他示例中,3d图像可以被渲染成正四面体、正六面体、正八面体或正十二面体。类似于正二十面体的平面图形,可以将3d图像2710投影为2d图像2720。在若干实施例中,可以将填充区域添加到2d图像2720以形成矩形2d图像。在若干实施例中,可以通过分割、旋转和重新排列图27中所示的2d图像2720的上三角形和下三角形,来形成图28中所示的矩形2d图像2800。三角形的这种分割和重新排列可以以与图12和13中所示的实施例中描述的基本相同的方式执行。

根据若干实施例,类似于上述实施例,也可以将渲染成菱形多面体的3d图像映射到2d图像。图29和图30示出了根据本公开的另一实施例的将3d图像映射到2d图像的方法。如图29所示,渲染成菱形十二面体的3d图像2910可以像平面图一样投影为2d图像2920。在若干实施例中,可以将填充区域添加到2d图像2920以形成矩形2d图像。在若干实施例中,可以通过分割、旋转和重新排列图29中所示的2d图像2920的上三角形和下三角形,来形成如图30所示的矩形2d图像3000。三角形的这种分割和重新排列可以以与图12和13中所示的实施例中描述的基本相同的方式执行。

根据若干实施例,图29中所示的2d图像2920的菱形形状的每个区域(即,wu)可以被转换为矩形或正方形。为了将2d图像2920的区域转换为矩形形状或正方形形状,可以使用如图31所示的贴片。图31示出了将菱形区域转换为矩形或正方形区域的贴片。贴片区域3100可以包括第一区域3110和第二区域3120。第一区域3110可以与2d图像2920的每个区域相对应。第二区域3120可以包括将贴片区域3100的形状渲染为矩形或正方形的附加数据。

根据若干实施例,将图31所示的贴片应用于图29所示的2d图像2920的区域之后,贴片区域可以布置在如图32所示的平面上。图32示出了根据本公开的另一实施例的2d图像。在图32中,空白块(即,空白区域)中不存在对应的图像。在此情况下,可以设置块的skip_block_flag值以避免对块进行解码。当用于空白块的skip_block_flag值被设置为1时,可以对块进行解码,但是重建的图像的值可能是无效的。

当通过将区域分割为如图32所示的正方形来执行映射时,可能在正方形之间的边界区域中发生块效应,并且当图像块附近没有数据(即,该图像块附近存在空白块)时,可能无法有效地执行运动估计(me)和运动补偿(mc)。对于有效的me和mc,可以添加填充块。填充块可以布置在图像块附近。填充块不会包括真实图像的数据。因此,填充块不会在接收器中渲染。填充块可以填充有复制空间相邻区域的最近图像值的数据或者加权和被应用于相邻区域的图像值的数据。根据若干实施例,通过使用在每个几何体中连续的相邻图像数据进行复制和填充,可以形成填充块的数据。填充块不会被渲染以在接收器中再现3d图像,但可以用于改进区域(即,与图像块相对应的区域)的渲染质量。尽管在与菱形多面体相的实施例中描述填充区域,但是容易理解,当在2d图像中存在空白区域时,填充区域也适用于改进渲染质量。

图33是根据本公开的实施例的另一发送器的框图。图11是根据本公开的实施例的发送器的框图。发送器3300也可以称为服务器。发送器3300可以包括存储器3310、通信接口3320和处理器3330。发送器3300可以被配置为执行前述实施例中描述的发送器3300的操作(即,与3d图像到2d图像的映射相关的操作等)。处理器3330可以以与存储器3310和通信接口3320通信的方式和电连接的方式连接到存储器3310和通信接口3320。发送器3300可以通过通信接口3320发送和接收数据。存储器3310存储用于发送器3300的操作的信息。用于控制处理器3330的指令或代码可以存储在存储器3310中。此外,处理器3330计算所需的暂时性或非暂时性数据可以被存储在存储器3310中。处理器3330可以是处理器,并且根据若干实施例,也可以是根据功能分类的一组多个处理器。处理器3330可以被配置为控制发送器3300的操作。发送器3300的上述操作可以基本上由处理器3330处理和执行。尽管通过通信接口3320执行数据的发送和接收并通过存储器3310执行数据和指令的存储,但通信接口3320和存储器3310的操作可以由处理器3330控制,使得数据的发送和接收以及指令的存储可以被认为是由处理器3330执行的。

图34是根据本公开的实施例的接收器的框图。接收器3400可以是诸如hmd设备的vr设备。接收器3400可以接收关于3d图像(关于二维投影图像的数据)的数据并显示3d图像。接收器3400可以包括存储器3410、通信接口3420、处理器3430和显示器3440。存储器3410、通信接口3420和处理器3430的描述与发送器3300的存储器3310、通信接口3320和处理器3330的描述相同。显示器3440可以再现3d图像的至少部分区域。显示器3440的操作可以由处理器3430控制。

虽然已经参照附图对本公开的一些示例实施例进行了描述,但是本公开所属领域的普通技术人员将理解,在不脱离本公开的技术精神和必要特性的情况下,可以以不同的具体方式来实现本公开。因此,前述示例实施例仅应被解释为说明性的,而不应被解释为受各方面的限制。

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