CN111199518B - Vr设备的图像呈现方法、装置、设备和计算机存储介质 - Google Patents

Vr设备的图像呈现方法、装置、设备和计算机存储介质 Download PDF

Info

Publication number
CN111199518B
CN111199518B CN201811368846.5A CN201811368846A CN111199518B CN 111199518 B CN111199518 B CN 111199518B CN 201811368846 A CN201811368846 A CN 201811368846A CN 111199518 B CN111199518 B CN 111199518B
Authority
CN
China
Prior art keywords
pixel
image data
pixel point
polar
point
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
Application number
CN201811368846.5A
Other languages
English (en)
Other versions
CN111199518A (zh
Inventor
孔德辉
徐科
杨维
游晶
刘欣
艾吉松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN201811368846.5A priority Critical patent/CN111199518B/zh
Priority to US17/293,749 priority patent/US11908107B2/en
Priority to PCT/CN2019/118202 priority patent/WO2020098721A1/zh
Publication of CN111199518A publication Critical patent/CN111199518A/zh
Application granted granted Critical
Publication of CN111199518B publication Critical patent/CN111199518B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/10Selection of transformation methods according to the characteristics of the input images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • G06T3/604Rotation of whole images or parts thereof using coordinate rotation digital computer [CORDIC] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Geometry (AREA)

Abstract

本发明实施例提供了一种VR设备的图像呈现方法、装置、设备和计算机存储介质,所述方法包括:获取输入图像数据;在极坐标系下,形成输入图像数据和输出图像数据的对应关系;所述极坐标系的极点为虚拟现实VR设备的视场中心与显示平面的交点;根据所述输出图像数据得到待呈现图像数据;将所述待呈现图像数据基于所述凸透镜进行呈现。

Description

VR设备的图像呈现方法、装置、设备和计算机存储介质
技术领域
本发明实施例涉及但不限于虚拟现实(Virtual Reality,VR)领域,尤其涉及一种VR设备的图像呈现方法、装置、设备和计算机存储介质,可以针对虚拟现实头戴显示设备(Head Mount Device,HMD)显示***,进行几何畸变校正(Graphic DistortionCorrection,GDC)。
背景技术
VR技术通常借助近场显示***构建逼真的现实场景,使用户可以在小范围内体验大空间。为了达到这一目的,搭建逼真高效的近场显示***尤为重要。为了摆脱时间空间的限制,VR技术得到了广泛应用,尤其是在远程医疗、教育培训和工业仿真等方面。一个典型的VR***,通常由源生成端、数据处理端、数据呈现端构成;源生成端主要通过运动相机或者基于图形处理器(Graphics Processing Unit,GPU)的模型构图实现,数据处理端用于实现数据拼接传输和提取,数据呈现端用于将提取的内容呈现给用户。
可以看出,数据呈现端是连接用户与内容的最紧密的模块,直接影响用户的体验,用户体验受数据呈现端的影响非常明显。而如何在数据呈现端降低失真(如HMD引入的失真),是亟待解决的技术问题。
发明内容
本发明实施例提供了一种VR设备的图像呈现方法、装置、设备和计算机存储介质,能够在VR设备的数据呈现端降低失真。
为达到上述目的,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种VR设备的图像呈现方法,所述方法包括:
获取输入图像数据;
在极坐标系下,形成输入图像数据和输出图像数据的对应关系;所述极坐标系的极点为VR设备的视场中心与显示平面的交点;
根据所述输出图像数据得到待呈现图像数据;
将所述待呈现图像数据基于所述凸透镜进行呈现。
本发明实施例还提供了一种VR设备的图像呈现装置,所述装置包括:获取模块、处理模块和呈现模块,其中
获取模块,用于获取输入图像数据;
处理模块,用于在极坐标系下,形成输入图像数据和输出图像数据的对应关系;根据所述输出图像数据得到待呈现图像数据;所述极坐标系的极点为VR设备的视场中心与显示平面的交点;
呈现模块,用于将所述待呈现图像数据基于所述凸透镜进行呈现。
本发明实施例还提供了一种VR设备的图像呈现设备,所述设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行上述任意一种VR设备的图像呈现方法的步骤。
本发明实施例还提供了一种VR设备,所述VR设备包括上述任意一种图像呈现装置或上述任意一种图像呈现设备。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种VR设备的图像呈现方法的步骤。
本发明实施例提供一种VR设备的图像呈现方法、装置、设备和计算机存储介质,获取输入图像数据;在极坐标系下,形成输入图像数据和输出图像数据的对应关系;所述极坐标系的极点为虚拟现实VR设备的视场中心与显示平面的交点;根据所述输出图像数据得到待呈现图像数据;将所述待呈现图像数据基于所述凸透镜进行呈现。如此,由于视场中心与凸透镜的焦点均处于凸透镜的主光轴上,因而,凸透镜映射方式关于焦点具有中心对称特性时,凸透镜映射方式关于极点具有中心对称特性,进而,本发明实施例只需要在极坐标系下通过极径映射便可得出映射结果,无需进行极角映射,在计算复杂度上低于笛卡尔坐标系下的映射方式,便于硬件实现。
附图说明
图1为本发明实施例的VR设备的图像呈现方法的流程图;
图2为本发明实施例涉及的凸透镜的几何失真的模型示意图;
图3为本发明实施例涉及的极坐标系与笛卡尔坐标系的差异点的示意图;
图4为本发明实施例中输入空间到输出空间的映射方法的示意图;
图5为本发明实施例中输出空间到输入空间的映射方法的示意图;
图6为本发明实施例的VR设备的图像呈现装置的组成结构示意图;
图7为本发明实施例的VR设备的图像呈现设备的结构示意图。
具体实施方式
以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
VR设备中的HMD可以通过凸透镜组来实现图像呈现,即,可以将待呈现图像数据基于位于数据呈现端的凸透镜的设备来呈现;HMD中的透镜组,用于增加待呈现内容的景深,可以降低用户近场观看的不适,但同时导致了一系列的几何失真(Graphic Distortion,GD)。可以理解的是,HMD中的凸透镜具有以焦点为核心的中心对称特性。实际实施时,可以利用VR设备的数据呈现端接收输入图像数据,这里,输入图像数据为经VR设备的源生成端和数据处理端处理后得出的数据,可选地,输入图像数据可以是矩形图像数据,例如输入图像数据是分辨率为A*B的图像数据,A表示输入图像数据的横向像素点个数,B表示输入图像数据的纵向像素点个数;实际应用中,VR设备的数据呈现端可以对输入图像数据进行处理后进行呈现。
相关技术中,VR设备的数据呈现端要主要解决两个方面的问题:1)如何降低通过HMD设备引入的失真,2)如何使模型可以灵活地适配多种设备;前者主要体现在提升用户观看内容的真实性。后者目的在于通过建模降低失真矫正对分辨率和设备的依赖。
基于上述记载的内容,提出以下各实施例。
第一实施例
本发明第一实施例提出了一种VR设备的图像呈现方法,可以应用于VR设备的数据呈现端。
图1为本发明实施例的VR设备的图像呈现方法的流程图,如图1所示,该流程可以包括:
步骤101:获取输入图像数据。
这里,输入图像数据包括各像素点的坐标和像素值;其中,像素值用于表示像素点的亮度分量或色度分量,例如,像素值可以包括RGB空间的R分量、G分量或B分量,也可以包括YCbCr空间的Y分量、Cb分量或Cr分量。
步骤102:在极坐标系下,形成输入图像数据和输出图像数据的对应关系;所述极坐标系的极点为VR设备的视场中心与显示平面的交点。
实际应用中,可以根据输入图像数据、以及输入图像数据和输出图像数据的对应关系,得出输出图像数据。
针对VR设备的数据呈现端带来的图像失真,实现GDC的方案可以是进行针对输入图像数据进行预失真处理,下面对预失真处理的原理进行说明。
数据呈现端的凸透镜带来的失真可以通过式(1)进行说明。
式(1)中,HMD表示上述凸透镜的映射方式,f(x,y)表示数据处理端输出结果,即,数据处理端输出的笛卡尔坐标为(x,y)的像素点的像素值;f(x,y)与实际场景中的内容在大小、位置、颜色和形状上保持一致;f'(x,y)表示经过上述凸透镜后呈现的内容。
可以理解的是,距离透镜中心越远的区域放大越明显,这种非均匀失真一方面改变了物体的相对大小和位置,并且由于不同色彩的失真不同,物体的边缘会出现明显的光晕,另一方面,加大了数值量化的难度。
针对上述凸透镜带来的非均匀失真,可以采用式(2)表示失真抑制方式进行抑制。
式(2)中,HMD'表示预失真处理;可以看出,数据处理端输出结果f(x,y)并不直接送显(即不直接通过上述凸透镜进行呈现),而是先对数据处理端输出结果f(x,y)进行预失真处理;然后,将预失真处理的结果g(x,y)送显(即通过上述凸透镜进行呈现);这里,HMD'表示HMD的逆映射,示例性地,HMD表示桶形失真对应的映射方式时,HMD'表示枕形失真对应的映射方式,反之亦然。
本发明实施例中,HMD'表示上述输入图像数据至输出图像数据的映射方式(用于表示输入图像数据各像素点至输出图像数据的各像素点的映射关系)。
作为本步骤的一种实现方式,可以在极坐标系下,对输入图像数据各像素点的坐标按照特定映射方式进行映射,得到输出图像数据;所述特定映射方式用于表示所述凸透镜的图像放大映射方式的逆映射。
为了确定上述特定映射方式,需要确定上述凸透镜的图像放大映射方式,实际实施时,可以预先确定并存储上述凸透镜的参数(包括畸变参数),如此,可以通过读取的方式获取上述凸透镜的参数,进而根据上述凸透镜的参数确定上述凸透镜的图像放大映射方式,进而确定出上述凸透镜的图像放大映射方式的逆映射,即,确定出上述特定映射方式。
参照式(1)和式(2),相关技术中,针对上述凸透镜带来的非均匀失真,多采用笛卡尔坐标系下的失真抑制方案,笛卡尔坐标系采用相交于原点的两条或者多条数轴,构成平面放射坐标系,包括直角坐标系和斜角坐标系。常用的笛卡尔坐标系为直角坐标系,在平面内,任何一点的位置可以采用数轴上对应点的坐标来标定,利用数轴的方向作为单位方向,用单位长度表示该方向上距离原点的远近。通过对平方和开方计算改点距离原点的距离。
本发明实施例中可以采用极坐标系下的失真抑制方案,极坐标系是通过参考点距离原点的距离(称为极径ρ)以及参考点与原点的连线与水平线的夹角(称为极角θ)来描述参考点的位置。当限制ρ大于等于零,θ介于0到2π时,平面上除了极点之外,每个点都有唯一的极坐标描述(ρ,θ)。
下面通过式(3)和式(4)说明极坐标与笛卡尔直角坐标的转换关系。
x=ρcosθ,y=ρsinθ (4)
笛卡尔坐标系的优势在于直观便于理解,但是实际计算中极坐标系具有建模上的一些优势,在微积分中具有广泛的应用。针对透镜***的GD具有径向同性的特性,即和焦点距离相同的点产生的形变相同;对于HMD设备中的凸透镜,预失真则等价于图像向焦点产生收缩,对于矩形图像而言,形成类似枕形的失真。
基于上述记载的内容,可以理解的是,在形成输入图像数据和输出图像数据的对应关系前,需要将输入图像数据各像素点的坐标从笛卡尔坐标系转换到极坐标系;示例性地,可以根据所述VR设备的显示分辨率,将输入图像数据各像素点的坐标从笛卡尔坐标系转换到极坐标系。
这里,VR设备的显示分辨率可以是VR设备中HMD的显示分辨率,具体地说,VR设备中HMD的显示分辨率表示带显示的数据分辨率,可以是视频源数据或者GPU绘制的数据的分辨率。在一个示例中,上述HMD的显示分辨率可以是HMD对应到单眼的显示分辨率,例如,HMD的输出分辨率为2560*1440,则HMD对应到单眼的显示分辨率为1280*1440;在另一个示例中,可以根据输入单眼分辨率的纵横比确定HMD的显示分辨率,例如,输入单眼分辨率为1200*1200,则HMD的显示分辨率为1280*1208。
VR设备的显示分辨率可以预先确定并存储在VR设备中,如此,可以通过读取的方式获取VR设备的显示分辨率。
也就是说,本发明实施例中,可以根据VR设备的显示分辨率,分别对输入图像数据各像素点在笛卡尔坐标系的坐标(x,y),按照笛卡尔坐标系到极坐标系的坐标转换公式,计算得出相应的极坐标数据(ρ,θ),进而得出极坐标系下的图像网格。
需要说明的是,在计算极坐标数据(ρ,θ),需要获取笛卡尔坐标系下VR设备的的视场中心与显示平面的交点的坐标(x0,y0);在实际应用中,R设备的的视场中心与显示平面的交点的坐标可以预先确定并进行存储,如此,可以通过读取的方式获取VR设备的的视场中心与显示平面的交点的坐标。
这里,VR设备的显示分辨率相同时,上述笛卡尔坐标系到极坐标系的坐标转换公式是相同的,即,针对相同的VR设备的显示分辨率,可以采用统一的笛卡尔坐标系到极坐标系的坐标转换公式。
实际应用中,为了保证坐标转换前后的数据内容的一致,不丢失输入数据,可以将坐标转换后的极坐标数据的极径缩放到(0,1)范围内。
VR设备的显示分辨率可以表示为m*n,这里,m和n均大于1;下面通过式(5)说明上述笛卡尔坐标系到极坐标系的坐标转换公式。
在实际应用中,对于VR设备的任意一种显示分辨率,可以利用表格来表示笛卡尔坐标系到极坐标系的坐标转换公式;也就是说,可以预先确定VR设备的各种显示分辨率对应的坐标系转换表,上述坐标系转换表用于表示图像中各像素点从笛卡尔坐标系到极坐标系的坐标映射关系。
在实际实施时,可以获取预先确定的各种显示分辨率对应的坐标系转换表(LUT表),然后,根据所述VR设备的显示分辨率、以及所述各种显示分辨率对应的坐标系转换表,将输入图像数据各像素点的坐标从笛卡尔坐标系转换到极坐标系。
也就是说,可以根据VR设备的显示分辨率,在各种显示分辨率对应的坐标系转换表中,选取出VR设备的显示分辨率对应的坐标系转换表,然后,根据选取出的坐标系转换表,将输入图像数据各像素点的坐标从笛卡尔坐标系转换到极坐标系。
可以看出,由于针对相同的VR设备的显示分辨率,可以采用统一的坐标系转换表,因而,在不同的VR设备(例如不同的HMD设备)具有相同的显示分辨率时,通过对统一的坐标系转换表的复用,便于在硬件设计中实现,可以在进行坐标转换时减少对VR设备型号或HMD设备型号的依赖,克服了相关技术中对VR设备或不HMD设备的参数设定敏感的缺陷,便于实现对不同的VR设备或不同的HMD设备的适配,提升了本发明实施例的易拓展性。
步骤103:根据所述输出图像数据得到待呈现图像数据。
这里,待呈现图像数据是需要通过VR设备凸透镜组来实现图像呈现的数据,显然,待呈现图像数据包括各像素点的坐标和像素值。
本发明实施例中,待呈现图像数据包括输出图像数据在确定各像素点的像素值后得到的图像数据;也就是说,可以确定所述输出图像数据各像素点的像素值,根据所述输出图像数据各像素点的坐标和像素值,得到所述待呈现图像数据。
对于确定输出图像数据各像素点的像素值的实现方式,示例性地,可以基于两种映射方法实现,其中,第一种映射方法记为输入空间到输出空间的映射方法,第二种映射方法记为输出空间到输入空间的映射方法;下面分别对这两种映射方法进行说明。
第一种映射方法:输入空间到输出空间的映射方法。
针对输入图像数据,生成输入空间的极坐标像素网格;这里,输入空间的极坐标像素网格中的每个网格对应所述输入图像数据的一个像素点,需要说明的是,输入空间的极坐标像素网格对应的像素点可以不包括输入图像数据的所有像素点。
按照输入图像数据至输出图像数据的映射方式,将所述输入空间的极坐标像素网格中的每个网络对应的像素点进行映射,得到映射后的各离散像素点;根据所述映射后的各离散像素点,生成输出空间的极坐标像素网格,所述输出空间的极坐标像素网格中的每个网格对应所述映射后的各离散像素点中的一个像素点;这里,映射后的各离散像素点均处于输出空间的极坐标像素网格中,在输入图像数据至输出图像数据的映射方式为上述特定映射方式时,由于凸透镜的图像放大映射方式属于非均匀放大的映射方式,则特定映射方式为非均匀缩小的映射方式,因而,在输入空间的极坐标像素网格为均为分布的网格时,输出空间的极坐标像素网格是非均匀的。
实际应用中,可以确定映射后的各离散像素点的像素值,具体地,映射后的每个离散像素点的像素值为映射前输入空间的极坐标像素网格中输入图像数据中对应像素点的像素值,即,输入空间的极坐标像素网格的各像素点与映射后的各离散像素点形成一一对应关系,映射后的每个离散像素点的像素值为对应的像素点的像素值。
在确定出映射后的各离散像素点的像素值后,便确定了输出空间的极坐标像素网格的各像素点的像素值。
当输出图像数据的任一像素点不属于所述输出空间的极坐标像素网格中各像素点时,可以通过插值运算来确定对应像素点的像素值;具体地说,可以根据输出空间的极坐标像素网格,确定对应像素点的邻域;根据对应像素点的邻域中各像素点的像素值进行插值运算,得到对应像素点的像素值;例如,当i取正整数时,如果输出图像数据的第i个像素点不属于所述输出空间的极坐标像素网格中各像素点时,则可以在输出空间的极坐标像素网格中,确定出输出图像数据的第i个像素点的邻域,然后,根据输出图像数据的第i个像素点的邻域中各像素点的像素值进行插值运算,得到输出图像数据的第i个像素点的像素值。
本发明实施例中,在根据对应像素点的邻域中各像素点的像素值进行插值运算时,可以采用基于极坐标系下的像素插值,基于多像素的插值收到两个因素的影响,一个是Tape数,即参与插值的像素点数,二是权重,确定参与插值的像素点对插值运算结果的影响。通常会根据Tape数调整每个像素点的权重。此处Tape数的选择方案和笛卡尔坐标系下的方案一致,即选择映射后像素位置的p×q邻域,p和q均为大于1的整数;在选择像素权重上,极坐标系下的插值方案需要综合考虑极径与极角的差异,下面通过式(6)示例性地说明极坐标系下的像素插值方法。
式(6)中,(ρ10)表示需要通过插值运算得出像素值的像素点的坐标,(ρij)表示需要通过插值运算得出像素值的像素点的邻域中像素点的坐标,PixelOutput(ρ10)表示通过插值运算得出的像素点的像素值,PixelInput(ρij)表示坐标为(ρij)的像素点的像素值,weighti,j表示坐标为(ρij)的像素点的归一化权重。
在利用硬件实现式(6)时,可以将权重和量化到2的幂次,通过乘加与移位操作实现。该过程中根据插极径和极角的距离映射权重的方案可以不同,由此,可以根据极径和极角的差异确定权重,借鉴笛卡尔坐标系下的插值方法,可以引入不同的基于极坐标系下的插值方法,类似于双线性插值和三线性插值方法;实际实施时,可以采用类似于Lanczos的插值方案,也可以采用基于极径和极角的双线性插值方法,
可选地,可以采用双线性插值方法、三线性插值方法或兰索斯(Lanczos)插值方法,并根据对应像素点的邻域中各像素点的像素值进行插值运算。
当输出图像数据的任一像素点属于所述输出空间的极坐标像素网格中各像素点时,可以直接将输出图像数据的任一像素点的像素值确定为输出空间的极坐标像素网格中对应像素点的像素值;例如,当i取正整数时,如果输出图像数据的第i个像素点属于所述输出空间的极坐标像素网格中各像素点时,则输出图像数据的第i个像素点的像素值为:输出空间的极坐标像素网格中对应像素点的像素值。
采用上述第一种映射方法的优点在于:可以更高效地输出像素信息,缺点在于:一方面需要缓存大量的数据才可以确报插值需要的像素点已经全部映射完成,这增加了硬件设计的存储资源消耗(例如静态随机存取存储器(Static Random-Access Memory,SRAM)消耗);另一方面,由于映射之后的极坐标像素网格不均匀,所以存在相同邻域内映射的点数并不完全相同,插值权重的设计更加复杂的问题。
第二种映射方法:输出空间到输入空间的映射方法。
针对输入图像数据,生成输入空间的极坐标像素网格;这里,输入空间的极坐标像素网格中的每个网格对应所述输入图像数据的一个像素点,需要说明的是,输入空间的极坐标像素网格对应的像素点可以不包括输入图像数据的所有像素点。
按照所述输出图像数据至输入图像数据的映射方式(例如为上述特定映射方式的逆映射),将所述输出图像数据的每个像素点映射至输入空间的极坐标像素网格,得到映射后的各离散像素点。
示例性地,可以根据HMD的参数对极径进行重映射,即,按照输出图像数据至输入图像数据的映射方式,对所述输出图像数据的每个像素点进行映射,得出输出图像数据的像素点(ρ00)在输入空间的极坐标像素网格的映射后位置(ρ10);根据凸透镜映射方式的特点,凸透镜映射方式带来的失真关于凸透镜的焦点对称,因此,在极坐标系的极点为VR设备的视场中心与显示平面的交点时,凸透镜映射方式带来的失真只是极坐标系中径向的失真,因而,在重映射(所述特定映射方式的逆映射)前后,像素点的坐标只会发生极径的变化,极角不发生变化,重映射可以通过式(7)进行说明。
ρ1=h(ρ0) (7)
式(7)中,h()表示输出图像数据至输入图像数据的映射方式对应的函数。
当映射后的各离散像素点的任一像素点不属于所述输入空间的极坐标像素网格中各像素点时,可以通过插值运算来确定对应像素点的像素值;具体地说,可以根据输入空间的极坐标像素网格,确定对应像素点的邻域;根据对应像素点的邻域中各像素点的像素值进行插值运算,得到对应像素点的像素值;例如,当i取正整数时,如果映射后的各离散像素点的第i个像素点不属于所述输入空间的极坐标像素网格中各像素点时,则可以在输入空间的极坐标像素网格中,确定出映射后的各离散像素点的第i个像素点的邻域,然后,根据映射后的各离散像素点的第i个像素点的邻域中各像素点的像素值进行插值运算,得到映射后的各离散像素点的第i个像素点的像素值。
这里,插值运算的方法与第一种映射方法中插值运算的方法相同,这里不再赘述。
当映射后的各离散像素点的任一像素点属于所述输入空间的极坐标像素网格中各像素点时,可以直接将映射后的各离散像素点的任一像素点的像素值确定为输入空间的极坐标像素网格中对应像素点的像素值;例如,当i取正整数时,如果映射后的各离散像素点的第i个像素点属于所述输入空间的极坐标像素网格中各像素点时,则映射后的各离散像素点的第i个像素点的像素值为:输入空间的极坐标像素网格中对应像素点的像素值。
在确定出映射后的各离散像素点的像素值后,可以根据所述映射后的各离散像素点的像素值,得出所述输出图像数据的各像素点的像素值;即,通过输出图像数据至输入图像数据的映射方式映射前和映射后的各像素点形成一一对应关系,此时,可以将输出图像数据的每个像素点的像素值确定为:映射后的各离散像素点中对应像素点的像素值。
采用上述第二种映射方法的优点在于:可以有效地降低输入行缓存,并充分利用输入像素的全部信息;具体地说,根据上述第二种映射方法,需要将输出图像数据的各像素点的极坐标逐一映射至输入空间,由于输入空间的极坐标像素网格是均匀的,所以,每实现一个像素点的映射,便可以根据映射结果和邻域参数可以唯一确定参与插值的像素点;这样,与第一种映射方法相比,不需要缓存多个像素点映射结果,进而可以有效地降低输入行缓存。
上述第二种映射方法的一个潜在缺陷在于,如果像素点映射至输入空间的极坐标像素网格时,映射后的各离散像素点的间隔是不均匀的,而针对映射后的各离散像素点同时选择的邻域范围不能包含输入空间的极坐标像素网格的所有的像素点,也就是说,可能输入空间的极坐标像素网格中有些像素点并不参与插值过程,从而导致输入图像数据信息的遗漏;该缺陷可以通过增加插值的Tape数进行削弱,但是Tape数的增加也会导致插值复杂度变大;这种缺陷在相邻输出像素间畸变差异较大的情况下会明显(比如输出分辨率较低的有效边缘区域),但是随着显示分辨率的不断提升,该缺陷已经不再明显(输入输出的显示分辨率均保证在2K以上时,该缺陷已经肉眼难以分辨)。因此,本发明实施例通常采用第二种映射方法进行映射。
无论采用上述哪种映射方法,在输入图像数据至输出图像数据的映射方式为上述特定映射方式时,由于凸透镜会放大图像的内容,凸透镜映射方式的逆映射会缩小图像的内容,因此,与按照上述特定映射方式映射前的图像区域(例如为矩形区域),上述特定映射方式映射后的图像区域会存在一部分黑边(例如枕形失真导致的黑边),此时,可以判断,上述特定映射方式映射后的图像区域的像素点是否涉及输入信号(即是否由输入图像数据各像素点映射得出的),根据判断结果进行进一步处理,具体地,如果判断结果为是,则可以将像素点的像素值置零。
也就是说,可以将输入图像数据各像素点所在区域除去输出图像数据各像素点所在区域,得到边缘像素点区域;将边缘像素点区域各像素点的像素值置零,根据所述输出图像数据各像素点的坐标和像素值、以及所述所述边缘像素点区域各像素点的坐标和像素值,生成所述待呈现图像数据。
步骤104:将所述待呈现图像数据基于所述凸透镜进行呈现。
实际应用中,步骤101至步骤103可以由VR设备的处理器实现,上述处理器可以位于VR设备的数据呈现端,步骤104可以利用VR设备的处理器结合数据呈现端的硬件设备实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(DigitalSignal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
本发明实施例针对VR设备的数据呈现端引入的GD,将坐标映射方案的从笛卡尔坐标系迁移至极坐标系,可以提升GDC的效果;具体地,本发明实施例中,首先获取输入图像数据中每个像素点在极坐标系下的坐标数据(ρ,θ),然后,针对输入图像数据各像素点按照特定映射方式进行映射(极径映射),得到输出图像数据,输出图像数据像素点的坐标数据记为(ρ',θ),根据HMD中凸透镜映射方式的特性,上述特定映射方式的映射过程并不进行极角的修正。最后,如果上述特定映射方式映射后的图像区域的像素点不涉及输入信号时,则将对应像素点的像素值置零,即,进行零填充;如果特定映射方式映射后的图像区域的像素点是按照上述特定映射方式映射得出的,则可以通过插值运算得出对应像素点的像素值,最终可以得出需要程序的像素点的亮度或色度结果f(ρ',θ)。
与相关技术中采用笛卡尔坐标系下的GDC方案相比,本发明实施例的VR设备的图像呈现方法并不需要求解像素点到焦点的距离也不需要按照以下公式进行像素点在坐标系下的距离重新分配:/> 其中,r'表示按照凸透镜的映射方式映射后的极径。上述这两组运算也不适于硬件实现,相对地,本发明实施例不需要进行两组运算,可以降低VR设备的图像呈现时的计算复杂度。
另外,由于这种凸透镜带来的径向失真以焦点为中心的,笛卡尔坐标系下的插值利用参考点与中心的相对位置,极坐标系下的插值采用参考点与带插值点的极径与极角信息,与失真模型的拟合度更高,进而,可以提升GDC的效果。
进一步地,本发明实施例中,克服相关技术中GDC方法中计算复杂度较高的问题和对HMD设备参数设定敏感的缺陷,提出了基于极坐标系的GDC方案,通过在极坐标系下逐像素完成距离映射,与相关技术中基于块映射的方案不同,本发明中输入图像数据所有像素点均通过输入空间与输出空间的位置坐标映射,即每个像素点的精度均可以达到很高,而相关技术中基于块的映射方案,除了边界点的精度很高之外,其他点的精度随着与边界的距离增加而不断降低。而且由于本发明实施涉及的凸透镜的失真为非均匀性的,所以基于块的处理在一些直线特征明显的场景中,失真明显。同时,本发明实施例只涉及极径映射,计算复杂度上低于笛卡尔坐标系下的方案。另外通过建立极坐标系与笛卡尔坐标系之间的LUT表变换关系,在硬件设计中非常便于实现。借助极径与极角参数实现极坐标系下的插值运算获取最终的输出结果,降低距离映射对参数的敏感性,可以提升插值的准确性。
下面通过附图对本发明实施例带来的效果进行进一步说明。
图2为本发明实施例涉及的凸透镜的几何失真的模型示意图,图2中,小圆圈表示输入图像数据的像素点,大圆圈代表各个像素点对应的凸透镜映射方式带来的失真,参照图2,中心位置表示凸透镜的焦点位置,可以看出,失真的程度取决于像素点距离焦点的距离,这一距离正好对应了极坐标系下的极径。
图3为本发明实施例涉及的极坐标系与笛卡尔坐标系的差异点的示意图,如图3所示,小圆圈表示像素点,在极坐标系下,A和B两个像素点极径相同,但是极角不同;而在笛卡尔坐标系下,进行插值运算时的权重取决于两个像素点在x方向和y方向的距离,图中线段AB所示;在极坐标系下,进行插值运算时的权重像素点在极径和极角的差值。当极径相同时,像素点在极角上的距离并不直接等于其欧式距离;同样地,在极坐标系与笛卡尔坐标系下,距离参考点相同的欧氏距离失真程度也不一致。所以极坐标系下的GDC方案更符合HMD设备的失真原理,同时利用只需计算一次的极坐标网格可以降低对HMD设备参数的敏感性。
第二实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
首先,建立针对VR设备的显示分配率的输入空间的坐标网格和和输出空间的坐标网格,对于输入空间的坐标网格和和输出空间的坐标网格,用极径在[0,1]、极角在[0,2π]范围内的极坐标表示;对于HMD,其显示分辨率(即输出分辨率)通常是固定的,因此,可以设定两个LUT表,分别用于建立输入空间的坐标网格和和输出空间的坐标网格。通过在极坐标系下进行坐标映射,可以将每帧图像的坐标计算算复杂度降低为O(1)。
然后,可以按照上述记载的第一种映射方法,将所述输入空间的极坐标像素网格中的每个网络对应的像素点进行映射,得到映射后的各离散像素点;根据映射后的各离散像素点在输出空间的极坐标像素网格中的位置,按照基于极坐标系下的插值方法进行权重分配(采用基于双线性的极坐标插值权重分配方法),在针对映射后的各个离散像素点的权重分配完毕后,通过加权和的方式输出映射后的各离散像素点的插值运算结果(即像素值)。
图4为本发明实施例中输入空间到输出空间的映射方法的示意图,如图4所示,圆圈表示输入空间的极坐标像素网格,五角星表示映射后的各离散像素点,图4中用于数字1至5分别表示映射后的5个不同的离散像素点;可以理解的是,映射后的各离散像素点相对于输入空间的极坐标像素网格是不均匀的,通过极径与极角的相对关系确定输入空间的一个像素点(用实心圆圈表示)可以对周围5个不同的离散像素点有权重影响(图4中用待箭头的曲线表示);图4中,待箭头的曲线表示输入空间的像素点向映射后的各离散像素点分配权重。在采用输入空间到输出空间的映射方法时,亮度或色度分量进行对应的极坐标位置偏移,根据偏移之后的极径和极角差异进行插值即可,具体可以通过以下三步骤进行说明。
A1:极坐标像素网格的生成。
读取HMD设备的显示分辨率、凸透镜畸变参数和焦点信息以及待显示源的分辨率。
这里,焦点信息用于表征视场中心点,通常对应到显示分辨率的某一像素点,缺省设置为单眼区域的中心;此处可以通过调节焦点修正3D视频的景深,适配用户的瞳距。
将输入图像数据的坐标按照式(5)进行坐标转换,得到极坐标系下输入图像数据各像素点的坐标;此处,极坐标系下最大极径为1,保证输入空间的信息可以全部投影到输出空间。
B1:逐像素点进行GDC映射。
这里可以采用上述记载的第一种映射方法进行GDC映射;也就是说,利用GDC参数进行输入空间到输出空间的极坐标映射,在进行输入空间到输出空间的极坐标映射时,保留每个像素点的极角信息,修正极径信息。
当所有参与分配插值运算时的权重的像素点的像素值均统计完成后,根据式(8)输出运算结果。
式(8)中,xN表示第N个参与插值的像素点,xj表示第j个参与插值的像素点,j取1至N,N为大于1的整数;weightN表示第N个参与插值的像素点的权重,weightj表示第j个参与插值的像素点的权重,∑weightq表示所有与插值的像素点的权重和,xoutput表示插值运算结果。
本发明实施例中,满足N个插值点参与插值之后及停止插值并输出运算结果。
C1:极坐标系下的像素插值
根据本发明第一实施例记载的内容,无论采用哪种映射方法,均需要针对像素点进行插值运算,基于极坐标系的插值方法特点在于其权重设计依赖于极坐标空间的相对关系,需要满足距离近的点权重不低于距离远的点。参考笛卡尔坐标系下的权重获取方式,此处给出如下实现方案:
基于水平垂直均为2Tape的线性关系的权重设计,对于极坐标系下的两个像素点(ρ00)和(ρ11),如果其极径相同(ρ0=ρ1),那么这两个像素点的距离为dis=abs(θ01)×ρ0。如果极角相同(θ0=θ1),那么这两个像素点的距离为dis=abs(ρ01)。如果极径与极角均不相等,那么这两个像素点的距离为dis=abs(θ01)×max(ρ01)+abs(ρ01),计算参与插值的各个像素点与需要通过插值运算得出像素值的像素点的距离和其中,disi表示第i个参与插值的各个像素点与需要通过插值运算得出像素值的像素点的距离,最终参与插值的像素点的权重可以用式(9)表示。
进一步地,根据不同颜色通道的GDC参数差异,可以针对每个颜色通道分别逐像素进行步骤B1和C1,由此输出的结果可以同时抑制色彩失真。
第三实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
首先,建立针对VR设备的显示分配率的输入空间的坐标网格和和输出空间的坐标网格,对于输入空间的坐标网格和和输出空间的坐标网格,用极径在[0,1]、极角在[0,2π]范围内的极坐标表示;对于HMD,其显示分辨率(即输出分辨率)通常是固定的,因此,可以设定两个LUT表,分别用于建立输入空间的坐标网格和和输出空间的坐标网格,示例性地,每个LUT表的坐标表示笛卡尔坐标系x,y坐标,值代表其极径或者极角。
然后,可以按照上述记载的第二种映射方法,按照所述特定映射方式的逆映射(即上述凸透镜的图像放大映射方式),将所述输出图像数据的每个像素点映射至输入空间的极坐标像素网格,得到映射后的各离散像素点;根据映射后的各离散像素点在输入空间的极坐标像素网格的位置,在输入空间的极坐标像素网格中,选择临近像素点进行插值运算,插值权重按照双线性插值的权重分配方案,可以参考式(8)。
图5为本发明实施例中输出空间到输入空间的映射方法的示意图,如图5所示,圆圈表示输入空间的极坐标像素网格,五角星表示输出图像数据的像素点映射后的各离散像素点,图5中用于数字1至3分别表示输出图像数据中3个不同的像素点;可以理解的是,输入空间的极坐标像素网格相对于输出图像数据的像素点是不均匀的,通过极径与极角的相对关系确定周围5个输入空间的极坐标像素网格的像素点对输出图像数据的一个像素点(用实心五角星表示)有权重影响;图5中,待箭头的曲线表示输入空间的像素点向输出图像数据的像素点分配权重。在采用输出空间到输入空间的映射方法时,亮度或色度分量进行对应的极坐标位置偏移,根据偏移之后的极径和极角差异进行插值即可,具体可以通过以下三步骤进行说明。
A2:极坐标像素网格的生成。
本步骤的实现方式与步骤A1的实现方式相同,这里不再赘述。
B2:逐像素点进行GDC映射。
这里可以采用上述记载的第二种映射方法进行GDC映射;也就是说,利用GDC参数进行输出空间到输入空间的极坐标映射,在进行输出空间到输入空间的极坐标映射时,保留每个像素点的极角信息,修正极径信息。
当所有参与分配插值运算时的权重的像素点的像素值均统计完成后,根据式(10)输出运算结果。
式(10)中,xj表示第j个参与插值的像素点,j取1至N,N为大于1的整数,weightj表示第j个参与插值的像素点的权重,表示所有与插值的像素点的权重和,xoutput表示插值运算结果。
根据式(10)得出的运算结果与通过式(8)得出的运算结果虽然相同,但是式(10)体现了从输出空间到输入空间的极坐标映射,在硬件设计中便于流水线设计并降低缓存需要。
C2:极坐标系下的像素插值
根据本发明第一实施例记载的内容,无论采用哪种映射方法,均需要针对像素点进行插值运算,基于极坐标系的插值方法特点在于其权重设计依赖于极坐标空间的相对关系,需要满足距离近的点权重不低于距离远的点。参考笛卡尔坐标系下的权重获取方式,此处给出如下实现方案:
基于水平垂直均为2Tape的线性关系的权重设计,对于极坐标系下的两个像素点(ρ00)和(ρ11),如果其极径相同(ρ0=ρ1),那么这两个像素点的距离为dis=abs(θ01)×ρ0。如果极角相同(θ0=θ1),那么这两个像素点的距离为dis=abs(ρ01)。如果极径与极角均不相等,那么这两个像素点的距离为dis=abs(θ01)×max(ρ01)+abs(ρ01),计算参与插值的各个像素点与需要通过插值运算得出像素值的像素点的距离和DIS=disi,其中,disi表示第i个参与插值的各个像素点与需要通过插值运算得出像素值的像素点的距离,最终参与插值的像素点的权重可以用式(9)表示。
进一步地,根据不同颜色通道的GDC参数差异,可以针对每个颜色通道分别逐像素进行步骤B2和C2,由此输出的结果可以同时抑制色彩失真。
第四实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
首先,建立针对VR设备的显示分配率的输入空间的坐标网格和和输出空间的坐标网格;这里,建立输入空间的坐标网格和和输出空间的坐标网格与本发明第二实施例相同,这里不再赘述。
然后,可以按照上述记载的第一种映射方法,将所述输入空间的极坐标像素网格中的每个网络对应的像素点进行映射,得到映射后的各离散像素点;根据映射后的各离散像素点在输出空间的极坐标像素网格中的位置,按照基于极坐标系下的插值方法进行权重分配(基于Lanczos插值的极坐标插值权重分配方法),在针对映射后的各个离散像素点的权重分配完毕后,通过加权和的方式输出映射后的各离散像素点的插值运算结果(即像素值)。
本发明第四实施例中,输入空间到输出空间的映射方法可以参照图4所示,本发明第二实施例已经针对图4作出说明,这里不再赘述。
本发明第四实施例中,VR设备的呈现方法可以通过以下三步骤进行说明。
A3:极坐标像素网格的生成。
本步骤的实现方式与步骤A1的实现方式相同,这里不再赘述。
B3:逐像素点进行GDC映射。
本步骤的实现方式与步骤B1的实现方式相同,这里不再赘述。
C3:极坐标系下的像素插值
根据本发明第一实施例记载的内容,无论采用哪种映射方法,均需要针对像素点进行插值运算,基于极坐标系的插值方法特点在于其权重设计依赖于极坐标空间的相对关系,需要满足距离近的点权重不低于距离远的点。参考笛卡尔坐标系下的权重获取方式,此处给出如下实现方案:
基于多Tape的非线性插值权重设计,对于多Tape的情况,可以参考Lanczos插值,依然利用步骤C1或C2中的像素点距离计算方法,但是采用Lanczos插值的权重算法,即将笛卡尔坐标系下相邻像素间距设置为1,按照以下公式对像素点间的距离dis进行等比例放大:dis2=dis×Q,其中Q为放大因子,dis2表示放大结果。然后按照式(11)计算每个像素点的初始权重。
weight_origin=sinc(dis2)/sinc(dis2×N) (11)
式(11)中,weight_origin表示像素点的初始权重,N表示参与插值的像素点的个数,即Tape数。
在计算出每个像素点的初始权重后,按照式(12)计算每个与插值的像素点后重新进行归一化。
式(12)中,(ρ10)表示需要通过插值运算得出像素值的像素点的坐标,PixelOutput(ρ10)表示坐标为(ρ10)的像素点的像素值,(ρij)表示坐标为(ρ10)的像素点的邻域中的像素点的坐标,weight_origini,j表示坐标为(ρij)的像素点的初始权重,PixelInput(ρij)表示坐标为(ρij)的像素点的像素值。
进一步地,根据不同颜色通道的GDC参数差异,可以针对每个颜色通道分别逐像素进行步骤B3和C3,由此输出的结果可以同时抑制色彩失真。
第五实施例
为了能够更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。
首先,建立针对VR设备的显示分配率的输入空间的坐标网格和和输出空间的坐标网格,对于输入空间的坐标网格和和输出空间的坐标网格,用极径在[0,1]、极角在[0,2π]范围内的极坐标表示;对于HMD,其显示分辨率(即输出分辨率)通常是固定的,因此,可以设定两个LUT表,分别用于建立输入空间的坐标网格和和输出空间的坐标网格,示例性地,每个LUT表的坐标表示笛卡尔坐标系x,y坐标,值代表其极径或者极角。
然后,可以按照上述记载的第二种映射方法,按照所述特定映射方式的逆映射(即上述凸透镜的图像放大映射方式),将所述输出图像数据的每个像素点映射至输入空间的极坐标像素网格,得到映射后的各离散像素点;根据映射后的各离散像素点在输入空间的极坐标像素网格的位置,在输入空间的极坐标像素网格中,选择临近像素点进行插值运算,插值权重按照Lanczos插值的权重分配方案,可以参考式(11)和式(12)。
本发明第五实施例中,输出空间到输入空间的映射方法可以参照图4所示,本发明第三实施例已经针对图5作出说明,这里不再赘述。
本发明第五实施例中,VR设备的呈现方法可以通过以下三步骤进行说明。
A4:极坐标像素网格的生成。
本步骤的实现方式与步骤A1的实现方式相同,这里不再赘述。
B4:逐像素点进行GDC映射。
本步骤的实现方式与步骤B2的实现方式相同,这里不再赘述。
C4:极坐标系下的像素插值
本步骤的实现方式与步骤C3的实现方式相同,这里不再赘述。
第六实施例
在本发明前述实施例提出的VR设备的图像呈现方法的基础上,本发明第六实施例提出了一种VR设备的图像呈现装置,可以应用于VR设备中。
图6为本发明实施例的VR设备的图像呈现装置的组成结构示意图,如图6所示,所述装置包括获取模块601、处理模块602和呈现模块603,其中
获取模块601,用于获取输入图像数据;
处理模块602,用于在极坐标系下,形成输入图像数据和输出图像数据的对应关系;根据所述输出图像数据得到待呈现图像数据;所述极坐标系的极点为虚拟现实VR设备的视场中心与显示平面的交点;
呈现模块603,用于将所述待呈现图像数据基于所述凸透镜进行呈现。
在一实施方式中,所述处理模块602,还用于在形成输入图像数据和输出图像数据的对应关系前,根据所述VR设备的显示分辨率,将输入图像数据各像素点的坐标从笛卡尔坐标系转换到极坐标系。
在一实施方式中,所述处理模块602,具体用于获取预先确定的各种显示分辨率对应的坐标系转换表,;根据所述VR设备的显示分辨率、以及所述各种显示分辨率对应的坐标系转换表,将输入图像数据各像素点的坐标从笛卡尔坐标系转换到极坐标系;所述坐标系转换表用于表示图像中各像素点从笛卡尔坐标系到极坐标系的坐标映射关系。
在一实施方式中,所述处理模块602,具体用于确定所述输出图像数据各像素点的像素值,根据所述输出图像数据各像素点的坐标和像素值,生成所述待呈现图像数据。
在一实施方式中,所述处理模块602,具体用于:
针对输入图像数据,生成极坐标像素网格,所述极坐标像素网格中的每个网格对应所述输入图像数据的一个像素点;
按照输入图像数据至输出图像数据的映射方式,将所述输入空间的极坐标像素网格中的每个网络对应的像素点进行映射,得到映射后的各离散像素点;根据所述映射后的各离散像素点,生成输出空间的极坐标像素网格,所述输出空间的极坐标像素网格中的每个网格对应所述映射后的各离散像素点中的一个像素点;
所述输出图像数据的任一像素点不属于所述输出空间的极坐标像素网格中各像素点时,根据所述输出空间的极坐标像素网格,确定对应像素点的邻域;根据对应像素点的邻域中各像素点的像素值进行插值运算,得到对应像素点的像素值。
在一实施方式中,所述处理模块602,具体用于:
针对输入图像数据,生成输入空间的极坐标像素网格;所述极坐标像素网格中的每个网格对应所述输入图像数据的一个像素点;
按照所述输出图像数据至输入图像数据的映射方式,将所述输出图像数据的每个像素点映射至输入空间的极坐标像素网格,得到映射后的各离散像素点;
所述映射后的各离散像素点的任一像素点不属于所述输入空间的极坐标像素网格中各像素点时,根据所述输入空间的极坐标像素网格,确定对应像素点的邻域;根据对应像素点的邻域中各像素点的像素值进行插值运算,得到对应像素点的像素值;
根据所述映射后的各离散像素点的像素值,得出所述输出图像数据的各像素点的像素值。
在一实施方式中,所述处理模块602,具体用于采用双线性插值方法、三线性插值方法或兰索斯Lanczos插值方法,并根据对应像素点的邻域中各像素点的像素值进行插值运算。
在一实施方式中,所述像素值用于表示像素点的亮度分量或色度分量。
在一实施方式中,所述处理模块602,还用于将所述输入图像数据各像素点所在区域除去所述输出图像数据各像素点所在区域,得到边缘像素点区域;将所述边缘像素点区域各像素点的像素值置零,根据所述输出图像数据各像素点的坐标和像素值、以及所述所述边缘像素点区域各像素点的坐标和像素值,生成所述待呈现图像数据。
实际应用中,上述获取模块601和处理模块602均可由位于VR设备中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable GateArray,FPGA)等实现,上述呈现模块603可以由位于VR设备中的CPU、MPU、DSP、或FPGA等结合VR设备的数据呈现端的硬件设备实现。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种VR设备的图像呈现方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种VR设备的图像呈现方法对应的计算机程序指令被一电子设备读取或被执行时,实现前述实施例的任意一种VR设备的图像呈现方法的步骤。
基于前述实施例相同的技术构思,参见图7,其示出了本发明实施例提供的一种VR设备的图像呈现设备70,该设备可以包括:存储器71和处理器72;其中,
所述存储器71,用于存储计算机程序和数据;
所述处理器72,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种VR设备的图像呈现方法的步骤。
在实际应用中,上述存储器71可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器72提供指令和数据。
上述处理器72可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
第七实施例
在本发明第七实施例提出了一种VR设备,包括本发明第六实施例中的任意一种VR设备的图像呈现装置或任意一种VR生的图像呈现设备。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (12)

1.一种虚拟现实VR设备的图像呈现方法,其特征在于,所述方法包括:
获取输入图像数据;
在极坐标系下,形成输入图像数据和输出图像数据的对应关系;所述极坐标系的极点为VR设备的视场中心与显示平面的交点;
根据所述输入图像数据各像素点的像素值和所述对应关系确定所述输出图像数据各像素点的像素值,根据所述输出图像数据各像素点的坐标和像素值生成待呈现图像数据;
将所述待呈现图像数据基于凸透镜进行呈现;
其中,在极坐标系下,形成输入图像数据和输出图像数据的对应关系包括:
针对输入图像数据,生成极坐标像素网格,所述极坐标像素网格中的每个网格对应所述输入图像数据的一个像素点;按照输入图像数据至输出图像数据的映射方式,将输入空间的极坐标像素网格中的每个网格对应的像素点进行映射,得到映射后的各离散像素点;根据所述映射后的各离散像素点,生成输出空间的极坐标像素网格,所述输出空间的极坐标像素网格中的每个网格对应所述映射后的各离散像素点中的一个像素点;
或者,针对输入图像数据,生成输入空间的极坐标像素网格;所述极坐标像素网格中的每个网格对应所述输入图像数据的一个像素点;
按照所述输出图像数据至输入图像数据的映射方式,将所述输出图像数据的每个像素点映射至输入空间的极坐标像素网格,得到映射后的各离散像素点。
2.根据权利要求1所述的方法,其特征在于,在形成输入图像数据和输出图像数据的对应关系前,所述方法还包括:
根据所述VR设备的显示分辨率,将输入图像数据各像素点的坐标从笛卡尔坐标系转换到极坐标系。
3.根据权利要求2所述的方法,其特征在于,所述根据所述VR设备的显示分辨率,将输入图像数据各像素点的坐标从笛卡尔坐标系转换到极坐标系,包括:
获取预先确定的各种显示分辨率对应的坐标系转换表,所述坐标系转换表用于表示图像中各像素点从笛卡尔坐标系到极坐标系的坐标映射关系;
根据所述VR设备的显示分辨率、以及所述各种显示分辨率对应的坐标系转换表,将输入图像数据各像素点的坐标从笛卡尔坐标系转换到极坐标系。
4.根据权利要求1所述的方法,其特征在于,所述根据所述输入图像数据各像素点的像素值和所述对应关系确定所述输出图像数据各像素点的像素值包括:所述输出图像数据的任一像素点不属于所述输出空间的极坐标像素网格中各像素点时,根据所述输出空间的极坐标像素网格,确定对应像素点的邻域;根据对应像素点的邻域中各像素点的像素值进行插值运算,得到对应像素点的像素值;
当所述输出图像数据的任一像素点属于所述输出空间的极坐标像素网格中各像素点时,将所述输出图像数据的任一像素点的像素值确定为所述输出空间的极坐标像素网格中对应像素点的像素值。
5.根据权利要求1所述的方法,其特征在于,所述根据所述输入图像数据各像素点的像素值和所述对应关系确定所述输出图像数据各像素点的像素值包括:所述映射后的各离散像素点的任一像素点不属于所述输入空间的极坐标像素网格中各像素点时,根据所述输入空间的极坐标像素网格,确定对应像素点的邻域;根据对应像素点的邻域中各像素点的像素值进行插值运算,得到对应像素点的像素值;
当所述映射后的各离散像素点的任一像素点属于所述输入空间的极坐标像素网格中各像素点时,将所述映射后的各离散像素点的任一像素点的像素值确定为所述输入空间的极坐标像素网格中对应像素点的像素值;
根据所述映射后的各离散像素点的像素值,得出所述输出图像数据的各像素点的像素值。
6.根据权利要求4或5所述的方法,其特征在于,所述根据对应像素点的邻域中各像素点的像素值进行插值运算,包括:
采用双线性插值方法、三线性插值方法或兰索斯Lanczos插值方法,并根据对应像素点的邻域中各像素点的像素值进行插值运算。
7.根据权利要求1所述的方法,其特征在于,所述像素值用于表示像素点的亮度分量或色度分量。
8.根据权利要求1所述的方法,其特征在于,所述根据所述输出图像数据各像素点的坐标和像素值,生成所述待呈现图像数据,包括:
将所述输入图像数据各像素点所在区域除去所述输出图像数据各像素点所在区域,得到边缘像素点区域;
将所述边缘像素点区域各像素点的像素值置零,根据所述输出图像数据各像素点的坐标和像素值、以及所述所述边缘像素点区域各像素点的坐标和像素值,生成所述待呈现图像数据。
9.一种虚拟现实VR设备的图像呈现装置,其特征在于,所述装置包括:获取模块、处理模块和呈现模块,其中
获取模块,用于获取输入图像数据;
处理模块,用于在极坐标系下,形成输入图像数据和输出图像数据的对应关系;根据所述输入图像数据各像素点的像素值和所述对应关系确定所述输出图像数据各像素点的像素值,根据所述输出图像数据各像素点的坐标和像素值生成待呈现图像数据;所述极坐标系的极点为VR设备的视场中心与显示平面的交点;
呈现模块,用于将所述待呈现图像数据基于凸透镜进行呈现;
其中,处理模块具体用于采用以下方式实现在极坐标系下,形成输入图像数据和输出图像数据的对应关系:
针对输入图像数据,生成极坐标像素网格,所述极坐标像素网格中的每个网格对应所述输入图像数据的一个像素点;按照输入图像数据至输出图像数据的映射方式,将输入空间的极坐标像素网格中的每个网格对应的像素点进行映射,得到映射后的各离散像素点;根据所述映射后的各离散像素点,生成输出空间的极坐标像素网格,所述输出空间的极坐标像素网格中的每个网格对应所述映射后的各离散像素点中的一个像素点;
或者,针对输入图像数据,生成输入空间的极坐标像素网格;所述极坐标像素网格中的每个网格对应所述输入图像数据的一个像素点;
按照所述输出图像数据至输入图像数据的映射方式,将所述输出图像数据的每个像素点映射至输入空间的极坐标像素网格,得到映射后的各离散像素点。
10.一种虚拟现实VR设备的图像呈现设备,其特征在于,所述设备包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,
所述处理器用于运行所述计算机程序时,执行权利要求1至8任一项所述方法的步骤。
11.一种虚拟现实VR设备,其特征在于,所述VR设备包括权利要求9所述的图像呈现装置或权利要求10所述的图像呈现设备。
12.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
CN201811368846.5A 2018-11-16 2018-11-16 Vr设备的图像呈现方法、装置、设备和计算机存储介质 Active CN111199518B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811368846.5A CN111199518B (zh) 2018-11-16 2018-11-16 Vr设备的图像呈现方法、装置、设备和计算机存储介质
US17/293,749 US11908107B2 (en) 2018-11-16 2019-11-13 Method and apparatus for presenting image for virtual reality device, device and non-transitory computer-readable storage medium
PCT/CN2019/118202 WO2020098721A1 (zh) 2018-11-16 2019-11-13 虚拟现实设备的图像呈现方法、装置、设备和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811368846.5A CN111199518B (zh) 2018-11-16 2018-11-16 Vr设备的图像呈现方法、装置、设备和计算机存储介质

Publications (2)

Publication Number Publication Date
CN111199518A CN111199518A (zh) 2020-05-26
CN111199518B true CN111199518B (zh) 2024-03-26

Family

ID=70730391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811368846.5A Active CN111199518B (zh) 2018-11-16 2018-11-16 Vr设备的图像呈现方法、装置、设备和计算机存储介质

Country Status (3)

Country Link
US (1) US11908107B2 (zh)
CN (1) CN111199518B (zh)
WO (1) WO2020098721A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10768442B1 (en) * 2019-03-18 2020-09-08 Brelyon Inc. Display system providing concentric light field and monocular-to-binocular hybridization
CN113763229A (zh) * 2020-06-01 2021-12-07 北京达佳互联信息技术有限公司 图像处理方法、装置、电子设备及存储介质
CN113436291B (zh) * 2021-06-21 2024-03-19 北京达佳互联信息技术有限公司 图像的处理方法和装置
CN113558551A (zh) * 2021-09-26 2021-10-29 深圳市资福医疗技术有限公司 一种图像获取方法及应用其的胶囊内窥镜
CN113726981B (zh) * 2021-09-30 2022-05-17 北京耐德佳显示技术有限公司 图像数据处理方法、电子设备及存储介质
WO2023123357A1 (zh) * 2021-12-31 2023-07-06 Oppo广东移动通信有限公司 图像处理的方法和装置
CN115511831B (zh) * 2022-09-27 2023-04-04 佳木斯大学 一种组织胚胎病理切片的数据分析处理***及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104735464A (zh) * 2015-03-31 2015-06-24 华为技术有限公司 一种全景视频交互传输方法、服务器和客户端
CN107369132A (zh) * 2017-07-21 2017-11-21 网易(杭州)网络有限公司 获取虚拟现实设备图像畸变规律的方法、***及终端设备
CN108364623A (zh) * 2012-02-22 2018-08-03 索尼公司 信息处理设备、信息处理方法和计算机可读介质
CN108427595A (zh) * 2018-03-13 2018-08-21 网易(杭州)网络有限公司 虚拟现实中用户界面控件显示位置的确定方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317127B1 (en) * 1996-10-16 2001-11-13 Hughes Electronics Corporation Multi-user real-time augmented reality system and method
EP2533192B1 (en) * 2003-07-28 2017-06-28 Olympus Corporation Image processing apparatus, image processing method, and distortion correcting method
US8411910B2 (en) * 2008-04-17 2013-04-02 Biometricore, Inc. Computationally efficient feature extraction and matching iris recognition
CN104567818B (zh) * 2014-12-31 2016-09-28 浙江工业大学 一种便携式全天候主动全景视觉传感器
CN107206692B (zh) * 2015-04-24 2019-12-06 惠普发展公司有限责任合伙企业 三维对象表示
WO2017079162A1 (en) * 2015-11-02 2017-05-11 Castar, Inc Method of immersive rendering for wide field of view
KR101785027B1 (ko) * 2016-01-14 2017-11-06 주식회사 라온텍 화면 왜곡 보정이 가능한 디스플레이 장치 및 이를 이용한 화면 왜곡 보정 방법
CN107220925B (zh) * 2017-05-05 2018-10-30 珠海全志科技股份有限公司 一种实时虚拟现实加速方法及装置
KR102473840B1 (ko) * 2017-11-21 2022-12-05 삼성전자주식회사 디스플레이 드라이버 및 모바일 전자 기기

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108364623A (zh) * 2012-02-22 2018-08-03 索尼公司 信息处理设备、信息处理方法和计算机可读介质
CN104735464A (zh) * 2015-03-31 2015-06-24 华为技术有限公司 一种全景视频交互传输方法、服务器和客户端
CN107369132A (zh) * 2017-07-21 2017-11-21 网易(杭州)网络有限公司 获取虚拟现实设备图像畸变规律的方法、***及终端设备
CN108427595A (zh) * 2018-03-13 2018-08-21 网易(杭州)网络有限公司 虚拟现实中用户界面控件显示位置的确定方法及装置

Also Published As

Publication number Publication date
US11908107B2 (en) 2024-02-20
CN111199518A (zh) 2020-05-26
US20220122233A1 (en) 2022-04-21
WO2020098721A1 (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111199518B (zh) Vr设备的图像呈现方法、装置、设备和计算机存储介质
US20180189980A1 (en) Method and System for Providing Virtual Reality (VR) Video Transcoding and Broadcasting
CN108090880B (zh) 一种图像的反畸变处理方法以及装置
JP6961139B2 (ja) 知覚的な縮小方法を用いて画像を縮小するための画像処理システム
JP6147275B2 (ja) 立体画像処理装置、立体画像処理方法、及びプログラム
CN101605270B (zh) 生成深度图的方法和装置
TWI503791B (zh) 針對各向異性過濾運算細節位準之技術
CN110458932B (zh) 图像处理方法、装置、***、存储介质和图像扫描设备
CN103778614A (zh) 提高图像动态范围
CN108537758B (zh) 一种基于显示器与人眼视觉特性的图像对比度增强方法
CN109817170B (zh) 像素补偿方法、装置和终端设备
US8072464B2 (en) 3-dimensional graphics processing method, medium and apparatus performing perspective correction
US10868969B1 (en) Method and apparatus for accelerated tonemapping and display
US11908051B2 (en) Image processing system and method for generating image content
WO2023226218A1 (zh) 轴对称光学成像并行仿真方法及装置
CN112950596A (zh) 基于多区域多层次的色调映射全向图像质量评价方法
CN103096102B (zh) 影像形变方法
CN110363837B (zh) 游戏中纹理图像的处理方法及装置、电子设备、存储介质
US7907147B2 (en) Texture filtering apparatus, texture mapping apparatus, and method and program therefor
CN111402354A (zh) 适用于光学穿透式头戴显示器的颜色对比增强绘制方法、装置以及***
US20220108420A1 (en) Method and system of efficient image rendering for near-eye light field displays
CN108900825A (zh) 一种2d图像到3d图像的转换方法
CN107610070A (zh) 基于三摄像采集的自由立体匹配方法
KR20230022153A (ko) 소프트 레이어링 및 깊이 인식 복원을 사용한 단일 이미지 3d 사진
CN113935907A (zh) 预校正图像像差的方法、装置、电子设备及介质

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