发明内容
本发明实施例的一个目的是提供一种用于虚拟现实设备的成像的新的技术方案。
根据本发明的第一方面,提供了一种用于虚拟现实设备的成像方法,其包括:
获取图像;
计算所述图像的最小内切圆的半径;
根据所述半径和选定的畸变公式,计算所述最小内切圆处的畸变比例;
将计算得到的畸变比例作为放大比例对所述图像进行放大处理;
根据所述畸变公式,对放大处理后的图像进行畸变处理;
输出畸变处理后的图像至屏幕进行显示。
可选的是,所述用于计算所述图像的最小内切圆的半径包括:
如果所述图像的宽高比为1,则计算所述半径等于所述图像的任一边的中点至所述图像的几何中心的距离。
可选的是,所述成像方法还包括:
在对所述图像进行放大处理之前,先判断所述图像的宽高比与所述屏幕的宽高比是否一致,如不一致,则:
保持所述图像的尺寸不变,并根据所述图像的宽高比和所述屏幕的宽高比对所述图像的内容进行压缩,以使所述图像的内容以原始比例显示在所述屏幕上。
可选的是,所述根据所述图像的宽高比和所述屏幕的宽高比对所述图像的内容的尺寸进行压缩包括:
如果所述图像的宽高比为1,且所述屏幕的宽高比大于1,则保持所述图像的内容的高度不变,对图像的内容的宽度按照所述屏幕的宽高比的倒数进行压缩;
如果所述图像的宽高比为1,且所述屏幕的宽高比小于1,则保持所述图像的内容的宽度不变,对图像的内容的高度按照所述屏幕的宽高比进行压缩。
可选的是,所述畸变公式为:
β=K0+K1×r+K2×r2+K3×r3+K4×r4+K5×r5+K6×r6,其中,K0~K6为实系数,β为所述图像上的至所述图像的几何中心的距离为r的像素点的畸变比例。
根据本发明的第二方面,提供了一种用于虚拟现实设备的成像装置,其包括:
图像获取模块,用于获取图像;
半径计算模块,用于计算所述图像的最小内切圆的半径;
比例计算模块,用于根据所述半径和选定的畸变公式,计算所述最小内切圆处的畸变比例作为所述图像的放大比例;
放大处理模块,用于根据所述比例计算模块提供的放大比例对所述图像进行放大处理;
畸变处理模块,用于根据所述畸变公式,对放大处理后的图像进行畸变处理;以及,
输出模块,用于输出畸变处理后的图像至屏幕进行显示。
可选的是,所述半径计算模块进一步用于:
如果所述图像的宽高比为1,则计算所述半径等于所述图像的任一边的中点至所述图像的几何中心的距离。
可选的是,所述成像装置还包括:
判断模块,用于在所述放大处理模块对所述图像进行放大处理之前,先判断所述图像的宽高比与所述屏幕的宽高比是否一致,并输出判断结果;以及,
适配模块,用于在所述判断结果为不一致时,保持所述图像的尺寸不变,并根据所述图像的宽高比和所述屏幕的宽高比对所述图像的内容进行压缩后提供给所述放大处理进行放大处理,以使所述图像的内容以原始比例显示在所述屏幕上。
可选的是,所述适配模块进一步用于:
如果所述图像的宽高比为1,且所述屏幕的宽高比大于1,则保持所述图像的内容的高度不变,对图像的内容的宽度按照所述屏幕的宽高比的倒数进行压缩;
如果所述图像的宽高比为1,且所述屏幕的宽高比小于1,则保持所述图像的内容的宽度不变,对图像的内容的高度按照所述屏幕的宽高比进行压缩。
根据本发明的第三方面,提供了一种用于虚拟现实设备的成像装置,其包括存储器和处理器,所述存储器用于存储指令,所述指令用于控制所述处理器进行操作以执行根据本发明的第一方面所述的成像方法。
根据本发明的第四方面,提供了一种虚拟现实设备,其包括根据本发明的第二方面或者根据本发明的第三方面所述的成像装置。
本发明的一个有益效果在于,本发明的成像方法、成像装置、及虚拟现实设备利用基于畸变公式确定的最大畸变比例对图像进行放大处理,以通过畸变处理的逆变化进行在屏幕的可视范围内的精确放大,进而能够精确地提供最佳的屏幕成像比例。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出了根据本发明的用于虚拟现实设备的成像方法的一种实施例的流程示意图。
根据图1所示,该成像方法可以包括如下步骤:
步骤S101,获取图像。
该图像即为原始图像,其承载有用于显示的画面内容,本发明方法也即为对原始图像进行处理,以使处理后的图像能够在屏幕上呈现最佳成像比例的成像方法。
图像自身都具有宽高比,图像的宽高比可以是1,也可以大于1或者小于1。
步骤S102,计算图像的最小内切圆的半径。
在图像的宽高比为1的实施例中,图像仅具有一个内切圆,因此,该步骤S102可以进一步为:计算该半径等于图像的任一边的中点至图像的几何中心的距离,且该距离等于图像的宽度或者高度的一半。
在图像的宽高比大于1的实施例中,该步骤S102可以进一步为:计算该半径等于图像的高度的一半。
在图像的宽高比小于1的实施例中,该步骤S102可以进一步为:计算该半径等于图像的宽度的一半。
步骤S103,根据计算得到的半径和选定的畸变公式,计算图像在最小内切圆处的畸变比例。
畸变公式用于计算图像上各像素点的畸变比例,并据此对图像进行畸变处理,进而使得用户能够通过镜头装置观看到平直的图像。
以VR领域常用的畸变公式为例:
β=K0+K1×r+K2×r2+K3×r3+K4×r4+K5×r5+K6×r6,其中,K0~K6为实系数,其具体的数值取决于镜头装置的透镜的特性,β为图像上的至图像的几何中心的距离为r的像素点的畸变比例。
根据该畸变公式可知,离图像的几何中心越远的像素点,其畸变率越大,对应需要的放大率也越大,因此,将图像的最小内切圆的半径带入畸变公式得到的畸变比例便是能够实现最佳成像的放大比例,也即通过该畸变比例对图像进行放大处理,能够使得畸变后的图像以最佳成像比例呈现在镜头装置的视野范围内,也即呈现在屏幕的最小内切圆中。
步骤S104,将计算得到的畸变比例作为放大比例对图像进行放大处理。
步骤S105,根据畸变公式,对放大处理后的图像进行畸变处理。
由此可见,本发明成像方法是依据畸变公式确定图像在畸变前的放大比例,并利用相同的畸变公式对放大处理后的图像进行畸变处理,这相当是利用了畸变处理的逆变化进行图像在屏幕的可视范围内的精确放大,进而能够非常精确地实现最佳的屏幕成像比例。
步骤S106,输出畸变处理后的图像至屏幕进行显示。
由于图像的宽高比与屏幕的宽高比可能不一致,这样,在图像通过屏幕进行显示时将被进行不等比例的拉伸,这将导致最终显示的画面失真。
因此,为了提高画面显示的质量,图2示出了根据本发明成像方法的另一种实施例。
在该实施例中,本发明成像方法还包括如下步骤:
步骤S201,在对图像进行放大处理之前,先判断图像的宽高比与屏幕的宽高比是否一致,如不一致,则执行步骤S202,如一致,则直接执行上述步骤S104。
步骤S202,保持图像的尺寸不变,并根据图像的宽高比和屏幕的宽高比对图像的内容进行最小程度的压缩,以使图像的内容以原始比例(即图像的宽高比)尽可能大地显示在屏幕上,即使得图像的内容在屏幕上的宽高比与图像本身的宽高比一致,进而实现无失真的显示效果。
以图像的宽高比是λ1,屏幕的宽高比是λ2为例,压缩后的图像的内容的宽高比λ3=λ1 2/λ2,公式(1)。
由于对于VR场景而言,图像的宽高比大多数为1,因此,以下以图像的宽高比为1举例说明图像的内容的压缩处理步骤。
图3a示出了一张宽高比为1的图像。图3b示出了在屏幕的宽高比大于1的实施例中,图3a中图像的内容经过压缩处理后的样式。图3c示出了在屏幕的宽高比小于1的实施例中,图3a中的图像的内容经过压缩处理后的样式。
图3b对应的实施例为屏幕的宽高比大于1的情况,即屏幕为宽屏。在该实施例中,根据公式(1)可知,压缩后的图像的内容的宽高比小于1,因此,为了实现最小程度的压缩,可以保持图像的内容的高度不变,对图像的内容的宽度按照屏幕的宽高比的倒数进行压缩。
压缩后的样式如图3b所示,图像在宽度方向上的两端出现空白处,实际中通常体现为左右两端有黑边。
图3c对应的实施例为屏幕的宽高比小于1的情况,即屏幕为高屏。在该实施例中,根据公式(1)可知,压缩后的图像的内容的宽高比大于1,因此,为了实现最小程度的压缩,可以保持图像的内容的宽度不变,对图像的内容的高度按照屏幕的宽高比进行压缩。
压缩后的样式如图3c所示,图像在高度方向上的两端出现空白处,实际中通常体现为上下两端有黑边。
<例子>
图像的宽高比为1,如图3a所示,屏幕的宽高比为4/5。
按照图2所示的成像方法:
首先,根据步骤S102和步骤S103计算图像的放大比例K。
之后,按照步骤S202对图像的内容进行压缩处理,以进行与屏幕间的尺寸适配,具体为,在保持图像的尺寸不变的情况下,保持图像的内容的宽度不变,对图像的内容的高度按照4/5进行压缩,使得图像变为图3c所示的样式。
再按照放大比例K对完成尺寸适配的图像进行放大处理。
再对放大处理后的图像进行畸变处理。
最后将畸变处理后的图像输出至屏幕进行显示。图4示出了最终的显示效果,图中的黑色外边框为屏幕的显示边框。
在图4所示的实施例中,采用一块屏幕分左右部分显示左眼图像和右眼图像,这可以认为屏幕的左半部分为用于显示左眼图像的左眼屏幕,屏幕的右半部分为用于显示右眼图像的右眼屏幕。在另外的实施例中,也可以是通过两块独立的屏幕分别作为左眼屏幕和右眼屏幕。本发明成像方法中说明的屏幕为左眼屏幕或者右眼屏幕。
根据图4所示,最终的显示效果为左眼图像和右眼图像最终显示为对应屏幕部分的以宽度为标准的内切圆,进而基于最大视野范围实现最佳成像比例的显示。
本发明还提供了一种用于虚拟现实设备的成像装置。图5示出了该成像装置的一种实施例的方框原理图。
根据图5所示,该成像装置包括图像获取模块501、半径计算模块502、比例计算模块503、放大处理模块504、畸变处理模块505和输出模块506。
该图像获取模块501用于获取图像。
该半径计算模块502用于计算所述图像的最小内切圆的半径。
该比例计算模块503用于根据所述半径和选定的畸变公式,计算所述最小内切圆处的畸变比例作为所述图像的放大比例。
该放大处理模块504用于根据所述比例计算模块提供的放大比例对所述图像进行放大处理。
该畸变处理模块505用于根据所述畸变公式,对放大处理后的图像进行畸变处理。
该输出模块506用于输出畸变处理后的图像至屏幕进行显示。
上述半径计算模块502进一步用于在图像的宽高比为1的情况下,计算所述半径等于所述图像的任一边的中点至所述图像的几何中心的距离。
上述半径计算模块502还可以进一步用于在图像的宽高比大于1的情况下,计算该半径等于图像的高度的一半。
上述半径计算模块502还可以进一步用于在图像的宽高比小于1的情况下,计算该半径等于图像的宽度的一半。
上述比例计算模块503和畸变处理模块505采用的畸变公式例如可以为:
β=K0+K1×r+K2×r2+K3×r3+K4×r4+K5×r5+K6×r6,其中,K0~K6为实系数,β为所述图像上的至所述图像的几何中心的距离为r的像素点的畸变比例。
图6示出了根据本发明成像装置的另一种实施例的方框原理图。
根据图6所示,该成像装置还可以进一步包括判断模块507和适配模块508。
该判断模块507用于在放大处理模块504对图像进行放大处理之前,先判断图像的宽高比与屏幕的宽高比是否一致,并输出判断结果。
该适配模块508用于在判断结果为不一致时,保持所述图像的尺寸不变,并根据所述图像的宽高比和所述屏幕的宽高比对所述图像的内容进行最小限度的压缩后再提供给所述放大处理模块504进行放大处理,以使所述图像的内容以原始比例显示在所述屏幕上。
上述适配模块508可以进一步用于:在所述图像的宽高比为1,且所述屏幕的宽高比大于1的情况下,保持所述图像的内容的高度不变,对图像的内容的宽度按照所述屏幕的宽高比的倒数进行压缩。
上述适配模块508可以进一步用于:在所述图像的宽高比为1,且所述屏幕的宽高比小于1的情况下,保持所述图像的内容的宽度不变,对图像的内容的高度按照所述屏幕的宽高比进行压缩。
图7示出了该种成像装置的一种实施例的硬件结构。
根据图7所示,该成像装置可以包括存储器701和处理器702,存储器701用于存储指令,该指令用于控制各处理器702进行操作以执行根据本发明的成像方法。
图8示出了根据本发明的虚拟现实设备的一种实施例的方框原理图。
根据图8所示,该虚拟现实设备包括根据本发明的成像装置,例如图7所示的成像装置700。
除此之外,该虚拟现实设备还可以包括摄像装置810、输入装置820、传感器装置830、接口装置840、通信装置850、主机860、显示装置870等等。
上述摄像装置810用于采集头盔、手柄等外设上的红外装置发出的红外光,进而实现空间定位和追踪。
上述输入装置820例如可以包括触摸屏、按键等。
上述传感器装置830根据期望获得的运动姿态,可以包括但不限于下面中的至少一种,加速度传感器、陀螺仪、GPS追踪器、超声波测距仪、压力传感器、高度计、摄像头、磁力计、倾斜传感器等等。
上述接口装置840例如包括USB接口、网口等。
上述通信装置850例如能够进行有有线或无线通信。
上述主机860为虚拟现实设备的控制中心,其可以设置在头戴部分上,也可以设置在与头戴部分通信连接的手持设备上,还可以为固定PC机。
上述显示装置870包括屏幕及相关组件,其设置在虚拟现实设备的头戴部分上。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分相互参见即可,每个实施例重点说明的都是与其他实施例的不同之处,但本领域技术人员应当清楚的是,上述各实施例可以根据需要单独使用或者相互结合使用。另外,对于装置实施例而言,由于其是与方法实施例相对应,所以描述得比较简单,相关之处参见方法实施例的对应部分的说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的。
本发明可以是装置、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。