本发明涉及图像处理技术领域,更具体地,涉及一种图像的补偿方法及装置、虚拟现实头戴设备。
背景技术:
随着虚拟现实技术的发展,虚拟现实头戴设备的种类越来越多。为了更好的提升用户体验,虚拟现实头戴设备显示的图像通常是分辨率较高的图像,这样对虚拟现实头戴设备的硬件提出更高的要求,尤其是对显卡提出更高的要求。其中,显卡是进行数模信号转换的设备,承担输出显示图像的任务。如果虚拟现实头戴设备的硬件配置较高时,虚拟现实头戴设备的生成成本较高,不利于虚拟现实头戴设备的普及。
技术实现要素:
本发明的一个目的是提供一种图像的补偿方法及装置、虚拟现实头戴设备的新技术方案。
根据本发明的第一方面,提供了一种图像的补偿方法,包括:
对三维场景进行采样处理,得到与所述三维场景对应的二维图像;
获取组成所述二维图像的各个像素点信息;
根据所述各个像素点信息,计算得到多个中间像素点;
利用组成所述二维图像的各个像素点和所述多个中间像素点,合成新的二维图像。
可选地,所述各个像素点信息包括:各个像素点的颜色值和亮度值。
可选地,根据所述各个像素点信息,计算得到多个中间像素点,包括:
根据各个像素点中相邻的两个像素点信息,计算得到用于插入所述相邻的两个像素点之间的第一中间像素点;以及,
根据相邻的两个第一中间像素点信息,计算得到用于插入所述相邻的两个第一中间像素点之间的第二中间像素点;
利用组成所述二维图像的各个像素点和所述多个中间像素点,合成新的二维图像,包括:
利用组成所述二维图像的各个像素点、所述多个第一中间像素点和所述多个第二中间像素点,合成新的二维图像。
可选地,根据各个像素点中相邻的两个像素点信息,计算得到用于插入所述相邻的两个像素点之间的第一中间像素点,包括:
获取所述相邻的两个像素点的颜色值和亮度值;
分别对所述相邻的两个像素点的颜色值和亮度值进行算术平均值的计算;
将计算得到的所述相邻的两个像素点的颜色值和亮度值对应的算术平均值作为所述第一中间像素点信息;
根据相邻的两个第一中间像素点信息,计算得到用于插入所述相邻的两个第一中间像素点之间的第二中间像素点,包括:
分别对相邻的两个第一中间像素点的颜色值和亮度值进行算术平均值的计算;
将计算得到的所述相邻的两个第一中间像素点的颜色值和亮度值对应的算术平均值作为所述第二中间像素点信息。
可选地,所述方法还包括:
将所述合成的新的二维图像进行显示。
根据本发明的第二方面,提供了一种图像的补偿装置,包括:
采样处理模块,用于对三维场景进行采样处理,得到与所述三维场景对应的二维图像;
获取模块,用于获取组成所述二维图像的各个像素点信息;
计算模块,用于根据所述各个像素点信息,计算得到多个中间像素点;
合成模块,用于利用组成所述二维图像的各个像素点和所述多个中间像素点,合成新的二维图像。
可选地,所述各个像素点信息包括:各个像素点的颜色值和亮度值。
可选地,所述计算模块还用于:
根据各个像素点中相邻的两个像素点信息,计算得到用于插入所述相邻的两个像素点之间的第一中间像素点;以及,
根据相邻的两个第一中间像素点信息,计算得到用于插入所述相邻的两个第一中间像素点之间的第二中间像素点;
所述合成模块还用于:
利用组成所述二维图像的各个像素点、所述多个第一中间像素点和所述多个第二中间像素点,合成新的二维图像。
可选地,所述计算模块还用于:
获取所述相邻的两个像素点的颜色值和亮度值;
分别对所述相邻的两个像素点的颜色值和亮度值进行算术平均值的计算;
将计算得到的所述相邻的两个像素点的颜色值和亮度值对应的算术平均值作为所述第一中间像素点信息;
分别对相邻的两个第一中间像素点的颜色值和亮度值进行算术平均值的计算;
将计算得到的所述相邻的两个第一中间像素点的颜色值和亮度值对应的算术平均值作为所述第二中间像素点信息。
可选地,所述装置还包括:
显示模块,用于将所述合成的新的二维图像进行显示。
根据本发明的第三方面,提供了一种虚拟现实头戴设备,包括上述任一所述的图像的补偿装置。
通过本发明实施例提供的图像的补偿方法及装置,能够得到高分辨率的二维图像。另外,相对于对三维场景进行采样,直接获得高分辨率的二维图像而言,本发明实施例提供的图像的补偿方法,对虚拟现实头戴设备的硬件配置要求低,使得虚拟现实头戴设备的生产成本较低,利于其普及化。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1示出了根据本发明一个实施例的图像的补偿方法的处理流程图。
图2示出了根据本发明一个实施例的中间像素点的计算示意图。
图3示出了根据本发明一个实施例的图像的补偿装置的结构示意图。
图4示出了根据本发明一个实施例的图像的补偿装置的另一种结构示意图。
图5示出了根据本发明一个实施例的虚拟现实头戴设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明一个实施例提供了一种图像的补偿方法。图1示出了根据本发明一个实施例的图像的补偿方法的处理流程图。参见图1,该方法至少包括步骤s102至步骤s108。
步骤s102,对三维场景进行采样处理,得到与三维场景对应的二维图像;
步骤s104,获取组成二维图像的各个像素点信息;
步骤s106,根据各个像素点信息,计算得到多个中间像素点;
步骤s108,利用组成二维图像的各个像素点和多个中间像素点,合成新的二维图像。
在本发明的一个实施例中,上述步骤s102涉及的与三维场景对应的二维图像可为任一分辨率图像。需要说明地是,图像的分辨率越高,所包含的像素越多,显示的图像越清晰。接着,根据上述步骤s104和步骤s106对该二维图像进行补偿计算,得到多个中间像素点。最后,将图像原有的像素点和多个中间像素点进行合成,得到较原二维图像分辨率更高的图像。通过本发明实施例提供的图像的补偿方法,能够得到高分辨率的二维图像。另外,相对于对三维场景进行采样,直接获得高分辨率的二维图像而言,本发明实施例提供的图像的补偿方法,对虚拟现实头戴设备的硬件配置要求低,使得虚拟现实头戴设备的生产成本较低,利于其普及化。
在本发明的一个实施例中,上述步骤s104涉及的各个像素点信息至少包括颜色值和亮度值。像素点的颜色值包括像素点对应的红色的颜色值、绿色的颜色值和蓝色的颜色值。像素点的亮度值可基于以下计算式计算出二维图像中各个像素点的亮度,
l=r*0.30 g*0.59 b*0.11,其中,l代表像素点的亮度,r代表像素点对应的红色的颜色值,g代表像素点对应的绿色的颜色值,b代表像素点对应的蓝色的颜色值。
在本发明的一个实施例中,上述步骤s106涉及的根据各个像素点信息,计算得到多个中间像素点,具体为:根据各个像素点中相邻的两个像素点信息,计算得到用于插入相邻的两个像素点之间的第一中间像素点;以及,根据相邻的两个第一中间像素点信息,计算得到用于插入相邻的两个第一中间像素点之间的第二中间像素点。
图2示出了根据本发明一个实施例的中间像素点的计算示意图。图2仅示出了四个二维图像原有的像素点,即第一像素点、第二像素点、第三像素点和第四像素点。根据第一像素点信息和第二像素点信息,计算得到插入在第一像素点和第二像素点之间的一个第一中间像素点。相应地,根据第一像素点信息和第三像素点信息,计算得到插入在第一像素点和第三像素点之间的一个第一中间像素点。根据第二像素点信息和第四像素点信息,计算得到插入在第二像素点和第四像素点之间的一个第一中间像素点。根据第三像素点信息和第四像素点信息,计算得到插入在第三像素点和第四像素点之间的一个第一中间像素点。
从图2中看出,在计算得到四个第一中间像素点之后,该四个第一中间像素点之间需要一个第二中间像素点进行补偿。该第二中间像素点可根据相邻的两个第一中间像素点信息计算得到。具体地,第二中间像素点可根据插入在第一像素点和第二像素点之间的第一中间像素点信息以及插入在第三像素点和第四像素点之间的第一中间像素点信息计算得到;或者,第二中间像素点可根据插入在第一像素点和第三像素点之间的第一中间像素点信息和插入在第二像素点和第四像素点之间的第一中间像素点信息计算得到。
需要说明地是,图2示出的原有像素点的数量仅仅是作为一个示例进行说明,对本发明并不造成任何限定。本发明实施例中,步骤s102得到的二维图像的像素点可为任意数量。另外,图2示出的原有二维图像中相邻的两个像素点之间插入的第一中间像素点的数量并不仅限于一个,还可为多个,相应地,在相邻的两个第一中间像素点之间插入的第二像素点的数量并不限于一个,还可为多个。
在本发明的一个实施例中,根据原有二维图像中相邻的两个像素点的颜色值和亮度值,计算得到插入在该相邻的两个像素点之间的第一中间像素点。首先,获取相邻的两个像素点的颜色值和亮度值,像素点的颜色值包括像素点对应的红色的颜色值、绿色的颜色值和蓝色的颜色值。像素点的亮度值可基于上述计算式计算出二维图像中各个像素点的亮度。接着,对相邻的两个像素点的颜色值和亮度值进行算术平均值的计算,具体地,对相邻的两个像素点对应的红色的颜色值进行算术平均值的计算,对相邻的两个像素点对应的绿色的颜色值进行算术平均值的计算,以及对相邻的两个像素点对应的蓝色的颜色值进行算术平均值的计算。对相邻的两个像素点对应亮度值进行算术平均值的计算。然后,将计算得到的相邻的两个像素点的颜色值和亮度值对应的算术平均值作为插入到该相邻的两个像素点之间的第一中间像素点的信息。相应地,对相邻的两个第一中间像素点的颜色值和亮度值进行算术平均值的计算;将计算得到的相邻的两个第一中间像素点的颜色值和亮度值对应的算术平均值作为插入到该相邻的两个第一中间像素点之间的第二中间像素点的信息。
上述实施例中涉及对原有二维图像中相邻的两个像素点进行平均值计算类型并不仅限于算术平均值,还可为几何平均值的计算。
在本发明的一个实施例中,利用组成二维图像的各个像素点、多个第一中间像素点和第二中间像素点,合成新的二维图像。相对于原有的二维图像,新的二维图像包含更多的像素点,进而新的二维图像的分辨率更高。在合成新的二维图像之后,将合成的新的二维图像进行显示。
基于同一发明构思,本发明还提供了一种图像的补偿装置。图3示出了根据本发明一个实施例的图像的补偿装置的结构示意图。参见图3,图像的补偿装置至少包括:采样处理模块310,用于对三维场景进行采样处理,得到与三维场景对应的二维图像;获取模块320,用于获取组成二维图像的各个像素点信息;计算模块330,用于根据各个像素点信息,计算得到多个中间像素点;合成模块340,用于利用组成二维图像的各个像素点和多个中间像素点,合成新的二维图像。
在本发明的一个实施例中,各个像素点信息至少包括颜色值和亮度值。像素点的颜色值包括像素点对应的红色的颜色值、绿色的颜色值和蓝色的颜色值。像素点的亮度值可基于以下计算式计算出二维图像中各个像素点的亮度,
l=r*0.30 g*0.59 b*0.11,其中,l代表像素点的亮度,r代表像素点对应的红色的颜色值,g代表像素点对应的绿色的颜色值,b代表像素点对应的蓝色的颜色值。
在本发明的一个实施例中,计算模块330还用于:根据各个像素点中相邻的两个像素点信息,计算得到用于插入相邻的两个像素点之间的第一中间像素点;以及,根据相邻的两个第一中间像素点信息,计算得到用于插入相邻的两个第一中间像素点之间的第二中间像素点。合成模块340还用于:利用组成二维图像的各个像素点、多个第一中间像素点和多个第二中间像素点,合成新的二维图像。
在本发明的一个实施例中,计算模块330还用于:获取相邻的两个像素点的颜色值和亮度值;分别对相邻的两个像素点的颜色值和亮度值进行算术平均值的计算;将计算得到的相邻的两个像素点的颜色值和亮度值对应的算术平均值作为第一中间像素点信息;分别对相邻的两个第一中间像素点的颜色值和亮度值进行算术平均值的计算;将计算得到的相邻的两个第一中间像素点的颜色值和亮度值对应的算术平均值作为第二中间像素点信息。
在本发明的一个实施例中,参见图4,图像的补偿装置还包括:显示模块350,用于将合成的新的二维图像进行显示。
基于同一发明构思,本发明还提供了一种虚拟现实头戴设备。参见图5,该虚拟现实头戴设备500至少包括上述任一实施例涉及的图像的补偿装置510。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。