一种显示方法及目标设备的制造方法

文档序号:10534175阅读:125来源:国知局
一种显示方法及目标设备的制造方法
【专利摘要】本发明涉及虚拟现实技术领域,尤其涉及一种显示方法及目标设备,包括:目标设备中的第一图像处理单元根据获取到的VR设备位置信息,渲染生成待显示的图像帧,并将待显示的图像帧复制至共享存储空间;所述目标设备中的第二图像处理单元根据显示时VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。该方法实现了由第一图像处理单元生成渲染后的图像帧并存储于共享存储空间,然后由第二图像处理单元根据显示时VR设备的当前位置信息对共享空间中的图像帧进行调整,使得VR设备中显示的图像帧与当前位置是对应的,从而不会造成用户因看到的图像帧与上一位置的图像帧相同而导致出现拖影现象及眩晕感。
【专利说明】
一种显示方法及目标设备
技术领域
[0001]本发明涉及虚拟现实技术领域,尤其涉及一种显示方法及目标设备。
【背景技术】
[0002]在虚拟现实领域,用户使用VR(Virtual Reality,虚拟现实)设备来观察虚拟场景,但是由于人的头部运动往往较快,而计算机或游戏主机的渲染能力有限,因此会造成场景渲染的延迟,即人的头部已经转过去了,但计算机或游戏主机对应的图像还没有及时地渲染出来,因此VR设备里显示的还是前一帧的图像,这样就会出现画面抖动以及产生眩晕感,影响使用者的VR体验。
[0003]针对存在的上述问题,目前仍然没有一个很好的方式来解决。
[0004]综上所述,现有技术存在佩戴VR设备时,若头部运动过快会导致画面抖动,进而产生眩晕感的技术问题。

【发明内容】

[0005]本发明提供一种显示方法及目标设备,用以解决现有技术中存在的佩戴VR设备时,若头部运动过快会导致画面抖动,进而产生眩晕感的问题。
[0006]—方面,本发明实施例提供一种显不方法,包括:
[0007]目标设备中的第一图像处理单元根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间;
[0008]所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。
[0009]本发明实施例提供的方法,目标设备中的第一图像处理单元根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间;所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。该方法实现了由第一图像处理单元生成渲染后的图像帧并存储于共享存储空间,然后由第二图像处理单元根据显示时VR设备的当前位置信息对共享空间中的图像帧进行调整,使得VR设备中显示的图像帧与当前位置是对应的,从而不会造成用户因看到的图像帧与上一位置的图像帧相同而导致出现拖影现象及造成眩晕感,因此该方法可实现用户头部快速运动时,也可以看到清晰的图像且不会有眩晕感。
[0010]可选地,所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,包括:
[0011 ]所述第二图像处理单元根据所述VR设备的当前位置信息,确定所述共享存储空间中的图像帧是否为根据所述当前位置渲染生成的;
[0012]若所述第二图像处理单元确定所述共享存储空间中的图像帧是根据所述当前位置渲染生成的,则将所述共享存储空间中的图像帧作为调整后的图像帧;
[0013]若所述第二图像处理单元确定所述共享存储空间中的图像帧不是根据所述当前位置渲染生成的,则根据所述VR设备的当前位置信息和所述共享存储空间中的图像帧生成中间帧,并将所述中间帧作为调整后的图像帧。
[0014]可选地,所述第二图像处理单元根据所述VR设备的当前位置信息和所述共享存储空间中的图像帧生成中间帧,包括:
[0015]所述第二图像处理单元确定所述VR设备从所述上一位置到所述当前位置的旋转量和平移量,根据所述旋转量和所述平移量对所述图像帧进行旋转和平移操作,得到所述中间帧。
[0016]可选地,所述第一图像处理单元由第一线程创建,所述第二图像处理单元由第二线程创建;
[0017]所述将所述待显示的图像帧复制至共享存储空间,包括:
[0018]所述第一线程通过所述第一图像处理单元将所述待显示的图像帧复制至所述共享存储空间;
[0019]所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧之前,还包括:
[0020]所述第二线程将所述共享存储空间中的图像帧发送给所述第二图像处理单元。
[0021]可选地,所述第一图像处理单元包括第一贴图和第二贴图,所述第二贴图为所述共享存储空间;
[0022]所述第一线程通过所述第一图像处理单元将所述待显示的图像帧复制至所述共享存储空间之前,还包括:
[0023]所述第一图像处理单元将渲染生成的待显示的图像帧存储于所述第一贴图中;
[0024]所述第一线程将所述待显示的图像帧复制至共享存储空间,包括:
[0025]所述第一线程将所述第一贴图中的所述图像帧复制至所述第二贴图。
[0026]可选地,所述第二线程是由所述第一线程创建的;
[0027]所述第一图像处理单元为DirectX设备,和/或所述第二图像处理单元为DirectX设备。
[0028]另一方面,本发明实施例提供一种目标设备,包括:
[0029]第一图像处理单元,根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间;
[0030]第二图像处理单元,根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。
[0031]可选地,所述第二图像处理单元,具体用于:
[0032]根据所述VR设备的当前位置信息,确定所述共享存储空间中的图像帧是否为根据所述当前位置渲染生成的;
[0033]若确定所述共享存储空间中的图像帧是根据所述当前位置渲染生成的,则将所述共享存储空间中的图像帧作为调整后的图像帧;
[0034]若确定所述共享存储空间中的图像帧不是根据所述当前位置渲染生成的,则根据所述VR设备的当前位置信息和所述共享存储空间中的图像帧生成中间帧,并将所述中间帧作为调整后的图像帧。
[0035]可选地,所述第二图像处理单元,具体用于:
[0036]确定所述VR设备从所述上一位置到所述当前位置的旋转量和平移量,根据所述旋转量和所述平移量对所述图像帧进行旋转和平移操作,得到所述中间帧。
[0037]可选地,所述第一图像处理单元由第一线程创建,所述第二图像处理单元由第二线程创建;
[0038]所述第一线程通过所述第一图像处理单元将所述待显示的图像帧复制至所述共享存储空间;
[0039]所述第二线程将所述共享存储空间中的图像帧发送给所述第二图像处理单元。
[0040]可选地,所述第一图像处理单元包括第一贴图和第二贴图,所述第二贴图为所述共享存储空间;
[0041]所述第一图像处理单元还用于:所述第一线程通过所述第一图像处理单元将所述待显示的图像帧复制至所述共享存储空间之前,将渲染生成的待显示的图像帧存储于所述第一贴图中;
[0042]所述第一线程具体用于:将所述第一贴图中的所述图像帧复制至所述第二贴图。
[0043]可选地,所述第二线程是由所述第一线程创建的;
[0044]所述第一图像处理单元为DirectX设备,和/或所述第二图像处理单元为DirectX设备。
【附图说明】
[0045]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0046]图1为本发明实施例所适用的显示方法示意图;
[0047]图2为本发明实施例提供的显示方法流程图;
[0048]图3为本发明实施例提供的显示方法示意图;
[0049]图4为本发明实施例提供的显示方法详细流程图;
[0050]图5为本发明实施例提供的目标设备示意图。
【具体实施方式】
[0051]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0052]如图1所示,为本发明实施例所适用的显示方法示意图,其中,目标设备中有两个图像处理单元,分别为第一图像处理单元101和第二图像处理单元102,其中,目标设备可以是VR设备,也可以是与VR设备通过有线或无线的方式进行连接的计算机设备,第一图像处理单元101主要用于根据VR设备的位置信息进行图像渲染生成图像帧,然后将生成的图像帧存储到共享存储空间103,由第二图像处理单元102从共享存储空间103中获取图像帧,并根据图像帧对VR设备的显示屏进行刷新显示。
[0053]其中,当目标设备是VR设备本身时,VR设备可以完成图像渲染到图像帧刷新显示的所有工作,此时VR设备是一个具有独立图像处理能力的设备;当目标设备是一个计算机设备时,则VR设备通过有线或无线的方式与计算机进行连接,然后由计算机设备完成图像渲染工作,并生成图像帧后发送至VR设备进行刷新显示,此时,VR设备只负责接收计算机设备不断发送过来的图像帧,进行显示,而不负责渲染工作。
[0054]下面结合说明书附图对本发明实施例作进一步详细描述。
[0055]如图2所示,本发明实施例提供的显示方法,包括:
[0056]步骤201、目标设备中的第一图像处理单元根据获取到的VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间;
[0057]步骤202、所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。
[0058]第一图像处理单元根据获取到的VR设备位置信息,渲染生成待显示的图像帧,然后复制到共享存储空间中,而第二图像处理单元是从共享存储空间中获取图像帧然后在VR设备上进行显示,但是由于第一图像处理单元生成图像帧的频率与第二图像处理显示图像帧(即VR设备显示图像帧的频率)并不相同,例如当第一图像处理单元生成图像帧的频率低于第二图像处理显示图像帧时,则导致有可能第二图像处理单元从共享存储空间中获取到的图像帧是上次已经获取过的图像帧,即共享存储空间的图像帧并没有来得及更新,此时通过本发明的上述步骤201?步骤202的方法,可实现在VR设备上显示调整后的图像帧。
[0059]具体地,第一图像处理单元负责根据VR设备位置信息生成图像帧并存储于共享存储空间中,而在上述步骤202中,而第二图像处理单元根据VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。
[0060]具体地,第二图像处理单元获取到的共享存储空间中的图像帧分为以下两种情形:
[0061]情形一、所述图像帧是根据VR设备的当前位置渲染生成的
[0062]若第二图像处理单元确定共享存储空间中的图像帧是根据当前位置渲染生成的,则直接将该图像帧作为调整后的图像帧,然后将调整后的图像帧显示在所述VR设备。
[0063]该情形下,当用户头部转动时,到达了一个新的位置,此时第一图像处理单元根据该新的位置渲染得到一个新的图像帧,并且该图像帧在第一图像处理单元向共享存储空间获取图像帧之前,已经存储到共享存储空间中,因此当第一图像处理单元从共享存储空间获取图像帧时,获取到的是一个就是当前新的位置所对应的图像帧,因而直接将该图像帧进行显示。
[0064]情形二、所述图像帧不是根据VR设备的当前位置渲染生成的
[0065]该情形下,第一图像处理获取到的共享存储空间中的图像帧不是根据当前位置渲染生成的,即是根据之前的VR位置所生成的,由于第一图像处理单元渲染新的图像帧的频率低于第二图像处理单元显示图像帧的速率,因此当第二图像处理单元想要显示一帧图像时,从共享存储空间中获取到的仍然是之前已经显示过的图像帧,此时如果直接将该图像帧进行显示,则会造成用户在当前时刻看到的图像帧与上一时刻看到的图像帧相同,从而导致出现拖影现象,甚至是会导致用户出现头晕的状况。
[0066]因此,为解决该问题,当第二图像处理单元确定共享存储空间中的图像帧不是根据当前位置渲染生成的,则根据VR设备的当前位置信息和共享存储空间中的图像帧生成中间帧,并将中间帧作为调整后的图像帧。即根据VR设备的当前位置信息和获取到的图像帧,生成一个中间帧,然后将该中间帧作为调整后的图像帧,并对所述调整后的图像帧进行显示,可选地,所述第二图像处理单元根据所述VR设备的当前位置信息和所述共享存储空间中的图像帧生成中间帧,包括:所述第二图像处理单元确定所述VR设备从所述上一位置到所述当前位置的旋转量和平移量,根据所述旋转量和所述平移量对所述图像帧进行旋转和平移操作,得到所述中间帧。
[0067]举例来说,用户在戴上VR设备时,头部当前位置为A,当用户做了一个快速转动头部的动作到达B时,由于用户头部转动过快导致第一图像处理单元来不及将最新一帧图像帧渲染出来,此时第二图像处理单元根据用户的当前位置A以及上一位置B,得到用户(也即VR设备)的旋转量和平移量,从而基于得到的旋转量和平移量对共享存储空间中的图像帧(该图像帧在之前已经显示过至少一次)进行相应的旋转和平移操作,从而得到中间帧。
[0068]由于实际中,一帧图像可能比VR设备的显示屏要大,也可能是与VR设备的显示屏大小相同。
[0069]当一帧图像比VR设备的显示屏大时,则只有部分信息被显示在VR设备上,当生成中间帧时,实际上看到的是图像帧的之前未显示出来的图像信息,例如,在一帧图像中左边位置显示有河流,在中间位置显示有一个人物,在右边位置显示有一只动物,那么在VR设备上可能只会显示看到一个人物,而左边位置的河流和右边位置的动物不会同时显示在VR设备,当通过上述方法生成中间帧时,假如用户头部是转向左侧的话,那么生成的中间帧实际上显示的内容就是河流,如果用户头部转向右侧的话,那么生成的中间帧实际上显示的内容就是动物。即中间帧是基于已有的图像帧进行旋转和平移之后得到的;当一帧图像与VR设备的显示屏大小相等时,那么生成的中间帧可以是上一帧图像的部分内容,然后再填充部分黑色图像,生成一个中间帧。
[0070]可选地,所述第一图像处理单元由第一线程创建,所述第二图像处理单元由第二线程创建;当第一图像处理单元生成图像帧之后,由第一线程通过第一图像处理单元将待显示的图像帧复制至到共享存储空间,以及由第二线程将共享存储空间中的图像帧发送给第二图像处理单元。
[0071]在实际应用中,第一图像处理单元和第二图像处理单位可以是具有图像处理能力的单元,例如可以是一些图像处理软件模块等,可选地,所述第二线程是由所述第一线程创建的;且所述第一图像处理单元为DirectX设备,和/或所述第二图像处理单元为DirectX设备。
[0072]其中,DirectX(Direct extens1n,简称DX)是由微软公司创建的多媒体编程接口。由C++编程语言实现,被广泛使用于电子游戏开发,DirectX是这样一组技术:它们旨在使基于Windows的计算机成为运行和显示具有丰富多媒体元素(例如全色图形、视频、三维动画和丰富音频)的应用程序的理想平台。
[0073]参照图3,为本发明实施例提供的显示方法示意图,其中由第一图像处理单元为一个DirectX设备,包含第一贴图和第二贴图,其中,第二贴图即为上述的共享存储空间;第一图像处理单元将渲染生成的待显示的图像帧存储于第一贴图中,然后由第一线程将第一贴图中的图像帧复制至第二贴图中。
[0074]图3中,由第一线程通过游戏引擎渲染得到图像帧,然后将图像帧输出到DirectX设备中的贴图1(即第一贴图),然后由第一线程将贴图1中的图像帧拷贝至贴图2中(即第二贴图),其中第二贴图即为图1中的共享存储空间,然后由第二线程从贴图2中获取共享的图像帧,发送给第二图像处理单元,由第二图像处理单元将获取到的图像帧在VR设备上显示,或者是经过处理得到中间帧后将中间帧在VR设备上显示。其中,第一贴图和第二贴图都可以理解为一个存储空间,可以存储图像帧。
[0075]此外,在第一线程中的DirectX设备(即第一图像处理单元)与第二线程中的第二DirectX设备(即第二图像处理单元)的版本可以是相同的,也可以是不同的,例如第一线程中的DirectX设备版本为DirectXl I,第二线程中的DirectX设备版本为11,或者是第一线程中的DirectX设备版本为DirectX9,第二线程中的DirectX设备版本为11等等,对此不作限定。
[0076]本发明实施例提供的方法,目标设备中的第一图像处理单元根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间;所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。该方法实现了由第一图像处理单元生成渲染后的图像帧并存储于共享存储空间,然后由第二图像处理单元根据显示时VR设备的当前位置信息对共享空间中的图像帧进行调整,使得VR设备中显示的图像帧与当前位置是对应的,从而不会造成用户因看到的图像帧与上一位置的图像帧相同而导致出现拖影现象及造成眩晕感,因此该方法可实现用户头部快速运动时,也可以看到清晰的图像且不会有眩晕感。
[0077]下面对本发明实施例提供的显示方法做详细描述,如图4所示,为本发明实施例提供的显示方法详细流程图,包括:
[0078]步骤401、目标设备中的第一图像处理单元根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间。
[0079]步骤402、目标设备中的第二图像处理单元根据所述VR设备的当前位置信息,确定所述共享存储空间中的图像帧是否为根据所述当前位置渲染生成的,若是,则转到步骤403,若否,则转到步骤404。
[0080]步骤403、所述第二图像处理单元将所述共享存储空间中的图像帧作为调整后的图像帧。
[0081]步骤404、所述第二图像处理单元确定所述VR设备从上一位置到当前位置的旋转量和平移量,根据所述旋转量和所述平移量对所述图像帧进行旋转和平移操作,得到中间帧,并将所述中间帧作为调整后的图像帧。
[0082]本发明实施例提供的方法,目标设备中的第一图像处理单元根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间;所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。该方法实现了由第一图像处理单元生成渲染后的图像帧并存储于共享存储空间,然后由第二图像处理单元根据显示时VR设备的当前位置信息对共享空间中的图像帧进行调整,使得VR设备中显示的图像帧与当前位置是对应的,从而不会造成用户因看到的图像帧与上一位置的图像帧相同而导致出现拖影现象及造成眩晕感,因此该方法可实现用户头部快速运动时,也可以看到清晰的图像且不会有眩晕感。
[0083]基于相同的技术构思,本发明实施例还提供一种目标设备。本发明实施例提供的目标设备如图5所示,包括:
[0084]第一图像处理单元501,根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间;
[0085]第二图像处理单元502,根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。
[0086]可选地,所述第二图像处理单元502,具体用于:
[0087]根据所述VR设备的当前位置信息,确定所述共享存储空间中的图像帧是否为根据所述当前位置渲染生成的;
[0088]若确定所述共享存储空间中的图像帧是根据所述当前位置渲染生成的,则将所述共享存储空间中的图像帧作为调整后的图像帧;
[0089]若确定所述共享存储空间中的图像帧不是根据所述当前位置渲染生成的,则根据所述VR设备的当前位置信息和所述共享存储空间中的图像帧生成中间帧,并将所述中间帧作为调整后的图像帧。
[0090]可选地,所述第二图像处理单元502,具体用于:
[0091]确定所述VR设备从所述上一位置到所述当前位置的旋转量和平移量,根据所述旋转量和所述平移量对所述图像帧进行旋转和平移操作,得到所述中间帧。
[0092]可选地,所述第一图像处理单元501由第一线程创建,所述第二图像处理单元502由第二线程创建;
[0093]所述第一线程通过所述第一图像处理单元501将所述待显示的图像帧复制至所述共享存储空间;
[0094]所述第二线程将所述共享存储空间中的图像帧发送给所述第二图像处理单元502。
[0095]可选地,所述第一图像处理单元501包括第一贴图和第二贴图,所述第二贴图为所述共享存储空间;
[0096]所述第一图像处理单元501还用于:所述第一线程通过所述第一图像处理单元501将所述待显示的图像帧复制至所述共享存储空间之前,将渲染生成的待显示的图像帧存储于所述第一贴图中;
[0097]所述第一线程具体用于:将所述第一贴图中的所述图像帧复制至所述第二贴图。
[0098]可选地,所述第二线程是由所述第一线程创建的;
[0099]所述第一图像处理单元501为DirectX设备,和/或所述第二图像处理单元502为DirectX 设备。
[0100]本发明实施例,目标设备中的第一图像处理单元根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间;所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。本发明实施例实现了由第一图像处理单元生成渲染后的图像帧并存储于共享存储空间,然后由第二图像处理单元根据显示时VR设备的当前位置信息对共享空间中的图像帧进行调整,使得VR设备中显示的图像帧与当前位置是对应的,从而不会造成用户因看到的图像帧与上一位置的图像帧相同而导致出现拖影现象及造成眩晕感,因此该方法可实现用户头部快速运动时,也可以看到清晰的图像且不会有眩晕感。
[0101]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0102]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0103]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0104]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0105]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【主权项】
1.一种显示方法,其特征在于,包括: 目标设备中的第一图像处理单元根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间; 所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。2.如权利要求1所述的方法,其特征在于,所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,包括: 所述第二图像处理单元根据所述VR设备的当前位置信息,确定所述共享存储空间中的图像帧是否为根据所述当前位置渲染生成的; 若所述第二图像处理单元确定所述共享存储空间中的图像帧是根据所述当前位置渲染生成的,则将所述共享存储空间中的图像帧作为调整后的图像帧; 若所述第二图像处理单元确定所述共享存储空间中的图像帧不是根据所述当前位置渲染生成的,则根据所述VR设备的当前位置信息和所述共享存储空间中的图像帧生成中间帧,并将所述中间帧作为调整后的图像帧。3.如权利要求2所述的方法,其特征在于,所述第二图像处理单元根据所述VR设备的当前位置信息和所述共享存储空间中的图像帧生成中间帧,包括: 所述第二图像处理单元确定所述VR设备从所述上一位置到所述当前位置的旋转量和平移量,根据所述旋转量和所述平移量对所述图像帧进行旋转和平移操作,得到所述中间帧。4.如权利要求1-3中任一项所述的方法,其特征在于,所述第一图像处理单元由第一线程创建,所述第二图像处理单元由第二线程创建; 所述将所述待显示的图像帧复制至共享存储空间,包括: 所述第一线程通过所述第一图像处理单元将所述待显示的图像帧复制至所述共享存储空间; 所述目标设备中的第二图像处理单元根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧之前,还包括: 所述第二线程将所述共享存储空间中的图像帧发送给所述第二图像处理单元。5.如权利要求4所述的方法,其特征在于,所述第一图像处理单元包括第一贴图和第二贴图,所述第二贴图为所述共享存储空间; 所述第一线程通过所述第一图像处理单元将所述待显示的图像帧复制至所述共享存储空间之前,还包括: 所述第一图像处理单元将渲染生成的待显示的图像帧存储于所述第一贴图中; 所述第一线程将所述待显示的图像帧复制至共享存储空间,包括: 所述第一线程将所述第一贴图中的所述图像帧复制至所述第二贴图。6.如权利要求5所述的方法,其特征在于,所述第二线程是由所述第一线程创建的; 所述第一图像处理单元为DirectX设备,和/或所述第二图像处理单元为DirectX设备。7.—种目标设备,其特征在于,包括: 第一图像处理单元,根据获取到的虚拟现实VR设备位置信息,渲染生成待显示的图像帧,并将所述待显示的图像帧复制至共享存储空间; 第二图像处理单元,根据显示时所述VR设备的当前位置信息调整所述共享存储空间中的图像帧,并将调整后的图像帧显示在所述VR设备。8.如权利要求7所述的目标设备,其特征在于,所述第二图像处理单元,具体用于: 根据所述VR设备的当前位置信息,确定所述共享存储空间中的图像帧是否为根据所述当前位置渲染生成的; 若确定所述共享存储空间中的图像帧是根据所述当前位置渲染生成的,则将所述共享存储空间中的图像帧作为调整后的图像帧; 若确定所述共享存储空间中的图像帧不是根据所述当前位置渲染生成的,则根据所述VR设备的当前位置信息和所述共享存储空间中的图像帧生成中间帧,并将所述中间帧作为调整后的图像帧。9.如权利要求8所述的目标设备,其特征在于,所述第二图像处理单元,具体用于: 确定所述VR设备从所述上一位置到所述当前位置的旋转量和平移量,根据所述旋转量和所述平移量对所述图像帧进行旋转和平移操作,得到所述中间帧。10.如权利要求7-9中任一项所述的目标设备,其特征在于,所述第一图像处理单元由第一线程创建,所述第二图像处理单元由第二线程创建; 所述第一线程通过所述第一图像处理单元将所述待显示的图像帧复制至所述共享存储空间; 所述第二线程将所述共享存储空间中的图像帧发送给所述第二图像处理单元。11.如权利要求10所述的目标设备,其特征在于,所述第一图像处理单元包括第一贴图和第二贴图,所述第二贴图为所述共享存储空间; 所述第一图像处理单元还用于:所述第一线程通过所述第一图像处理单元将所述待显示的图像帧复制至所述共享存储空间之前,将渲染生成的待显示的图像帧存储于所述第一贴图中; 所述第一线程具体用于:将所述第一贴图中的所述图像帧复制至所述第二贴图。12.如权利要求11所述的目标设备,其特征在于,所述第二线程是由所述第一线程创建的; 所述第一图像处理单元为DirectX设备,和/或所述第二图像处理单元为DirectX设备。
【文档编号】G06F3/01GK105892683SQ201610285647
【公开日】2016年8月24日
【申请日】2016年4月29日
【发明人】吕铁汉, 孙庆安
【申请人】上海乐相科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1