全景图像映射方法技术

技术编号:15727291 阅读:128 留言:0更新日期:2017-06-30 00:55
本发明专利技术公布了一种全景图像映射方法及反映射方法。其中,映射过程将全景图像或视频A对应的球面映射为二维平面图像或视频B,首先根据球面的纬度,将球面分成三个区域:分别记为区域I,区域II和区域III;将所述三个区域分别映射为方形平面I′、矩形平面II′和方形平面III′;再将平面I′、II′、III′拼成一个平面;所得的平面即为二维平面图像或视频B。相比于现有常用映射方法,本发明专利技术方法有效地改善了在高纬度区域的过采样,能够有效降低编码所需的码率以及解码的复杂度。涉及虚拟现实领域,可应用于全景图像和视频。

【技术实现步骤摘要】
全景图像映射方法
本专利技术涉及虚拟现实(VR)领域,尤其涉及一种新的全景图像映射方法,能够减少编码全景图像和视频所需的码率,可用于全景图像和视频。
技术介绍
随着虚拟现实技术的日益发展,各领域对虚拟现实视频的需求日益增加。相比于传统的平面图像,360°的全景图像要求更广的视角,因此,全景图像需要更高的分辨率,其编码所需的码率也高出许多。现有的编码和存储技术均不支持球面,因此,采用现有方法对全景图像进行编码和存储,需要将360°的全景图像映射到二维平面上。现有方法中,最常见的映射方式是equirectangular映射,这种映射方式根据球面的经度和纬度对球面进行采样,将球面映射到二维平面上。但是,采用这种映射方式对360°全景图像进行映射时,在球面的高纬度区域存在着较严重的过采样现象,编码所需的码率及解码的复杂度高。
技术实现思路
本专利技术提供一种新的全景图像映射方法及其相应的反映射方法,通过全景图像映射方法可将球面映射到二维平面上,采用全景图像反映射方法可从平面映射回球面,以进行渲染观看。本专利技术方法有效改善全景图像或视频所对应球面在高纬度区域的过采样,减少编码全景图像和视频所需的码率,同时提高了编码效率。本专利技术提供的技术方案是:一种全景图像映射方法,将全景图像或视频A所对应的球面映射到二维平面图像或视频B上,可改善全景图像在高纬度区域的过采样,减少编码全景图像和视频所需的码率;所述映射方法将球面映射为二维平面,首先根据球面的纬度,将球面分成三个区域:分别记为区域I,区域II和区域III;区域I对应球面上纬度为-90°~Z1的区域,区域II对应球面上纬度为Z1~Z2的区域,区域III对应球面上纬度为Z2~90°的区域;然后将区域I映射为分辨率为W1×W1的方形平面I′,区域II映射为分辨率为WII×HII的矩形平面II′,区域III映射为分辨率为WIII×WIII的方形平面III′;最后根据WI,WII,HII,WIII的值将平面I′,II′,III′拼成一个平面,所的平面即为上述二维平面图像B;所述参数Z1,Z2,WI,WII,HII,WIII均可进行设置,且需满足条件:-90°≤Z1≤Z2和Z1≤Z2≤90°。针对上述全景图像映射方法,进一步地,将全景图像或视频A所对应的球面映射到二维平面图像或视频B上的过程包括以下步骤或以下步骤的等效实现:1)对方形平面I′中的每个像素点,根据其在平面I′中的坐标(X,Y),计算其对应的球面坐标Coordinate(经度和纬度),然后根据球面坐标Coordinate取球面上对应位置的像素值(或附近像素通过插值计算得到相应像素值),作为平面I′中像素点(X,Y)的像素值。根据平面I′中的坐标(X,Y)计算其对应的球面坐标Coordinate的方法为:1.1)计算得到该点到方形平面I′中心的垂直距离和水平距离,取其中较大的一个记为m;1.2)方形平面I′可看作是多个同心方形组成的,本步中计算得到该点到其所在的同心方形上第零个点的距离,记为n;其中第零个点的位置可任意选取,可按照顺时针或逆时针方式计算上述距离;1.3)根据n和m计算得到方形平面I′中坐标为(X,Y)的点所对应的纬度latitude和经度longitude;2)对矩形平面II′中的每个像素点,根据其在平面II′中的坐标(X,Y),计算其对应的球面坐标Coordinate(经度和纬度),然后根据球面坐标Coordinate取球面上对应位置的像素值(或附近像素通过插值计算得到相应像素值),作为平面II′中像素点(X,Y)的像素值。根据平面II′中的坐标(X,Y)计算其对应的球面坐标Coordinate的公式为:latitude=Z2-(Z2-Z1)×(Y+0.5)÷HIIlongitude=360°×(X+0.5)÷WII-180°+offset其中,offset为矩形平面II′中心对应的经度,可自行设置。3)对方形平面III′中的每个像素点,根据其在平面III′中的坐标(X,Y),计算其对应的球面坐标Coordinate(经度和纬度),然后根据球面坐标Coordinate取球面上对应位置的像素值(或附近像素通过插值计算得到相应像素值),作为平面I′中像素点(X,Y)的像素值。根据平面I′中的坐标(X,Y)计算其对应的球面坐标Coordinate的方法为:3.1)计算得到该点到方形平面III′中心的垂直距离和水平距离,取其中较大的一个记为m;3.2)方形平面III′可看作是多个同心方形组成的,本步中计算得到该点到其所在的同心方形上第零个点的距离,记为n;其中第零个点的位置可任意选取;3.3)根据n和m计算得到方形平面III′中坐标为(X,Y)的点所对应的纬度latitude和经度longitude;4)根据WI,WII,HII,WIII的值将平面I′,II′,III′拼成一个平面。针对上述全景图像映射过程,进一步地,全景图像或视频A的映射格式包括但不限于经纬图、立方体映射图像或视频、多路相机采集的全景图像或视频。针对上述全景图像映射方法,进一步地,步骤1.1)中计算得到该点到方形平面I′中心的垂直距离和水平距离,取其中较大的一个记为m的计算公式如下:m=max(abs(WI÷2-X-0.5),abs(WI÷2-Y-0.5))针对上述全景图像映射方法,进一步地,步骤1.2)中计算得到该点到其所在的同心方形上第零个点的距离,具体选取右上角的像素为第零个像素,距离按逆时针方向计算,其计算方法如下:m2=(W1-1)÷2-m针对上述全景图像映射方法,进一步地,步骤1.3)中根据n和m计算得到方形平面I′中坐标为(X,Y)的点所对应的纬度latitude和经度longitude的计算公式如下:latitude=(Z1+90°)×m÷(W1÷2)-90°longitude=n÷(8×m)×360°-180°针对上述全景图像映射方法,进一步地,步骤3.1)中计算得到该点到方形平面III′中心的垂直距离和水平距离,取其中较大的一个记为m的计算公式如下:m=max(abs(WIII÷2-X-0.5),abs(WIII÷2-Y-0.5))针对上述全景图像映射方法,进一步地,步骤3.2)中计算得到该点到其所在的同心方形上第零个点的距离,具体选取右上角的像素为第零个像素,距离按顺时针方向计算,其计算方法如下:m2=(WIII-1)÷2-m针对上述全景图像映射方法,进一步地,步骤3.3)中根据n和m计算得到方形平面III′中坐标为(X,Y)的点所对应的纬度latitude和经度longitude的计算公式如下:latitude=90°-(90°-Z2)×m÷(WIII÷2)longitude=n÷(8×m)×360°-180°针对上述全景图像映射方法,进一步地,步骤4)中当WI=0.25×WII=HII=WIII时可进行如下的拼接:由于0.25×WII=HII,因此矩形平面II′的分辨率为表示为4HII×HII,首先将矩形平面II′分成四个分辨率为HII×HII的小平面,记作:II′1,II′2,II′3,II′4,然后按照平面II′1,平面II′2,平面II′3,平面III′,平面II′4,平面I′的顺序将它们拼接成一个分辨率本文档来自技高网...
全景图像映射方法

【技术保护点】
一种全景图像映射方法,将全景图像或视频A对应的球面映射为二维平面图像或视频B,首先根据球面的纬度,将球面分成三个区域:分别记为区域I,区域II和区域III;将所述三个区域分别映射为方形平面I′、矩形平面II′和方形平面III′;再将平面I′、II′、III′拼成一个平面;所得的平面即为二维平面图像或视频B;所述区域I对应球面上纬度为‑90°~Z

【技术特征摘要】
1.一种全景图像映射方法,将全景图像或视频A对应的球面映射为二维平面图像或视频B,首先根据球面的纬度,将球面分成三个区域:分别记为区域I,区域II和区域III;将所述三个区域分别映射为方形平面I′、矩形平面II′和方形平面III′;再将平面I′、II′、III′拼成一个平面;所得的平面即为二维平面图像或视频B;所述区域I对应球面上纬度为-90°~Z1的区域,区域II对应球面上纬度为Z1~Z2的区域,区域III对应球面上纬度为Z2~90°的区域;所述参数Z1、取值可自行设置并满足条件:-90°≤Z1≤Z2和Z1≤Z2≤90°;所述方形平面I′分辨率为WI×WI,矩形平面II′分辨率为WII×HII,方形平面III′分辨率为WIII×WIII;所述参数WI、WII、HII、WIII取值可自行设置;所述映射方法包括如下步骤:1)针对方形平面I′中的每个像素点,根据平面I′中像素点的坐标(X,Y),计算得到该像素点对应的球面坐标Coordinate,包括经度和纬度;然后根据球面坐标Coordinate取球面上对应位置的像素值或对附近像素通过插值计算得到相应像素值,作为平面I′中像素点(X,Y)的像素值;所述根据像素点在平面I′中的坐标(X,Y)计算其对应的球面坐标Coordinate,包括如下步骤:1.1)计算得到该像素点到方形平面I′中心的垂直距离和水平距离,取其中较大者记为m;1.2)将方形平面I′看作是由多个同心方形组成,计算得到该像素点到其所在的同心方形上第零个点的距离,记为n;所述第零个点的位置可任意选取;按照顺时针或逆时针方式计算得到该像素点到其所在的同心方形上第零个点的距离;1.3)根据n和m计算得到方形平面I′中坐标为(X,Y)的点所对应的纬度latitude和经度longitude,即对应的球面坐标Coordinate;2)针对矩形平面II′中的每个像素点,根据平面II′中像素点的坐标(X,Y),计算得到该像素点对应的球面坐标Coordinate,包括经度和纬度;然后根据球面坐标Coordinate取球面上对应位置的像素值或对附近像素通过插值计算得到相应像素值,作为平面II′中像素点(X,Y)的像素值;3)针对方形平面III′中的每个像素点,根据平面III′中像素点的坐标(X,Y),计算得到该像素点对应的球面坐标Coordinate,包括经度和纬度;然后根据球面坐标Coordinate取球面上对应位置的像素值或附近像素通过插值计算得到相应像素值,作为平面I′中像素点(X,Y)的像素值;所述根据像素点在平面III′中的坐标(X,Y)计算其对应的球面坐标Coordinate的方法为:3.1)计算得到该像素点到方形平面III′中心的垂直距离和水平距离,取其中较大的一个记为m;3.2)将方形平面III′看作是由多个同心方形组成,计算得到该像素点到其所在的同心方形上第零个点的距离,记为n;其中第零个点的位置可任意选取;3.3)根据n和m计算得到方形平面III′中坐标为(X,Y)的点所对应的纬度latitude和经度longitude;4)根据参数WI、WII、HII、WIII取值,将平面I′、II′、III′拼接成一个平面。2.如权利要求1所述映射方法,其特征是,步骤1.1)通过式1计算得到:m=max(abs(WI÷2-X-0.5),abs(WI÷2-Y-0.5))(式1)其中,m为像素点到方形平面I′中心的垂直距离和水平距离中较大者;步骤1.2)通过式2计算:其中,m2=(WI-1)÷2-m;n为像素点到其所在的同心方形上第零个点的距离;步骤1.3)通过式3和式4计算:latitude=(Z1+90°)×m÷(WI÷2)-90°(式3)longitude=n÷(8×m)×360°-180°(式4)其中,latitude为方形平面I′中坐标为(X,Y)的点所对应的纬度;longitude为相应的经度。3.如权利要求1所述映射方法,其特征是,步骤2)根据像素点在平面II′中的坐标(X,Y)计算其对应的球面坐标Coordinate的公式为:latitude=Z2-(Z2-Z1)×(Y+0.5)÷HII(式5)longitude=360°×(X+0.5)÷WII-180°+offset(式6)其中,offset为矩形平面II′中心对应的经度,可自行设置。4.如权利要求1所述映射方法,其特征是,步骤3.1)通过式7计算得到:m=max(abs(WIII÷2-X-0.5),abs(WIII÷2-Y-0.5))(式7)其中,m为像素点到方形平面III′中心的垂直距离和水平距离中较大者;步骤3.2)通过式8计算:其中,m2=(WIII-1)÷2-m;n为像素点到其所在的同心方形上第零个点的距离;步骤3.3)通过式9和式10计算:latitude=90°-(90°-Z2)×m÷(WIII÷2)(式9)longitude=n÷(8×m)×360°-180°(式10)其中,latitude为方形平面III′中坐标为(X,Y)的点所对应的纬度;longitude为相应的经度。5.如权利要求1所述映射方法,其特征是,步骤4)根据参数WI、WII、HII、WIII取值,将平面I′、II′、III′拼接成一个平面的方法,具体地:当WI=0.25×WII=HII=WIII时,首先将矩形平面II′分成四个分辨率为HII×HII的小平面,分别记作:II′1、II′2、II′3、II′4;然后按照平面II′1、平面II′2、平面II′3、平面III′、平面II′4、平面I′的顺序,将上述六个平面进行拼接,拼接过程中将平面III′顺时针旋转90°,将平面II′4...

【专利技术属性】
技术研发人员:王荣刚王悦名王振宇高文
申请(专利权)人:北京大学深圳研究生院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1