CN111131806B - 用于展示虚拟物体的方法和装置、以及电子设备 - Google Patents
用于展示虚拟物体的方法和装置、以及电子设备 Download PDFInfo
- Publication number
- CN111131806B CN111131806B CN201911422499.4A CN201911422499A CN111131806B CN 111131806 B CN111131806 B CN 111131806B CN 201911422499 A CN201911422499 A CN 201911422499A CN 111131806 B CN111131806 B CN 111131806B
- Authority
- CN
- China
- Prior art keywords
- pose
- display screen
- image
- virtual object
- line image
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
- G02B27/0172—Head mounted characterised by optical features
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/398—Synchronisation thereof; Control thereof
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
Abstract
本公开提供了一种用于展示虚拟物体的方法。所述虚拟物体的图像被逐行扫描到显示屏上。所述方法包括首先获取在扫描所述虚拟物体的图像的目标行图像时所述显示屏的位姿,得到第一位姿,然后基于所述第一位姿与参考位姿的差异,处理所述当前行图像,最后将处理后的所述当前行图像输出到所述显示屏上。本公开还提供了一种用于展示虚拟物体的装置、以及一种电子设备。
Description
技术领域
本公开涉及一种用于展示虚拟物体的方法和装置、以及一种电子设备。
背景技术
AR(Augmented Reality,增强现实)游戏对显示效果的要求很高,为了带给用户真实感受,虚拟物体的显示必须平稳、不能有畸变。通常在正常使用过程中,用户头戴AR眼镜,平缓地转动头部,可以看到虚拟图像准确地叠加在现实世界中某个物体上。但是在用户快速转头时,虚拟图像会产生果冻效应。其中,果冻效应是指用户看到的图像出现“倾斜”、“摇摆不定”等情况。果冻效应的存在因为诸如OLED显示器等采用逐行扫描方式将虚拟物体的图像输出到的显示屏上,其中当AR眼镜上的显示屏高速运动时,虚拟物体某一帧图像中不同行扫描时对应的显示屏的位姿状态发生了较大变化。这样就会引起用户观看到的虚拟物体明显摆动,使用户的感受大打折扣。
发明内容
本公开的一个方面提供了一种用于展示虚拟物体的方法。所述虚拟物体的图像被逐行扫描到显示屏上。所述方法包括:获取在扫描所述虚拟物体的图像的当前行图像时所述显示屏的位姿,得到第一位姿;基于所述第一位姿与参考位姿的差异,处理所述当前行图像;以及将处理后的所述当前行图像输出到所述显示屏上。
根据本公开的实施例,所述参考位姿被设置为在开始扫描所述虚拟物体的图像时所述显示屏的位姿。
根据本公开的实施例,所述获取在扫描所述虚拟物体的图像的当前行图像时所述显示屏的位姿,得到第一位姿包括:获取在开始扫描所述虚拟物体的图像时所述显示屏的位姿,得到第二位姿;获取在终止扫描所述虚拟物体的图像时所述显示屏的位姿,得到第三位姿;以及基于所述第二位姿、所述第三位姿、以及所述当前行图像在所述图像中的位置,确定所述第一位姿。
根据本公开的实施例,所述获取在扫描所述虚拟物体的图像的当前行图像时所述显示屏的位姿,得到第一位姿还包括:获取开始扫描所述虚拟物体的图像的时刻,得到初始时刻;获取扫描所述虚拟物体的图像所需的总时长;基于所述初始时刻、所述总时长、以及所述当前行图像在所述图像中的位置,确定与所述当前行图像对应的第一时刻;以及确定与所述第一时刻对应的所述显示屏的位姿为所述第一位姿。
根据本公开的实施例,所述基于所述第一位姿与参考位姿的差异,处理所述当前行图像包括:以所述显示屏处于所述参考位姿时所述显示屏所在的平面为基准平面,确定所述显示屏处于所述第一位姿时在所述基准平面内的投影相对于所述显示屏处于所述参考位姿时在所述基准平面内的投影的平面位移和/或平面缩放;以及基于所述平面位移和/或所述平面缩放对所述当前行图像进行平移和/或缩放。
本公开的另一方面提供了一种用于展示虚拟物体的装置,其中,所述虚拟物体的图像被逐行扫描到显示屏上。所述装置包括第一位姿获取模块、行图像处理模块、以及行图像输出模块。第一位姿获取模块用于获取在扫描所述虚拟物体的图像的当前行图像时所述显示屏的位姿,得到第一位姿。行图像处理模块用于基于所述第一位姿与参考位姿的差异,处理所述当前行图像。行图像输出模块用于将处理后的所述当前行图像输出到所述显示屏上。
根据本公开的实施例,所述第一位姿获取模块具体用于:获取在开始扫描所述虚拟物体的图像时所述显示屏的位姿,得到第二位姿;获取在终止扫描所述虚拟物体的图像时所述显示屏的位姿,得到第三位姿;以及基于所述第二位姿、所述第三位姿、以及所述当前行图像在所述图像中的位置,确定所述第一位姿。
根据本公开的实施例,所述第一位姿获取模块还用于:获取开始扫描所述虚拟物体的图像的时刻,得到初始时刻;获取扫描所述虚拟物体的图像所需的总时长;基于所述初始时刻、所述总时长、以及所述当前行图像在所述图像中的位置,确定与所述当前行图像对应的第一时刻;以及确定与所述第一时刻对应的所述显示屏的位姿为所述第一位姿。
根据本公开的实施例,所述行图像处理模块还用于:以所述显示屏处于所述参考位姿时所述显示屏所在的平面为基准平面,确定所述显示屏处于所述第一位姿时在所述基准平面内的投影相对于所述显示屏处于所述参考位姿时在所述基准平面内的投影的平面位移和/或平面缩放;以及基于所述平面位移和/或所述平面缩放对所述当前行图像进行平移和/或缩放。
本公开的另一方面提供了一种电子设备。所述包括显示屏、存储器以及处理器。所述显示屏用于输出图像。所述存储器上存储有计算机可执行指令。所述处理器耦接至所述存储器,其中,所述处理器执行所述指令以实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的电子设备的应用场景;
图2示意性示出了根据本公开实施例的用于展示虚拟物体的方法的流程图;
图3示意性示出了根据本公开实施例的用于展示虚拟物体的方法中处理当前行图像的方法流程;
图4示意性示出了根据本公开实施例的用于展示虚拟物体的方法的构思示意;
图5示意性示出了根据本公开实施例的用于展示虚拟物体的方法中获取第一位姿的方法流程;
图6示意性示出了根据本公开另一实施例的用于展示虚拟物体的方法中获取第一位姿的方法流程;
图7示意性示出了在显示屏中逐行扫描虚拟物体的每一帧图像的示例;
图8示意性示出了根据本公开实施例的根据本公开实施例的用于展示虚拟物体的装置的框图;以及
图9示意性示出了根据本公开实施例的电子设备的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种用于展示虚拟物体的方法和装置、以及相应的电子设备。虚拟物体的图像被逐行扫描到显示屏上。该方法包括首先获取在扫描虚拟物体的图像的当前行图像时显示屏的位姿,得到第一位姿,然后基于第一位姿与参考位姿的差异,处理当前行图像,最后将处理后的当前行图像输出到显示屏上。
根据本公开的实施例,对于通过显示器扫描并输出到显示器的屏幕(即显示屏)上的当前行图像,在输出至显示屏之前进行软件补偿处理,以此方式来弱化甚至消除果冻效应,提高用户体验。
图1示意性示出了根据本公开实施例的电子设备100的应用场景。
如图1所示,电子设备100为AR增强现实眼镜(简称AR眼镜)。用户1可以佩戴该AR眼镜100观看到空间中的虚拟物体2(例如,汽车)。
虚拟物体2通过AR眼镜100呈现给用户1的原理具体大致是:AR眼镜100的显示器将虚拟物体2的图像逐行扫描到显示屏101上,然后利用AR眼镜100的光学系统将位于显示屏101上到的虚拟物体2的图像映射到用户1的眼球,使用户1感知到虚拟物体2位于如图所示的空间中。其中,AR眼镜100的显示器包括了显示屏101以及用于图像处理的芯片组集成电路。AR眼镜100的显示器例如可以是OLED显示器。
相关技术中,当用户1佩戴该AR眼镜100快速移动时,用户1观察到的虚拟物体2可能出现“倾斜”、“摇摆不定”等果冻效应。
在一些解决方案中,可以通过提高显示屏101上显示各帧图像的刷新频率,来弱化或规避果冻效应带来的显示问题。然而这种解决方案的缺点是对显示器功耗有额外要求,尤其是对于高分辨率显示器而言,提高显示屏的刷新屏频率意味着更高的功耗,而且对CPU性能更高的要求。
本公开的各个实施例提供了一种可以弱化甚至规避果冻效应带来的显示问题的解决方案。根据本公开的各个实施例,可以通过软件补偿的方式,在逐行扫描一帧图像的每一行时,当用户1佩戴AR眼镜100快速移动引起显示屏101的位姿发生变化时,根据每一行图像对应的显示屏101的位姿变化情况对每一行图像进行处理(例如,平移、或缩放),然后将处理后的行图像再输出到显示屏101上。
以此方式,本公开的各个实施例,从AR眼镜100的显示器逐行扫描的技术原理出发,对要扫描到显示屏101上的每一行图像根据显示屏101的位姿变化情况进行补偿和处理,从而基本可以不增加CPU额外负担,也可以不提高显示刷新率,而通过巧妙的使用软件补偿方案,有效地弱化甚至规避果冻效应带来的显示问题。
需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
以下以图1的应用场景为例,结合图2~图7对本公开实施的用于展示虚拟物体的方法进行示例性说明。
图2示意性示出了根据本公开实施例的用于展示虚拟物体的方法的流程图。
如图2所示,该用于展示虚拟物体的方法可以包括操作S210~操作S230。
在操作S210,获取在扫描虚拟物体2的图像的当前行图像时显示屏101的位姿,得到第一位姿。
当前行图像可以是虚拟物体2的图像中的任意一行图像,例如是AR眼镜100的显示器正在扫描并即将输出到显示屏101上的图像。
显示屏101的位姿可以包括显示屏101在空间的的位置以及朝向。其中,显示屏101在空间的的位置可以通过显示屏101中的任意一个点(例如,显示屏101的中心点、或者任意一个角点)的位置坐标来确定。例如,在空间直角坐标系下,可以通过(x,y,z)三维坐标来定位显示屏101的位置。另外显示屏101的朝向可以通过显示屏101所在的平面与空间直角坐标系中三个轴的夹角来确定。在一个实施例中,显示屏101的位姿也可以通过AR眼镜100的位姿(即,AR眼镜100在空间的位置和朝向)来确定。
根据本公开的实施例,操作S210中获取第一位姿的手段可以多种多样。例如,可以利用传感器(例如,陀螺仪、加速度计等)实时获取显示屏101的位姿。又例如,可以根据显示屏101在开始扫描虚拟物体2的图像时的初始位姿、以及显示屏101的运动参数(加速度、角加速度等)等来计算(或预测)当前行图像对应的第一位姿。比如,根据初始位姿和显示屏101的运动参数、扫描每帧图像的总时长、以及一帧图像中的总行数,计算出扫描每一行图像时的位姿,进而当确定出当前行图像在虚拟物体2的图像中的位置时,就可以计算得到当前行图像对应的第一位姿。再或者,可以将每一行图像与扫描该行图像的时刻进行一对一映射,并将扫描每一行的时刻与每一行的位姿对应起来,然后当到达扫描当前行图像的时刻时,对应得到该时刻对应的显示屏101的位姿。
在操作S220,基于第一位姿与参考位姿的差异,处理当前行图像。
参考位姿可以是预先设定的用于度量显示屏101的位姿变化情况的位姿。根据本公开的一个实施例,参考位姿被设置为在开始扫描虚拟物体2的图像时显示屏101的位姿。由于显示屏101的刷新频率比较高,通常可以认为每一行图像是对应的时刻瞬间扫描完成的。因此,开始扫描虚拟物体2的图像时显示屏101的位姿,也可以视为扫描虚拟物体2的第一行图像时的位姿。
在操作S230,将处理后的当前行图像输出到显示屏101上。
根据当前行图像对应的显示屏101的位姿相对于参考位姿的变化情况,可以对当前行图像进行处理(例如,平移、或缩放),目的是使当前行图像输出到显示屏101上后该当前行图像相对于已经输出至显示屏101上的在先行图像的相对位置、与在设计情况下不考虑显示屏101的移动时各个行图像的相对位置基本保持一致。从而基本上可以不增加CPU负担,也可以不提高显示刷新率,而通过巧妙的使用软件补偿方案,有效地弱化甚至规避果冻效应带来的显示问题。
图3示意性示出了根据本公开实施例的用于展示虚拟物体的方法中处理当前行图像的方法流程。
如图3所示,根据本公开的实施例操作S220可以包括操作S301和操作S302。
在操作S301,以显示屏101处于参考位姿时显示屏101所在的平面为基准平面,确定显示屏101处于第一位姿时在基准平面内的投影相对于显示屏101处于参考位姿时在基准平面内的投影的平面位移和/或平面缩放。
在操作S302,基于平面位移和/或平面缩放对当前行图像进行平移和/或缩放。
例如,若显示屏101发生沿显示屏101所在平面位移时,对当前行图像进行平移。再例如,若显示屏101发生垂直于显示屏101所在平面的前后移动时,以距离虚拟物体2近大远小的成像原理,将移动后的显示屏101投影到基准平面,就可以获得显示屏101前后移动后引起的缩放程度,基于该缩放程度对当前行图像可以进行整体缩放。又例如,若显示屏101发生在显示屏101所在平面内的平面旋转(例如,用户左右转动头部),此时根据平面旋转量可以对当前行图像进行相应的平面旋转。又例如,用户抬头或低头导致显示屏101发生向上或向下的转动时,可以将转动后的显示屏101投影到基准平面后,根据投影相对于参考位姿下显示屏101的在长、宽两个方向上各自的缩放程度,对当前行图像在长和宽两个方向上分别进行缩放。
图4示意性示出了根据本公开实施例的用于展示虚拟物体的方法的构思示意。可以理解图4仅是示例性的,用于帮助理解对当前行图像进行处理的技术原理以及实现效果。
如图4所示,针对虚拟物体2的某一帧图像40中的各个行图像41~4f,分别基于扫描各个行图像时的位姿与参考位姿形成的差异411~41f,进行处理后再输出到显示屏101上。其中,显示屏101在时刻t1~tf的不同时刻的位姿不同。
具体地,以显示屏101的左下角的位置来定位显示屏101的空间位置,假设从时刻t1~tf显示屏101仅发生了平面平移。显示屏101在时刻t1位于(0,0),在时刻t2位于(x1,y1),在时刻tn位于(xn,yn),以及在时刻tf位于(xf,yf)。
其中,第一行图像41在时刻t1扫描到显示屏101上,第二行图像42在时刻t2扫描到显示屏101上,第n行图像4n在时刻tn扫描到显示屏101上,以及最后一行图像4f在时刻tf扫描到显示屏101上。
假设当前时刻为t2,当前行图像为第二行图像42,在时刻t2要将第二行图像42扫描并到显示屏101上,在此之前第一行图像41已经在时刻t1扫描到了显示屏101中。
从时刻t1到时刻t2,第一行图像41也随着显示屏101的移动发生了移动。具体地,第一行图像随显示屏101在x轴方向移动了x2-0的距离,在y轴方向移动了y2-0的距离。此时如果还以(0,0)为参考点输出第二行图像42时,第二行图像42的就会成像在图中虚线框42V所指示的位置,这会导致在显示屏101上第二行图像42与第一行图像41无法对齐,因此,就会导致用户观看到的虚拟物体2出现摇摆或扭曲,产生果冻效应。
根据本公开的实施例,在第二行图像42输出到显示屏101之前,根据差异412对第二行图像进行平移。具体地,可以将第二行图像42在x轴上移动x2的距离,在y轴上移动y2的距离,然后输出到显示屏101上,就可以得到图4中实线所示出的时刻t2下显示屏101上的成像效果,
对于其他行图像4n~4f均以类似的方式处理,从而获得在时刻tn~tf显示屏101上呈现的图像效果。其中,显示屏101上所呈现的图像中各个行图像的相对位置与图像40中各行图像4n~4f的相对位置保持一致,从而使得用户在透过AR眼镜100看到的虚拟物体2基本保持稳定。
图5示意性示出了根据本公开实施例的用于展示虚拟物体的方法中获取第一位姿的方法流程。
如图5所示,根据本公开的实施例该用于展示虚拟物体的方法中操作S210可以包括操作S501~操作S503。
在操作S501,获取在开始扫描虚拟物体2的图像时显示屏101的位姿,得到第二位姿。由于显示屏101的刷新频率比较高,通常可以认为每一行图像是对应的时刻瞬间扫描完成的,开始扫描虚拟物体2的图像时显示屏101的位姿,也可以视为扫描虚拟物体2的第一行图像时的位姿。
在操作S502,获取在终止扫描虚拟物体2的图像时显示屏101的位姿,得到第三位姿。例如,基于第二位姿、运动参数(加速度、角加速度等、以及显示屏101的刷新频率,计算在终止扫描图像时显示屏101的位姿。其中,终止扫描图像时显示屏101的位姿,也可以视为扫描虚拟物体2的最后一行图像时的位姿。
在操作S503,基于第二位姿、第三位姿、以及当前行图像在图像中的位置,确定第一位姿。例如,可以根据扫描虚拟物体2的第一行图像时的位姿、扫描最后一行的位姿、以及当前行图像在图像中的位置,按照线性差值等方法,计算在扫描当前行图像的时刻显示屏101的位姿。
图6示意性示出了根据本公开另一实施例的用于展示虚拟物体的方法中获取第一位姿的方法流程。
如图6所示,根据本公开的实施例该用于展示虚拟物体的方法中操作S210除了包括操作S501~操作S503以外,还可以包括操作S604~操作S607。
在操作S604,获取开始扫描虚拟物体2的图像的时刻,得到初始时刻。
在操作S605,获取扫描虚拟物体2的图像所需的总时长。
在操作S606,基于初始时刻、总时长、以及当前行图像在图像中的位置,确定与当前行图像对应的第一时刻;以及
在操作S607,确定与第一时刻对应的显示屏101的位姿为第一位姿。
在一个实施例中,可以基于初始时刻、总时长、以及每一个行图像在虚拟物体2的图像中的位置,计算扫描每一个行图像的时刻,然后可以将每一行图像与扫描该行图像的时刻进行一对一映射,进而将扫描每一行的时刻与每一行的位姿对应起来。这样当到达当前行图像对应的第一时刻时后,根据第一行时刻就可以快速对应出第一位姿。
图7示意性示出了在显示屏101中逐行扫描虚拟物体的每一帧图像的示例。
如图7所示,虚拟物体2的图像逐帧刷新展示在显示屏101上。其中显示屏101的刷新频率例如为60Hz,即1s内显示屏101可展示60帧图像。
对于每一帧图像(以第N帧图像为例进行说明),AR眼镜100的显示器逐行将第N帧图像的每一行扫描到显示屏101上。刷新频率为60Hz时,扫描一帧的时间为16.6ms。另外对每一帧图像采用逐行扫描的方式输出,在一帧中每一行的扫描时间是均等的,并且由于扫描每一行的时间非常短暂,可以认为是在对应的时刻瞬间完成扫描,那么扫描第N帧中图像第m行图像的时刻为
tm=t1+(m-1)*16.6/Z
其中,
t1是扫描第一行图像的时刻,也是开始扫描该第N帧图像的时刻。Z是该第N帧中的行图像的总个数,即显示器扫描完Z行后才可以将第N帧图像完整地展示在显示屏101中。
根据本公开的实施例,可以根据扫描每一行图像的时刻显示屏101的位姿,计算相对于参考位姿时的差异,计算对每一行图像在x、y方向平移量或者缩放程度,然后候每一行图像转换成新的图像。其中,扫描每一行图像的时刻显示屏101的位姿的计算,可以是基于显示屏101扫描第一行图像时的位姿、扫描最后一行图像时的位姿,采用线性差值计算得到。
以此方式,根据本公开的实施例,从显示器逐行扫描输出图像的技术原理出发,在显示器进行扫描当前行图像之后、在当前行图像输出的显示屏101之前,使用软件补偿的方式对当前行图像进行处理,使得最终输出到显示屏101上的虚拟物体2的图像能够与设计预期基本保持一致,从而使用户透过显示屏101观看到的虚拟物体2形态稳定,有效地弱化甚至规避果冻效应带来的显示问题。
图8示意性示出了根据本公开实施例的根据本公开实施例的用于展示虚拟物体的装置800的框图。
如图8所示,根据本公开的实施例该装置800可以包括第一位姿获取模块810、行图像处理模块820、以及行图像输出模块830。根据本公开的实施例,该装置800可以用于执行参考图2~图7所描述的方法。
第一位姿获取模块810用于获取在扫描虚拟物体2的图像的当前行图像时显示屏101的位姿,得到第一位姿。
根据本公开的实施例,第一位姿获取模块810具体用于:获取在开始扫描虚拟物体2的图像时显示屏101的位姿,得到第二位姿;获取在终止扫描虚拟物体2的图像时显示屏101的位姿,得到第三位姿;以及基于第二位姿、第三位姿、以及当前行图像在图像中的位置,确定第一位姿。
根据本公开的实施例,第一位姿获取模块810还用于:获取开始扫描虚拟物体2的图像的时刻,得到初始时刻;获取扫描虚拟物体2的图像所需的总时长;基于初始时刻、总时长、以及当前行图像在图像中的位置,确定与当前行图像对应的第一时刻;以及确定与第一时刻对应的显示屏101的位姿为第一位姿。
行图像处理模块820用于基于第一位姿与参考位姿的差异,处理当前行图像。行图像输出模块830用于将处理后的当前行图像输出到显示屏101上。
根据本公开的实施例,行图像处理模块820还用于:以显示屏101处于参考位姿时显示屏101所在的平面为基准平面,确定显示屏101处于第一位姿时在基准平面内的投影相对于显示屏101处于参考位姿时在基准平面内的投影的平面位移和/或平面缩放;以及基于平面位移和/或平面缩放对当前行图像进行平移和/或缩放。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一位姿获取模块810、行图像处理模块820、以及行图像输出模块830中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一位姿获取模块810、行图像处理模块820、以及行图像输出模块830中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一位姿获取模块810、行图像处理模块820、以及行图像输出模块830中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图9示意性示出了根据本公开实施例的电子设备900的结构框图。图9示出的电子设备900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900包括处理器910、计算机可读存储介质920、以及显示屏930。该电子设备900可以执行根据本公开实施例的方法。电子设备100为电子设备900的一个具体实施例。
具体地,处理器910例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器910还可以包括用于缓存用途的板载存储器。处理器910可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质920,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质920可以包括计算机程序921,该计算机程序921可以包括代码/计算机可执行指令,其在由处理器910执行时使得处理器910执行根据本公开实施例的方法或其任何变形。
计算机程序921可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序921中的代码可以包括一个或多个程序模块,例如包括921A、模块921B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器910执行时,使得处理器910可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,处理器910可以与显示屏930进行交互,来执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,第一位姿获取模块810、行图像处理模块820、以及行图像输出模块830中的至少一个可以实现为参考图9描述的计算机程序模块,其在被处理器910执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征在不冲突的情况下可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (8)
1.一种用于展示虚拟物体的方法,其中,所述虚拟物体的图像被逐行扫描到显示屏上,所述方法包括:
获取在扫描所述虚拟物体的图像的当前行图像时所述显示屏的位姿,得到第一位姿;
基于所述第一位姿与参考位姿的差异,处理所述当前行图像,包括以所述显示屏处于所述参考位姿时所述显示屏所在的平面为基准平面,确定所述显示屏处于所述第一位姿时在所述基准平面内的投影相对于所述显示屏处于所述参考位姿时在所述基准平面内的投影的平面位移和/或平面缩放;以及基于所述平面位移和/或所述平面缩放对所述当前行图像进行平移和/或缩放;以及
将处理后的所述当前行图像输出到所述显示屏上。
2.根据权利要求1所述的方法,其中,所述参考位姿被设置为在开始扫描所述虚拟物体的图像时所述显示屏的位姿。
3.根据权利要求1所述的方法,其中,所述获取在扫描所述虚拟物体的图像的当前行图像时所述显示屏的位姿,得到第一位姿包括:
获取在开始扫描所述虚拟物体的图像时所述显示屏的位姿,得到第二位姿;
获取在终止扫描所述虚拟物体的图像时所述显示屏的位姿,得到第三位姿;以及
基于所述第二位姿、所述第三位姿、以及所述当前行图像在所述图像中的位置,确定所述第一位姿。
4.根据权利要求3所述的方法,其中,所述获取在扫描所述虚拟物体的图像的当前行图像时所述显示屏的位姿,得到第一位姿,还包括:
获取开始扫描所述虚拟物体的图像的时刻,得到初始时刻;
获取扫描所述虚拟物体的图像所需的总时长;
基于所述初始时刻、所述总时长、以及所述当前行图像在所述图像中的位置,确定与所述当前行图像对应的第一时刻;以及
确定与所述第一时刻对应的所述显示屏的位姿为所述第一位姿。
5.一种用于展示虚拟物体的装置,其中,所述虚拟物体的图像被逐行扫描到显示屏上,所述装置包括:
第一位姿获取模块,用于获取在扫描所述虚拟物体的图像的当前行图像时所述显示屏的位姿,得到第一位姿;
行图像处理模块,用于基于所述第一位姿与参考位姿的差异,处理所述当前行图像,包括以所述显示屏处于所述参考位姿时所述显示屏所在的平面为基准平面,确定所述显示屏处于所述第一位姿时在所述基准平面内的投影相对于所述显示屏处于所述参考位姿时在所述基准平面内的投影的平面位移和/或平面缩放;以及基于所述平面位移和/或所述平面缩放对所述当前行图像进行平移和/或缩放;以及
行图像输出模块,用于将处理后的所述当前行图像输出到所述显示屏上。
6.根据权利要求5所述的装置,其中,所述第一位姿获取模块具体用于:
获取在开始扫描所述虚拟物体的图像时所述显示屏的位姿,得到第二位姿;
获取在终止扫描所述虚拟物体的图像时所述显示屏的位姿,得到第三位姿;以及
基于所述第二位姿、所述第三位姿、以及所述当前行图像在所述图像中的位置,确定所述第一位姿。
7.根据权利要求6所述的装置,其中,所述第一位姿获取模块还用于:
获取开始扫描所述虚拟物体的图像的时刻,得到初始时刻;
获取扫描所述虚拟物体的图像所需的总时长;
基于所述初始时刻、所述总时长、以及所述当前行图像在所述图像中的位置,确定与所述当前行图像对应的第一时刻;以及
确定与所述第一时刻对应的所述显示屏的位姿为所述第一位姿。
8.一种电子设备,包括:
显示屏,用于输出图像;
存储器,其上存储有计算机可执行指令;以及
处理器,耦接至所述存储器,其中,所述处理器执行所述指令以实现根据权利要求1~4任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911422499.4A CN111131806B (zh) | 2019-12-30 | 2019-12-30 | 用于展示虚拟物体的方法和装置、以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911422499.4A CN111131806B (zh) | 2019-12-30 | 2019-12-30 | 用于展示虚拟物体的方法和装置、以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131806A CN111131806A (zh) | 2020-05-08 |
CN111131806B true CN111131806B (zh) | 2021-05-18 |
Family
ID=70507062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911422499.4A Active CN111131806B (zh) | 2019-12-30 | 2019-12-30 | 用于展示虚拟物体的方法和装置、以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131806B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112132940A (zh) * | 2020-09-16 | 2020-12-25 | 北京市商汤科技开发有限公司 | 显示方法、装置,显示设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101684A (zh) * | 2016-06-30 | 2016-11-09 | 深圳市虚拟现实科技有限公司 | 远程全景图像实时传输和流畅显示的方法 |
CN106782260A (zh) * | 2016-12-06 | 2017-05-31 | 歌尔科技有限公司 | 用于虚拟现实运动场景的显示方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102021857B1 (ko) * | 2013-07-23 | 2019-09-17 | 엘지전자 주식회사 | 이동 단말기 및 그의 파노라마 촬영방법 |
CN106203279B (zh) * | 2016-06-28 | 2019-05-28 | Oppo广东移动通信有限公司 | 一种增强现实中目标对象的识别方法、装置及移动终端 |
-
2019
- 2019-12-30 CN CN201911422499.4A patent/CN111131806B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101684A (zh) * | 2016-06-30 | 2016-11-09 | 深圳市虚拟现实科技有限公司 | 远程全景图像实时传输和流畅显示的方法 |
CN106782260A (zh) * | 2016-12-06 | 2017-05-31 | 歌尔科技有限公司 | 用于虚拟现实运动场景的显示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111131806A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10083538B2 (en) | Variable resolution virtual reality display system | |
US9240069B1 (en) | Low-latency virtual reality display system | |
US9595083B1 (en) | Method and apparatus for image producing with predictions of future positions | |
US20170132806A1 (en) | System and method for augmented reality and virtual reality applications | |
JP2019506015A (ja) | ピクセル速度を用いた電子ディスプレイ安定化 | |
JP2018525693A (ja) | ヘッドマウントディスプレイの電子ディスプレイ安定化 | |
US20110285622A1 (en) | Rendition of 3d content on a handheld device | |
US20190102934A1 (en) | Shadows for inserted content | |
EP3830632A1 (en) | Prediction and throttling adjustments based on application rendering performance | |
BR112016010442B1 (pt) | Aparelho e método de geração de imagem, e, unidade de armazenamento | |
KR20170102585A (ko) | 헤드 마운트 디스플레이를 위한 예측적 트래킹에 기반한 인식 | |
US9030478B2 (en) | Three-dimensional graphics clipping method, three-dimensional graphics displaying method, and graphics processing apparatus using the same | |
CN113272715A (zh) | 基于眼睛跟踪的动态渲染时间确定 | |
TWI758869B (zh) | 互動對象的驅動方法、裝置、設備以及電腦可讀儲存介質 | |
WO2020003860A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN112166397A (zh) | 用于加速头戴式显示器的位置跟踪的装置、系统和方法 | |
EP3662662A1 (en) | Parallax viewer system for 3d content | |
US11276143B2 (en) | Error concealment for a head-mountable device | |
US20210377515A1 (en) | Information processing device, information processing method, and program | |
CN110214300B (zh) | 相位对准的凹形渲染 | |
CN111131806B (zh) | 用于展示虚拟物体的方法和装置、以及电子设备 | |
CN110969706B (zh) | 增强现实设备及其图像处理方法、系统以及存储介质 | |
Kijima et al. | Reflex hmd to compensate lag and correction of derivative deformation | |
US20200134771A1 (en) | Image processing method, chip, processor, system, and mobile device | |
US10719124B2 (en) | Tracking system, tracking method for real-time rendering an image and non-transitory computer-readable medium |
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 |