虚拟现实调整视差的方法及装置的制造方法

文档序号:10516143阅读:335来源:国知局
虚拟现实调整视差的方法及装置的制造方法
【专利摘要】本发明实施例提供一种虚拟现实调整视差的方法及装置,其中,本发明的方法主要包括:获取虚拟现实模型预设的视差范围,所述视差范围是由一个视差上限值和一个视差下限值构成的范围;获取立体片源以及对应所述立体片源的视差值,所述立体片源为在虚拟现实场景中显示的片源;根据所述视差范围调整所述立体片源的视差值,以使所述立体片源的视差值不超出所述视差范围。与现有技术相比,本发明能够改善在立体场景中展示新的立体场景的展示效果。
【专利说明】
虚拟现实调整视差的方法及装置
技术领域
[0001]本发明实施例涉及互联网技术领域,尤其涉及一种虚拟现实调整视差的方法及装置。
【背景技术】
[0002]虚拟现实技术是一种综合技术,它包括三维计算机图形技术、立体显示技术、跟踪技术等。利用虚拟现实技术可以创建对与现实环境一致的模拟场景,使用户可以置身于该场景中。
[0003]随着虚拟现实技术的应用范围的扩大,出现了立体场景中嵌套立体新的立体场景的情况。比如,在一个虚拟的立体影院中观看立体电影,立体影院本身就是一个立体场景,而立体电影是另外一个立体场景。
[0004]由于人的左、右眼有间距,造成两眼的视角存在细微的差别,而这种差别会使两只眼睛分别看到的物体有一定的位移,这就是人能产生空间立体感的原因,其中将看到的一定的位移称为视差。而立体场景的形成就是模拟人眼的观看原理,分别为两只眼睛提供不同的图像,然后在大脑里合成立体图像的效果。
[0005]通常,不同的立体场景有不同的视差,当在立体场景中观看立体电影时,就会发生立体影院视差与立体电影视差的融合的问题。如果融合后的视差太大或者太小都会使观看者感觉不适或者影响立体效果的展示。在现有技术中通常立体影院和立体电影的视差都是固定的,不能进行调整。

【发明内容】

[0006]本发明实施例提供一种虚拟现实调整视差的方法及装置,用以解决现有虚拟现实技术不能调整视差的问题。
[0007]本发明实施例提供一种虚拟现实调整视差的方法,包括:
[0008]获取虚拟现实模型预设的视差范围,所述视差范围是由一个视差上限值和一个视差下限值构成的范围;
[0009]获取立体片源以及对应所述立体片源的视差值,所述立体片源为在虚拟现实场景中显示的片源;
[0010]根据所述视差范围调整所述立体片源的视差值,以使所述立体片源的视差值不超出所述视差范围。
[0011]本发明实施例提供一种虚拟现实调整视差的装置,包括:
[0012]第一获取单元,用于获取虚拟现实模型预设的视差范围,所述视差范围是由一个视差上限值和一个视差下限值构成的范围;
[0013]第二获取单元,用于获取立体片源以及对应所述立体片源的视差值,所述立体片源为在虚拟现实场景中显示的片源;
[0014]调整单元,用于根据所述视差范围调整所述立体片源的视差值,以使所述立体片源的视差值不超出所述视差范围。
[0015]本发明实施例提供的虚拟现实调整视差的方法及装置,能够首先获取虚拟现实模型的视差范围,然后获取在虚拟现实场景中显示的立体片源的视差值,最后将立体片源的视差值调整到虚拟现实的视差范围之内。与现有技术相比,本发明实施例能够根据获取到的虚拟现实的视差范围对在虚拟现实场景中显示的立体片源进行视差值的调整,以使得立体片源的视差值不超出虚拟现实的视差范围,解决了在立体场景中嵌套立体场景时不能调整视差的问题,有效地改善了在立体场景中展示新的立体场景的展示效果。
【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本发明实施例提供的一种虚拟现实调整视差的方法的流程图;
[0018]图2为本发明实施例提供的另一种虚拟现实调整视差的方法的流程图;
[0019]图3为本发明实施例提供的一种虚拟现实调整视差的装置的组成框图;
[0020]图4为本发明实施例提供的另一种虚拟现实调整视差的装置的组成框图;
[0021]图5为本发明实施例提供的一种虚拟现实调整视差的装置的实体结构示意图。
【具体实施方式】
[0022]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]本发明实施例提供了一种虚拟现实调整视差的方法,如图1所示,该方法包括:
[0024]101、获取虚拟现实模型预设的视差范围。
[0025]获取虚拟现实模型预设的视差范围,其中预设的视差范围是指该虚拟模型可以接受的视差范围,可以接受是指用户在虚拟现实构建的场景中在观看新的立体场景时观看舒适的视差范围。视差范围是由一个视差上限值和一个视差下限值构成的范围,视差下限值通常是负视差,视差上限值通常为正视差。正视差表示看物体时感觉物体位于显示屏的后面,负视差表示看物体时感觉物体位于显示屏的前面。
[0026]102、获取立体片源以及对应立体片源的视差值。
[0027]获取需要在虚拟现实场景中显示的立体片源以及立体片源的视差值。获取立体片源的视差值是为了后面对其进行调整。本实施例中立体片源可以由虚拟现实模型的提供者提供的立体片源,也可以是用户自己提供的立体片源,其中立体片源可以是立体电影、立体游戏等。
[0028]103、根据视差范围调整立体片源的视差值。
[0029]本步骤是根据由步骤101得到的视差范围对由步骤102获取到的立体片源的视差值进行适当的调整,以使立体片源的视差值不超出虚拟现实模型预设的视差范围。
[0030]本发明实施例提供的虚拟现实调整视差的方法,能够首先获取虚拟现实模型的视差范围,然后获取在虚拟现实场景中显示的立体片源的视差值,最后将立体片源的视差值调整到虚拟现实的视差范围之内。与现有技术相比,本发明实施例能够根据获取到的虚拟现实的视差范围对在虚拟现实场景中显示的立体片源进行视差值的调整,以使得立体片源的视差值不超出虚拟现实的视差范围,解决了在立体场景中嵌套立体场景时不能调整视差的问题,有效地改善了在立体场景中展示新的立体场景的展示效果。
[0031]进一步的,作为对图1所示实施例的细化及扩展,本发明还提供了另一实施例。如图2所示,该实施例中虚拟现实调整视差的方法包括:
[0032]201、制作测试片源。
[0033]本实施例中,测试片源是对虚拟现实模型所能接收的视差范围的测试。测试片源是由不同的视差值的构成的立体场景,在实际应用中通常用视差值与图像宽度的比来描述视差值,因此用视差值与图像宽度的比来对测试片源进行举例说明,后面提到的视差值都是指视差值与图像宽度的比。比如制作正视差值与图像宽度比为1%、2%、-_、15%,负视差值与图像宽度比为-1%、-2%、...、_10%的立体场景作为测试片源。需要说明的是,图像的宽度是指立体片源在虚拟现实场景中左右视图中分别占据的宽度值之和。
[0034]202、对不同的视差值进行实际测试,获取符合预设标准的视差值。
[0035]对不同的视差值进行实际测试,是指让用户在虚拟场景中观看由不同视差值组成的测试片源,然后获取符合预设标准的视差值,其中预设标准是以用户观看舒适为标准。
[0036]本实施例是让大量的用户进行实际的观看测试,然后得到所有用户的符合预设标准的视差值。每个用户测试得到的符合预设标准的视差值是多个视差值,其中都有一个最小值和一个最大值。
[0037]203、根据获取的视差值确定视差范围。
[0038]对由步骤202得到的多个用户的视差值的最小值求平均值,并将该平均值记为视差范围的视差下限值,对多个用户的视差值的最大值求平均值,并将该平均值记为视差范围的视差上限值。由视差上限值和视差下限值组成虚拟现实模型的视差范围。
[0039]204、建立立体视差文件。
[0040]建立立体视差文件,是为需要在虚拟现实场景中显示的立体片源提前建立一个用于保存立体片源的标识和对应立体片源的视差值的文件。其中立体片源的标识可以是立体片源的标题名和身份标识号(Identity,简称ID)等。
[0041]205、获取立体片源和立体片源的视差值,并将立体片源的视差值保存。
[0042]获取立体片源有两种方式:一种获取由虚拟现实模型提供者提供的立体片源,一种是获取由用户自己提供的立体片源。对于由虚拟现实模型提供者提供的立体片源,可以在线下获取立体片源的视差值,并将立体片源的标识与视差值一一对应的保存到由步骤204建立的立体视差文件中。对于用户自己提供的立体片源可以先在立体视差文件中查找是否有相同的片源,若没有则对该立体片源使用获取立体片源视差值的方法获取其对应的视差值,然后将立体片源的标识和对应的视差值保存到立体视差文件中。
[0043 ] 206、从立体视差文件中获取立体片源的视差值。
[0044]根据需要显示的立体片源的标识从立体视差文件中获取对应立体片源的视差值。
[0045]207、根据视差范围调整立体片源的视差值。
[0046]根据由步骤203确定的视差范围来对需要在虚拟现实中显示的立体片源的视差值进行调整,具体的调整方式如下:
[0047]首先需要说明的是,获取的立体片源的视差值通常是获取立体片源视差值的最大值和最小值。
[0048]若立体片源的视差值的最大值大于视差范围的视差上限值,则减小立体片源的视差值。具体的是将虚拟现实场景中的左视图向右移,右视图向左移。
[0049]若立体片源的视差值的最小值小于视差范围的视差下限值,则增大立体片源的视差值。具体的是将虚拟现实场景中的左视图向左移,右视图向右移。
[0050]另外对于立体片源的视差值本身就在虚拟现实视差范围内的立体片源,也可以对其进行调整,调整的原则是:若立体片源视差值的最大值比视差上限值相差较大时,则增大立体片源的视差值;若立体片源视差值的最小值与视差下限值相差较大时,则减小立体片源的视差值。
[0051]在对立体片源的视差调整好后就可以在虚拟现实场景中显示立体片源了。
[0052]进一步的,对于调整立体片源视差值的方法给出一个具体的示例进行说明:假设某一立体片源的视差值的最大值为P,虚拟现实的视差范围为[PI,P2],其中Pl为视差下限值,P2为视差上限值,若P>P2,则需要将立体片源的视差值减小。具体的是将虚拟现实场景中的左视图向右移X,右视图向左移Xd的具体计算公式如下所示,其中W为图像的宽度。
[0053]X=(P2_P)*W/2
[0054]进一步的,作为对上述图1以及图2所示方法的实现,本发明实施例的另一个实施例还提供了一种虚拟现实调整视差的装置,如图3所示,该装置包括:第一获取单元31、第二获取单元32以及调整单元33。
[0055]第一获取单元31,用于获取虚拟现实模型预设的视差范围,视差范围是由一个视差上限值和一个视差下限值构成的范围。
[0056]获取虚拟现实模型预设的视差范围,其中预设的视差范围是指该虚拟模型可以接受的视差范围,可以接受是指用户在虚拟现实构建的场景中在观看新的立体场景时观看舒适的视差范围。视差范围是由一个视差上限值和一个视差下限值构成的范围,视差下限值通常是负视差,视差上限值通常为正视差。正视差表示看物体时感觉物体位于显示屏的后面,负视差表示看物体时感觉物体位于显示屏的前面。
[0057]第二获取单元32,用于获取立体片源以及对应立体片源的视差值,立体片源为在虚拟现实场景中显示的片源。
[0058]获取需要在虚拟现实场景中显示的立体片源以及立体片源的视差值。获取立体片源的视差值是为了后面对其进行调整。本实施例中立体片源可以由虚拟现实模型的提供者提供的立体片源,也可以是用户自己提供的立体片源,其中立体片源可以是立体电影、立体游戏等。
[0059]调整单元33,用于根据视差范围调整立体片源的视差值,以使立体片源的视差值不超出视差范围。
[0060]本步骤是根据由第一获取单元31得到的视差范围对由第二获取单元32获取到的立体片源的视差值进行适当的调整,以使立体片源的视差值不超出虚拟现实模型预设的视差范围。
[0061]进一步的,如图4所示,第一获取单元31,包括:
[0062]制作模块311,用于制作测试片源,测试片源中包括有不同数值的视差值;
[0063]本实施例中,测试片源是对虚拟现实模型所能接收的视差范围的测试。测试片源是由不同的视差值的构成的立体场景,在实际应用中通常用视差值与图像宽度的比来描述视差值,因此用视差值与图像宽度的比来对测试片源进行举例说明,后面提到的视差值都是指视差值与图像宽度的比。比如制作正视差值与图像宽度比为1%、2%、-_、15%,负视差值与图像宽度比为-1%、-2%、...、_10%的立体场景作为测试片源。需要说明的是,图像的宽度是指立体片源在虚拟现实场景中左右视图中分别占据的宽度值之和。
[0064]测试模块312,用于对不同的视差值进行实际测试,获取符合预设标准的视差值;
[0065]对不同的视差值进行实际测试,是指让用户在虚拟场景中观看由不同视差值组成的测试片源,然后获取符合预设标准的视差值,其中预设标准是以用户观看舒适为标准。
[0066]本实施例是让大量的用户进行实际的观看测试,然后得到所有用户的符合预设标准的视差值。每个用户测试得到的符合预设标准的视差值是多个视差值,其中都有一个最小值和一个最大值。
[0067]确定模块313,用于根据获取的视差值确定视差范围。
[0068]对由测试模块312得到的多个用户的视差值的最小值求平均值,并将该平均值记为视差范围的视差下限值,对多个用户的视差值的最大值求平均值,并将该平均值记为视差范围的视差上限值。由视差上限值和视差下限值组成虚拟现实模型的视差范围。
[0069]进一步的,如图4所示,调整单元33,包括:
[0070]减小模块331,用于若立体片源的视差值大于视差上限值,则减小立体片源的视差值;
[0071]增大模块332,用于若立体片源的视差值小于视差下限值,则增大立体片源的视差值。
[0072]进一步的,减小模块331,用于:
[0073]将虚拟现实场景中的左视图向右移,右视图向左移;
[0074]增大模块332,用于:
[0075]将虚拟现实场景中的左视图向左移,右视图向右移。
[0076]根据由确定模块313确定的视差范围来对需要在虚拟现实中显示的立体片源的视差值进行调整,具体的调整方式如下:
[0077]首先需要说明的是,获取的立体片源的视差值通常是获取立体片源视差值的最大值和最小值。
[0078]若立体片源的视差值的最大值大于视差范围的视差上限值,则减小立体片源的视差值。具体的是将虚拟现实场景中的左视图向右移,右视图向左移。
[0079]若立体片源的视差值的最小值小于视差范围的视差下限值,则增大立体片源的视差值。具体的是将虚拟现实场景中的左视图向左移,右视图向右移。
[0080]另外对于立体片源的视差值本身就在虚拟现实视差范围内的立体片源,也可以对其进行调整,调整的原则是:若立体片源视差值的最大值比视差上限值相差较大时,则增大立体片源的视差值;若立体片源视差值的最小值与视差下限值相差较大时,则减小立体片源的视差值。
[0081]进一步的,如图4所示,装置进一步包括:
[0082]建立单元34,用于在获取立体片源以及对应立体片源的视差值之前,建立立体视差文件,立体视差文件用于保存立体片源的标识和对应立体片源的视差值。
[0083]建立立体视差文件,是为需要在虚拟现实场景中显示的立体片源提前建立一个用于保存立体片源的标识和对应立体片源的视差值的文件。其中立体片源的标识可以是立体片源的标题名和身份标识号ID等。
[0084]对于由虚拟现实模型提供者提供的立体片源,可以在线下获取立体片源的视差值,并将立体片源的标识与视差值一一对应的保存到建立的立体视差文件中。对于用户自己提供的立体片源可以先在立体视差文件中查找是否有相同的片源,若没有则对该立体片源使用获取立体片源视差值的方法获取其对应的视差值,然后将立体片源的标识和对应的视差值保存到立体视差文件中。
[0085]进一步的,第二获取单元32,用于:
[0086]从立体视差文件中获取立体片源的视差值。
[0087]本发明实施例提供的虚拟现实调整视差的装置,能够首先获取虚拟现实模型的视差范围,然后获取在虚拟现实场景中显示的立体片源的视差值,最后将立体片源的视差值调整到虚拟现实的视差范围之内。与现有技术相比,本发明实施例能够根据获取到的虚拟现实的视差范围对在虚拟现实场景中显示的立体片源进行视差值的调整,以使得立体片源的视差值不超出虚拟现实的视差范围,解决了在立体场景中嵌套立体场景时不能调整视差的问题,有效地改善了在立体场景中展示新的立体场景的展示效果。
[0088]需要说明的是,针对上述虚拟现实调整视差的装置,凡是本发明实施例中使用到的各个单元模块的功能都可以通过硬件处理器(hardware processor)来实现。
[0089]示例性的,如图5所示,图5示出了本发明实施例提供的一种虚拟现实调整视差的装置的实体结构示意图,该实体结构可以包括:处理器(processor) 51、通信接口(Communicat1ns Interface)52、存储器(memory)53和总线54,其中,处理器51、通信接口52、存储器53通过总线54完成相互间的通信。通信接口 52可以用于信息传输。处理器51可以调用存储器53中的逻辑指令,以执行如下方法:获取虚拟现实模型预设的视差范围,所述视差范围是由一个视差上限值和一个视差下限值构成的范围;获取立体片源以及对应所述立体片源的视差值,所述立体片源为在虚拟现实场景中显示的片源;根据所述视差范围调整所述立体片源的视差值,以使所述立体片源的视差值不超出所述视差范围。
[0090]此外,上述的存储器53中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0091]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0092]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0093]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种虚拟现实调整视差的方法,其特征在于,所述方法包括: 获取虚拟现实模型预设的视差范围,所述视差范围是由一个视差上限值和一个视差下限值构成的范围; 获取立体片源以及对应所述立体片源的视差值,所述立体片源为在虚拟现实场景中显示的片源; 根据所述视差范围调整所述立体片源的视差值,以使所述立体片源的视差值不超出所述视差范围。2.根据权利要求1所述的方法,其特征在于,所述获取虚拟现实模型预设的视差范围,包括: 制作测试片源,所述测试片源中包括有不同数值的视差值; 对不同的视差值进行实际测试,获取符合预设标准的视差值; 根据获取的视差值确定所述视差范围。3.根据权利要求1述的方法,其特征在于,所述根据所述视差范围调整所述立体片源的视差值,包括: 若所述立体片源的视差值大于所述视差上限值,则减小所述立体片源的视差值; 若所述立体片源的视差值小于所述视差下限值,则增大所述立体片源的视差值。4.根据权利要求3所述的方法,其特征在于,所述减小所述立体片源的视差值,包括: 将所述虚拟现实场景中的左视图向右移,右视图向左移; 所述增大所述立体片源的视差值,包括: 将所述虚拟现实场景中的左视图向左移,右视图向右移。5.根据权利要求1所述的方法,其特征在于,在所述获取立体片源以及对应所述立体片源的视差值之前,所述方法进一步包括: 建立立体视差文件,所述立体视差文件用于保存所述立体片源的标识和对应所述立体片源的视差值。6.根据权利要求5所述的方法,其特征在于,所述获取对应所述立体片源的视差值,包括: 从所述立体视差文件中获取所述立体片源的视差值。7.一种虚拟现实调整视差的装置,其特征在于,所述装置包括: 第一获取单元,用于获取虚拟现实模型预设的视差范围,所述视差范围是由一个视差上限值和一个视差下限值构成的范围; 第二获取单元,用于获取立体片源以及对应所述立体片源的视差值,所述立体片源为在虚拟现实场景中显示的片源; 调整单元,用于根据所述视差范围调整所述立体片源的视差值,以使所述立体片源的视差值不超出所述视差范围。8.根据权利要求7所述的装置,其特征在于,所述第一获取单元,包括: 制作模块,用于制作测试片源,所述测试片源中包括有不同数值的视差值; 测试模块,用于对不同的视差值进行实际测试,获取符合预设标准的视差值; 确定模块,用于根据获取的视差值确定所述视差范围。9.根据权利要求7述的装置,其特征在于,所述调整单元,包括: 减小模块,用于若所述立体片源的视差值大于所述视差上限值,则减小所述立体片源的视差值; 增大模块,用于若所述立体片源的视差值小于所述视差下限值,则增大所述立体片源的视差值。10.根据权利要求9所述的装置,其特征在于,所述减小模块,用于: 将所述虚拟现实场景中的左视图向右移,右视图向左移; 所述增大模块,用于: 将所述虚拟现实场景中的左视图向左移,右视图向右移。11.根据权利要求7所述的装置,其特征在于,所述装置进一步包括: 建立单元,用于在所述获取立体片源以及对应所述立体片源的视差值之前,建立立体视差文件,所述立体视差文件用于保存所述立体片源的标识和对应所述立体片源的视差值。12.根据权利要求11所述的装置,其特征在于,所述第二获取单元,用于: 从所述立体视差文件中获取所述立体片源的视差值。
【文档编号】H04N13/00GK105872517SQ201511001007
【公开日】2016年8月17日
【申请日】2015年12月28日
【发明人】楚明磊
【申请人】乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1