一种全景图压缩方法及装置与流程

文档序号:11144667阅读:1112来源:国知局
一种全景图压缩方法及装置与制造工艺

本发明涉及图像处理技术领域,特别是涉及一种全景图压缩方法及装置。



背景技术:

近年来,随着VR(Virtual Reality,虚拟现实)的高速发展,各种应用于VR的硬件和软件等层出不穷,其中,全景视频VR成为技术研发和产品内容创新的热点,广泛应用于虚拟影院,全景游戏,全景教育,全景医疗,全景旅游等很多领域,有着广阔的前景和巨大的经济价值。

全景视频通常要求在4K以上的超高分辨率拍摄全景图,才能在播放器张清晰的显示出用户观看的局部视角内容。由于4K以上超高分辨率全景图具有3840x1920以上海量像素,这给全景图的存储,压缩,传输,解码,和渲染视频带来大数据量的挑战。并且全景图的包括了全角度的影像,然而用户在观看时,由于人眼的限制,只能观看到有限视角的图像内容。一般来说,全景图像中,人眼看到的有限视角的视频内容中的显示区域的像素只占全景图像所有像素的1/18。

目前现有技术中,在对全景图进行压缩时,若压缩率较高,会造成用户观看全景图时图像不清晰,但压缩率不高时,又会使得全景图过大,不利于存储、传输和解码。总之,无法实现压缩全景图的同时保证用户观看时的清晰度。



技术实现要素:

本发明实施例的目的在于提供一种全景图压缩方法及装置,通过对源全景图非均匀的采样及压缩,实现用户主视角观看的部分图像的清晰度,同时保证较高的压缩率。具体技术方案如下:

本发明实施例公开了一种全景图压缩方法,包括:

获得待压缩的第一全景图形成的第一球面模型,所述第一全景图中所有像素的平面二维直角坐标与所述第一球面模型的坐标具有对应关系;

根据用户的主视角图像,在所述第一球面模型内生成第二球面模型,所述第二球面模型包含在所述第一球面模型中,所述第二球面模型的球心位于所述第一球面模型的球心和所述用户的主视角图像之间,所述第二球面模型的半径小于所述第一球面模型的半径,所述主视角图像为所述用户重点观看所述第一全景图中的部分图像;

建立第二全景图的平面二维直角坐标与所述第一全景图的平面二维直角坐标之间的第一映射关系,所述第二全景图为所述第二球面模型展开的全景图,所述第二全景图的平面二维直角坐标与所述第二球面模型的坐标具有对应关系;

根据所述第一映射关系,从所述第一全景图中,采样所述第二全景图中每一个平面二维直角坐标对应的像素点,构成含有像素的第二全景图,实现对所述第一全景图的压缩。

可选的,所述根据用户的主视角图像,在所述第一球面模型内生成第二球面模型,包括:

根据所述第二全景图的预设分辨率,确定所述第二球面模型的半径;

通过所述用户主视角图像,确定所述第二球面模型的球心在所述第一球面模型内的位置。

可选的,所述建立第二全景图的平面二维直角坐标与所述第一全景图的平面二维直角坐标之间的第一映射关系,包括:

建立所述第一全景图中所有像素的平面二维直角坐标与第一球面模型的坐标的之间的第一对应关系;

建立所述第一球面模型的坐标与所述第二球面模型的坐标的之间的第二对应关系;

建立所述第二球面模型的坐标与第二全景图的平面二维直角坐标之间的第三对应关系;

通过所述第三对应关系,将所述第二全景图的平面二维直角坐标对应为所述第二球面模型的坐标,以及通过所述第二对应关系,所述第二球面模型的坐标对应为所述第一球面模型的坐标,以及通过所述第一对应关系,将所述第一球面模型的坐标对应为所述第一全景图中的平面二维直角坐标,建立起所述第二全景图的平面二维直角坐标与所述第一全景图的平面二维直角坐标之间的第一映射关系。

可选的,所述建立所述第一球面模型的坐标与所述第二球面模型的坐标之间的第二对应关系,包括:

当所述第二球面模型的球心不在所述第一球面模型的三维直角坐标系的x轴上时,将所述第一球面模型的三维直角坐标系进行坐标系转换,其中,所述坐标系转换包括:旋转所述第一球面模型的x轴,使所述第二球面模型的球心在经过旋转后的x轴上。

可选的,所述建立所述第一球面模型的坐标与所述第二球面模型的坐标之间的第二对应关系之后,所述方法还包括:

通过所述第二球面模型,生成所述用户能够直接观看的2D投影平面,并建立所述第二球面模型的坐标与所述2D投影平面的二维直角坐标之间的第四对应关系;

通过所述第四对应关系,将所述2D投影平面的二维直角坐标对应为所述第二球面模型的坐标,以及通过所述第二对应关系,所述第二球面模型的坐标对应为所述第一球面模型的坐标,以及通过所述第一对应关系,将所述第一球面模型的坐标对应为所述第一全景图中的平面二维直角坐标,建立起所述2D投影平面的二维直角坐标与所述第一全景图的平面二维直角坐标之间的第二映射关系;

根据所述第二映射关系,从所述第一全景图中,采样所述2D投影平面中每一个平面二维直角坐标对应的像素点,构成包含像素的所述用户能够直接观看的2D投影平面。

本发明实施例公开了一种全景图压缩装置,包括:

获取模块,用于获得待压缩的第一全景图形成的第一球面模型,所述第一全景图中所有像素的平面二维直角坐标与所述第一球面模型的坐标具有对应关系;

生成模块,用于根据用户的主视角图像,在所述第一球面模型内生成第二球面模型,所述第二球面模型包含在所述第一球面模型中,所述第二球面模型的球心位于所述第一球面模型的球心和所述用户的主视角图像之间,所述第二球面模型的半径小于所述第一球面模型的半径,所述主视角图像为所述用户重点观看所述第一全景图中的部分图像;

映射模块,用于建立第二全景图的平面二维直角坐标与所述第一全景图的平面二维直角坐标之间的第一映射关系,所述第二全景图为所述第二球面模型展开的全景图,所述第二全景图的平面二维直角坐标与所述第二球面模型的坐标具有对应关系;

采样模块,用于根据所述第一映射关系,从所述第一全景图中,采样所述第二全景图中每一个平面二维直角坐标对应的像素点,构成含有像素的第二全景图,实现对所述第一全景图的压缩。

可选的,所述生成模块,具体用于:

根据所述第二全景图的预设分辨率,确定所述第二球面模型的半径;

通过所述用户主视角图像,确定所述第二球面模型的球心在所述第一球面模型内的位置。

可选的,所述映射模块,包括:

第一对应子模块,用于建立所述第一全景图中所有像素的平面二维直角坐标与第一球面模型的坐标的之间的第一对应关系;

第二对应子模块,用于建立所述第一球面模型的坐标与所述第二球面模型的坐标的之间的第二对应关系;

第三对应子模块,用于建立所述第二球面模型的坐标与第二全景图的平面二维直角坐标之间的第三对应关系;

第一映射子模块,用于通过所述第三对应关系,将所述第二全景图的平面二维直角坐标对应为所述第二球面模型的坐标,以及通过所述第二对应关系,所述第二球面模型的坐标对应为所述第一球面模型的坐标,以及通过所述第一对应关系,将所述第一球面模型的坐标对应为所述第一全景图中的平面二维直角坐标,建立起所述第二全景图的平面二维直角坐标与所述第一全景图的平面二维直角坐标之间的第一映射关系。

可选的,所述第二对应子模块,具体用于,

当所述第二球面模型的球心不在所述第一球面模型的三维直角坐标系的x轴上时,将所述第一球面模型的三维直角坐标系进行坐标系转换,其中,所述坐标系转换包括:旋转所述第一球面模型的x轴,使所述第二球面模型的球心在经过旋转后的x轴上。

可选的,所述装置还包括投影模块,所述投影模块用于:

通过所述第二球面模型,生成所述用户能够直接观看的2D投影平面,并建立所述第二球面模型的坐标与所述2D投影平面的二维直角坐标之间的第四对应关系;

通过所述第四对应关系,将所述2D投影平面的二维直角坐标对应为所述第二球面模型的坐标,以及通过所述第二对应关系,所述第二球面模型的坐标对应为所述第一球面模型的坐标,以及通过所述第一对应关系,将所述第一球面模型的坐标对应为所述第一全景图中的平面二维直角坐标,建立起所述2D投影平面的二维直角坐标与所述第一全景图的平面二维直角坐标之间的第二映射关系;

根据所述第二映射关系,从所述第一全景图中,采样所述2D投影平面中每一个平面二维直角坐标对应的像素点,构成包含像素的所述用户能够直接观看的2D投影平面。

本发明实施例提供的一种全景图压缩方法及装置,通过对待压缩的全景图,进行非均匀的采样,进而将待压缩的全景图压缩成非均匀的全景图,对于用户主要观看的部分图像,有较高的采样率,从而保证了用户观看的清晰度;对于其他的图像部分,采用了较低的采样率,从而使得整体压缩后的全景图较小,有利于全景图的储存、传输和解码。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的全景图压缩方法的流程图;

图2为本发明实施例提供的Equirectangular全景图的示意图;

图3为本发明实施例提供的Equirectangular全景图转换成的球面模型;

图4为本发明实施例提供的λ和φ的取值范围图;

图5为本发明实施例提供的在第一球面模型内生成第二球面模型的示意图;

图6为本发明实施例提供的第二球面模型的圆心位置示意图;

图7为本发明实施例提供的球面模型投影为2D投影平面示意图;

图8为本发明实施例提供的全景图压缩方法流程示意图;

图9为本发明实施例提供的全景图压缩装置的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,图1为本发明实施例提供的全景图压缩方法的流程图,包括:

步骤101,获得待压缩的第一全景图形成的第一球面模型,第一全景图中所有像素的平面二维直角坐标与第一球面模型的坐标具有对应关系。

全景图是指可以记录并呈现全角度视角的影像图。在VR领域中,最为常用的全景图为Equirectangular(等距长方形投影)格式的全景图。Equirectangular全景图,能够涵盖360度的水平视角和180度的垂直视角,从而形成了一张环绕一周全部景象的图片。本发明实施列使用Equirectangular全景图作为一个实例进行介绍,但本发明实施例不仅应用于Equirectangular全景图,其他各种类型的全景图都可以通过本发明实施例提供的方法进行压缩。

参见图2,图2为本发明实施例提供的Equirectangular全景图的示意图。其中,m为全景图的高,n为全景图的宽。全景图中的每一个坐标对应一个像素。

全景图可以转化为球面模型,相当于全景图覆盖在一个360度完整的球面上,在球面模型内部就可以看到全视角的所有影像,该球面模型的半径可以用公式一表示:

其中R为球面模型半径,n为全景图的宽,π为圆周率。

参见图3,图3为本发明实施例提供的Equirectangular全景图转换成的球面模型。其中,点r为球面模型表面的任一点,λ表示球面模型的坐标中的经度,φ表示球面模型的坐标中的纬度。

参见图4,图4为本发明实施例提供的λ和φ的取值范围图,其中,λ的取值范围为(-π,π),φ的取值范围为

在球面模型表面上,任意一个点的坐标可以使用极坐标。也可以使用三维直角坐标来表示,三维坐标与球面极坐标可以用以下公式二进行转换:

x1=Rcosλcosφ;

y1=Rsinλcosφ;

z1=Rsinφ;

其中,x1,y1,z1表示球面模型表面上点的三维直角坐标,λ表示球面模型的坐标中的经度,φ表示球面模型的坐标中的纬度,即球面模型的极坐,R表示球面模型半径。在使用上述公式时,公式中不乘以球面模型半径R时,则可以表示在单位圆构成的球面模型中的三维直角坐标位置,乘以球面模型半径R时,则可以表示以全景图实际大小建立的球面模型中的三维直角坐标位置。

全景图转化为球面模型时,全景图中所有像素的平面二维直角坐标与球面模型的坐标具有对应关系,具体的,全景图的二维直角坐标与球面模型的球面坐标之间的对应关系,由下面的公式三确定:

其中,x,y为全景图中像素的平面二维直角坐标,m为全景图的高,n为全景图的宽,λ表示球面模型的坐标中的经度,φ表示球面模型的坐标中的纬度,π为圆周率。

该公式表示全景图的二维直角坐标与球面模型的球面坐标之间的对应关系,已知全景图的二维直角坐标可以得到对应的球面模型的坐标,同样已知球面模型的坐标也可以得到对应的全景图的二维直角坐标。所以可以实现全景图与球面模型之间的自由转换。其中,球面模型的坐标可以包括极坐标,或者经过转换,也可以为三维直角坐标。

第一全景图作为待压缩的全景图时,可以通过上述公式,将第一全景图转换为第一球面模型。

步骤102,根据用户的主视角图像,在第一球面模型内生成第二球面模型,第二球面模型包含在第一球面模型中,第二球面模型的球心位于第一球面模型的球心和用户的主视角图像之间,第二球面模型的半径小于第一球面模型的半径,主视角图像为用户重点观看第一全景图中的部分图像。

用户在观看全景图时,都会有重点观看的图像部分,该部分图像在进行压缩时,作为用户的主视角图像,需要尽可能多的保留,而用户非重点观看的图像部分,可以进行较大程度的压缩,例如,全景图为一场篮球比赛的全景图,那么用户重点关注的部分就是赛场上与比赛有关的图像,该部分就是用户主视角图像,该部分图像在进行压缩时为了保证清晰度和用户体验,需要尽可能少压缩,而例如观众席,替补席等等是用户非重点观看的部分,可以不需要保证太高的清晰度,可以有较大的压缩率。

所以针对第一全景图,可以预先知道用户的主视角图像。当得到了第一球面模型之后,也可以预先知道用户主视角图像的图像在球面的那个部分。

参见图5,图5为本发明实施例提供的在第一球面模型内生成第二球面模型的示意图,其中第二球面模型502包含在第一球面模型501中,已知用户主视角观看的图像位置位于第一球面模型的上半圆,即用户主视角图像对应第一球面模型501的顶部部分,所以第二球面模型502的球心位于第一球面模型501的球心和第一球面模型501的顶部之间。

步骤103,建立第二全景图的平面二维直角坐标与第一全景图的平面二维直角坐标之间的第一映射关系,第二全景图为第二球面模型展开的全景图,第二全景图的平面二维直角坐标与第二球面模型的坐标具有对应关系。

根据步骤101中的公式三,可以实现全景图和球面模型之间的相互转换,所以当生成了第二球面模型之后,也可以将第二球面模型转化为第二全景图,但此时的第二全景图只是由第二球面模型进行坐标转换而得到,其中并不含有具体的像素,只具有像素的坐标。第二球面模型转化为的第二全景图,可以是一张不含有像素的空白全景图,也可以是一张虚拟的逻辑上的全景图,只需要建立起第二全景图逻辑上的平面二维直角坐标与第二球面模型的坐标之间的对应关系即可。

在第一球面模型中生成了第二球面模型之后,可以通过几何关系,来确定出第一球面模型的坐标与第二球面模型的坐标之间的映射投影关系,即第二球面模型的坐标的一个点,必然对应第一球面模型的坐标的一个点。

通过第二球面模型的坐标与第一球面模型的坐标的映射投影关系,以及全景图和球面模型之间的相互转换关系,能够建立起第二全景图的平面二维直角坐标与第一全景图的平面二维直角坐标之间的第一映射关系。第二全景图的每一个坐标点,都可以得到与之对应的第一全景图的坐标点。

步骤104,根据第一映射关系,从第一全景图中,采样第二全景图中每一个平面二维直角坐标对应的像素点,构成含有像素的第二全景图,实现对第一全景图的压缩。

建立第一映射关系后,就可以根据第二全景图中每一个坐标,找到第一全景图中相对应的坐标,并将该坐标对应的像素进行采样,填充到第二全景图中。第二全景图每一个坐标点都进行一次采样,就构成了具有像素的第二全景图。

由于第二球面模型半径小于第一球面模型,所以第二全景图小于第一全景图,也就是第二全景图的总像素少于第一全景图的总像素,实现了对第一全景图的压缩。

第二球面模型的球心靠近用户主视角图像,参见图5,在图5中第二球面模型502有两个区域,区域1和区域2。区域1和区域2在第二球面模型502上的面积是相同的,但对应第一球面模型501的面积明显存在差别,区域1对应较小的面积,而区域2对应加大的面积。当第二球面模型转化为第二全景图时,区域1和区域2在第二全景图上与具有相同的面积,即具有同样的像素数量。但在进行采样时,在区域1对应的部分第一全景图上的采样就更加密集,而区域2对应的部分第一全景图上的采样就会相对稀疏。并且区域1对应的部分是用户主视角图像,从而保证了用户主视角图像压缩率较低,而其他部分的压缩率较高,实现了非均匀的压缩。

当然,在本发明实施例中,如果第二球面模型502的球心与第一球面模型501的球心重合,则可以实现对第一球面全景图的均匀压缩。

在本发明实施列中,通过在第一球面模型中生成一个非对称的靠近用户主视角图像的第二球面模型,并将第二球面模型转化成第二全景图后,根据第二全景图的坐标在第一全景图中进行像素的采样,从而实现了对第一全景图的非对称压缩,对用户主视角图像采用了较高的采样率,保证了用户主视角图像的清晰度,对其他图像采用了较高的采样率,使得第一全景图压缩成了较小的第二全景图,有利于全景图文件的储存、传输和解码。

可选的,本发明实施例提供的全景图压缩方法中,根据用户的主视角图像,在第一球面模型内生成第二球面模型,包括:

第一步,根据第二全景图的预设分辨率,确定第二球面模型的半径。

现实中很多情况时,都可以预先得到压缩后的第二全景图的分辨率,或者说是第二全景图的分辨率是压缩后的目标分辨率。分辨率可以用像素来表示,例如1920x960等。这样的分辨率可以作为第二全景图的宽和高,即n′=1920,m′=960,其中n′为第二全景图的宽,m′第二全景图的高,从而可以根据公式一得到第二全面模型的半径。

第二步,通过用户主视角图像,确定第二球面模型的球心在第一球面模型内的位置。

根据用户观看主视角图像的不同需要,可以确定第二球面模型的球心在第一球面模型内的位置。例如,当用户不关心主视角图像以外的其他图像时,可以使第二球面模型的球心更加靠近用户主视角图像。而当用户还有观看一些其他图像的需求时,则可以将第二球面模型的球心偏向其他图像,如果用户想观看整体图像时,可以将第二球面模型的球心靠近第一球面模型的球心。

在本发明实施列中,通过第二全景图的预设分辨率,预先设定好第二球面模型的半径,使得第二球面模型的生成更加容易,并且可以在进行图像压缩时,准确达到需要压缩的目标分辨率。通过用户主视角图像,可以根据用户的不同需求灵活调整第二球面模型的球心位置,使得得到各种不同的非均匀压缩结果,满足不同用户的不同需求。

可选的,本发明实施例提供的全景图压缩方法中,建立第二全景图的平面二维直角坐标与第一全景图的平面二维直角坐标之间的第一映射关系,包括:

第一步,建立第一全景图中所有像素的平面二维直角坐标与第一球面模型的坐标的之间的第一对应关系。

根据公式三,可以得到第一全景图中所有像素的平面二维直角坐标与第一球面模型的坐标的之间的第一对应关系。第一全景图中的每一个像素的坐标可以在第一球面模型的坐标得到对应的坐标。

第二步,建立第一球面模型的坐标与第二球面模型的坐标的之间的第二对应关系。

当通过公式三将全景图转换为球面模型时,球面模型会自动建立起三维直角坐标系。

具体的,当应用公式三进行全景图的二维直角坐标转换球面模型的坐标时,当全景图的二维直角坐标的时,通过坐标x转换得到的φ为正值,时,通过坐标x转换得到的φ为负值,同理,当时,通过坐标y转换得到的λ为正值,时,通过坐标y转换得到的λ为负值。其中,x,y为全景图中像素的平面二维直角坐标,m为全景图的高,n为全景图的宽,λ表示球面模型的坐标中的经度,φ表示球面模型的坐标中的纬度。根据λ和φ的正负,可以确定出球面模型三维直角坐标系的x轴和y轴,即x轴确定φ的正负角度,y轴确定λ的正负角度。球面模型三维直角坐标系的z轴与x轴和y轴相互垂直,可以通过x轴和y轴来确定。

参见图6,图6为第二球面模型的圆心位置示意图。

图6中第二球面模型602的圆心位于第一球面模型601三维直角坐标系的x轴上,且第二球面模型602的圆心在第一球面模型601的三维直角坐标系中的位置为(t,0,0)。

第一球面模型601上一个坐标点p,利用几何学方法,可以对点p到第一球面模型601圆心O的直线,和点p到第二球面模型602圆心o的直线联立直线方程,例如直线方程可以为:

其中,λ表示第一球面模型601的坐标中的经度,φ表示第一球面模型601的坐标中的纬度,λ′表示第二球面模型602的坐标中的经度,φ′表示第二球面模型602的坐标中的纬度,R表示第一球面模型601的半径,t表示第二球面模型602的圆心o在第一球面模型601的x轴上的位置。

解上述直线方程,可以得到当第二球面模型602的圆心o位于第一球面模型601三维直角坐标系的x轴上时,用来建立第一球面模型601的坐标与第二球面模型602的坐标的之间第二对应关系的公式四,公式四为:

其中,

a=tan2λ′,

上述公式四中,λ表示第一球面模型601的坐标中的经度,φ表示第一球面模型601的坐标中的纬度,λ′表示第二球面模型602的坐标中的经度,φ′表示第二球面模型602的坐标中的纬度,R表示第一球面模型601的半径,t表示第二球面模型602的圆心o在第一球面模型601的x轴上的位置。

以上公式四是根据第一球面模型和第二球面模型的几何关系,利用几何学方法推到出的公式,并不是唯一的。利用其它几何方法,也可以推到出其它的公式,同样可以发映出第一球面模型的坐标和第二球面模型的坐标间的对应关系。只要是利用能够反映第一球面模型的坐标和第二球面模型的坐标间的对应关系的公式完成本发明实施例,都属于本发明实施例的保护范围。

第三步,建立第二球面模型的坐标与第二全景图的平面二维直角坐标之间的第三对应关系。

同样应用公式三,可以建立第二球面模型的坐标与第二全景图的平面二维直角坐标之间的第三对应关系。第二全景图的待填充的每一个像素的坐标都可以在第二球面模型的坐标中得到对应的坐标。

第四步,通过第三对应关系,将第二全景图的平面二维直角坐标对应为第二球面模型的坐标,以及通过第二对应关系,第二球面模型的坐标对应为第一球面模型的坐标,以及通过第一对应关系,将第一球面模型的坐标对应为第一全景图中的平面二维直角坐标,建立起第二全景图的平面二维直角坐标与第一全景图的平面二维直角坐标之间的第一映射关系。

通过应用公式三和公式四,第二全景图的平面二维直角坐标可以对应到第二球面模型的坐标,再通过第二球面模型的坐标对应到第一球面模型的坐标,最后对应到第一全景图的平面二维直角坐标,建立起第一映射关系。

在本发明实施例中,通过公式三和公式四,实现了建立第二全景图的平面二维直角坐标与第一全景图的平面二维直角坐标之间的第一映射关系。使得坐标的对应更加准确,在计算机等设备中更容易实现。提高了坐标对应的效率,进而提高了压缩效率。

可选的,本发明实施例提供的全景图压缩方法中,建立第一球面模型的坐标与第二球面模型的坐标之间的第二对应关系,包括:

当第二球面模型的球心不在第一球面模型的三维直角坐标系的x轴上时,将第一球面模型的三维直角坐标系进行坐标系转换,其中,坐标系转换包括:旋转第一球面模型的x轴,使第二球面模型的球心在经过旋转后的x轴上。

第二球面的球心位置根据用户的主视角图像来确定,所以可能出现在任何位置,当第二球面的球心不在第一球面模型的三维直角坐标系的x轴上时,则不能利用公式四建立,第一球面模型的坐标和第二球面模型的坐标之间的第二对应关系。所以,需要利用下面的公式五,进行第一球面模型三维直角坐标系的旋转,使第二球面模型的球心位于经过旋转后的x轴上。

设第二球面模型的圆心位置在第一球面模型中的位置用第一球面模型的极坐标表示为(t,λ0,φ0),则公式五为:

其中,x,y,z表示第一球面模型中的三维直角坐标,x″,y″,z″表示经过坐标系旋转的第一球面模型中的三维直角坐标,λ0表示第二球面模型的球心,在第一球面模型的坐标中的经度,φ0表示第二球面模型的球心,在第一球面模型的坐标中的纬度。

利用公式五之前时,需要利用公式二将第一球面模型的极坐标转化成第一球面模型中的三维直角坐标x,y,z,经过转换后得到的第一球面模型中的三维直角坐标x″,y″,z″,同样根据公式二的逆运算可以转换成为第一球面模型的极坐标。这样最终得到的结果就可以直接带入公式四进行计算,从而建立起第一球面模型的坐标和第二球面模型的坐标之间的第二对应关系

可选的,本发明实施例提供的全景图压缩方法中,建立第一球面模型的坐标与第二球面模型的坐标之间的第二对应关系之后,方法还包括:

第一步,通过第二球面模型,生成用户能够直接观看的2D投影平面,并建立第二球面模型的坐标与2D投影平面的二维直角坐标之间的第四对应关系。

参见图7,图7为球面模型投影为2D投影平面示意图。

全景图像可以认为是球面模型坐标的显示,而当渲染到屏幕或者HMD(Head Mount Display,头戴式可视设备)上时,要求都符合单眼成像原理,即最后展示在屏幕/HMD上的图像为用户直接可以观看的无畸变的透视2D投影平面。

图7中,第二球面模型701的坐标与2D投影平面702的二维直角坐标之间的第四对应关系,可以利用公式六来建立,公式六为:

其中,λ′表示第二球面模型701的坐标中的经度,φ′表示第二球面模型701的坐标中的纬度,x′和y′表示2D投影平面702的二维直角坐标,r表示第二球面模型的半径。

第二步,通过第四对应关系,将2D投影平面的二维直角坐标对应为第二球面模型的坐标,以及通过第二对应关系,第二球面模型的坐标对应为第一球面模型的坐标,以及通过第一对应关系,将第一球面模型的坐标对应为第一全景图中的平面二维直角坐标,建立起2D投影平面的二维直角坐标与第一全景图的平面二维直角坐标之间的第二映射关系。

通过应用公式六,2D投影平面的平面二维直角坐标可以对应到第二球面模型的坐标,再通过第二球面模型的坐标对应到第一球面模型的坐标,最后对应到第一全景图的平面二维直角坐标,建立起第二映射关系。

第三步,根据第二映射关系,从第一全景图中,采样2D投影平面中每一个平面二维直角坐标对应的像素点,构成包含像素的用户能够直接观看的2D投影平面。

建立第二映射关系后,就可以根据2D投影平面中每一个坐标,找到第一全景图中相对应的坐标,并将该坐标对应的像素进行采样,填充到2D投影平面中。2D投影平面每一个坐标点都进行一次采样,就构成了具有像素的且用户可以之间进行观看的2D投影平面。

在本发明实施例中,当生成了第二球面模型后,可以直接建立起第二球面模型的坐标与用户可以直接观看的2D投影平面的坐标之间的第四对应关系,进而构成第二映射关系,2D投影平面可以根据第二映射关系,从第一全景图中采样像素,生成还有像素的2D投影平面。这样可以实现了对第一全景图压缩的同时,可以直接生成用户可以直接观看的2D投影平面。可以实现实时的压缩和显示,拓展了本发明实施例的使用范围。

参见图8,图8为本发明实施例提供的全景图压缩方法流程示意图

第一步,获得第一全景图801,第一全景图的分辨率为3840x1920,则第一全景图的宽n=3840,高m=1920。

第二步,根据公式三,将第一全景图801中所有像素对应的平面直角坐标转换为球面模型的坐标,形成第一球面模型802,建立第一全景图801的平面直角坐标与第一球面模型802的坐标的第一对应关系,并可以通过公式一确定第一球面模型802的半径

第三步,需要将第一全景图压缩为1920x960的全景图,即压缩后得到的第二全景图804的分辨率为1920x960,即第二全景图的宽n′=1920,高m′=960,进而可以根据公式一得到第二球面模型803的半径

第四步,根据预设的用户主视角图像,以及第二球面模型的半径,确定第二球面模型803的球心位置。

第五步,使用公式二和公式五,将第一球面模型802的三维直角坐标系进行坐标系转换,旋转第一球面模型802的x轴,使第二球面模型803的球心在经过旋转后的x轴上。

第六步,使用公式四,建立第一球面模型802的坐标和第二球面模型803的坐标的第二对应关系。

第七步,使用公式二,将第二球面模型803的坐标转换为平面直角坐标,形成不含有像素的第二全景图804,并建立第二全景图804的平面直角坐标与第二球面模型803的坐标的第三对应关系。

第八步,通过第三对应关系、第二对应关系以及第一对应关系所构成的第一映射关系,第二全景图804中的每一个像素的坐标都可以对应到第一全景图801中像素的坐标。

在第一全景图801中采样第二全景图804中每一个像素的坐标对应的像素,构成含有像素的第二全景图804。实现了对第一全景图801的压缩。

参见图9,图9为本发明实施例提供的全景图压缩装置的结构图,包括:

获取模块901,用于获得待压缩的第一全景图形成的第一球面模型,第一全景图中所有像素的平面二维直角坐标与第一球面模型的坐标具有对应关系;

生成模块902,用于根据用户的主视角图像,在第一球面模型内生成第二球面模型,第二球面模型包含在第一球面模型中,第二球面模型的球心位于第一球面模型的球心和用户的主视角图像之间,第二球面模型的半径小于第一球面模型的半径,主视角图像为用户重点观看第一全景图中的部分图像;

映射模块903,用于建立第二全景图的平面二维直角坐标与第一全景图的平面二维直角坐标之间的第一映射关系,第二全景图为第二球面模型展开的全景图,第二全景图的平面二维直角坐标与第二球面模型的坐标具有对应关系;

采样模块904,用于根据第一映射关系,从第一全景图中,采样第二全景图中每一个平面二维直角坐标对应的像素点,构成含有像素的第二全景图,实现对第一全景图的压缩。

在本发明实施列中,通过在第一球面模型中生成一个非对称的靠近用户主视角图像的第二球面模型,并将第二球面模型转化成第二全景图后,根据第二全景图的坐标在第一全景图中进行像素的采样,从而实现了对第一全景图的非对称压缩,对用户主视角图像采用了较高的采样率,保证了用户主视角图像的清晰度,对其他图像采用了较高的采样率,使得第一全景图压缩成了较小的第二全景图,有利于全景图文件的储存、传输和解码。

本发明实施例的装置是应用上述全景图压缩方法的装置,则上述全景图压缩方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。

可选的,本发明实施例提供的全景图压缩装置中,生成模块902,具体用于:

根据第二全景图的预设分辨率,确定第二球面模型的半径;

通过用户主视角图像,确定第二球面模型的球心在第一球面模型内的位置。

可选的,本发明实施例提供的全景图压缩装置中,映射模块903,包括:

第一对应子模块,用于建立第一全景图中所有像素的平面二维直角坐标与第一球面模型的坐标的之间的第一对应关系;

第二对应子模块,用于建立第一球面模型的坐标与第二球面模型的坐标的之间的第二对应关系;

第三对应子模块,用于建立第二球面模型的坐标与第二全景图的平面二维直角坐标之间的第三对应关系;

第一映射子模块,用于通过第三对应关系,将第二全景图的平面二维直角坐标对应为第二球面模型的坐标,以及通过第二对应关系,第二球面模型的坐标对应为第一球面模型的坐标,以及通过第一对应关系,将第一球面模型的坐标对应为第一全景图中的平面二维直角坐标,建立起第二全景图的平面二维直角坐标与第一全景图的平面二维直角坐标之间的第一映射关系。

可选的,本发明实施例提供的全景图压缩装置中,第二对应子模块,具体用于,

当第二球面模型的球心不在第一球面模型的三维直角坐标系的x轴上时,将第一球面模型的三维直角坐标系进行坐标系转换,其中,坐标系转换包括:旋转第一球面模型的x轴,使第二球面模型的球心在经过旋转后的x轴上。

可选的,本发明实施例提供的全景图压缩装置中,装置还包括投影模块,投影模块用于:

通过第二球面模型,生成用户能够直接观看的2D投影平面,并建立第二球面模型的坐标与2D投影平面的二维直角坐标之间的第四对应关系;

通过第四对应关系,将2D投影平面的二维直角坐标对应为第二球面模型的坐标,以及通过第二对应关系,第二球面模型的坐标对应为第一球面模型的坐标,以及通过第一对应关系,将第一球面模型的坐标对应为第一全景图中的平面二维直角坐标,建立起2D投影平面的二维直角坐标与第一全景图的平面二维直角坐标之间的第二映射关系;

根据第二映射关系,从第一全景图中,采样2D投影平面中每一个平面二维直角坐标对应的像素点,构成包含像素的用户能够直接观看的2D投影平面。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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