数据处理方法、装置、终端设备及存储介质与流程

文档序号:20078920发布日期:2020-03-10 10:14阅读:131来源:国知局
数据处理方法、装置、终端设备及存储介质与流程

本申请涉及显示技术领域,更具体地,涉及一种数据处理方法、装置、终端设备及存储介质。



背景技术:

近年来,随着科技的进步,增强现实(ar,augmentedreality)等技术已逐渐成为国内外研究的热点,增强现实是通过计算机系统提供的信息增加用户对现实世界感知的技术,其将计算机生成的虚拟对象、场景或系统提示信息等内容对象叠加到真实场景中,来增强或修改对现实世界环境或表示现实世界环境的数据的感知。

终端设备在将虚拟内容叠加到真实场景中时,需要进行空间坐标系之间的转换,以得到虚拟内容的显示坐标将虚拟内容进行显示。但是目前对于空间坐标系之间的转换的转换参数的获取方法较为复杂,给研发人员带来了困扰。



技术实现要素:

本申请实施例提出了一种数据处理方法、装置、终端设备及存储介质,可以较为方便的实现空间坐标系之间的转换参数的获取。

第一方面,本申请实施例提供了一种数据处理方法,应用于终端设备,所述方法包括:显示虚拟标记物;在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标,其中,所述对齐确定操作用于表征所述虚拟标记物与所述实体标记物对齐,所述虚拟标记物与所述实体标记物对应;获取所述虚拟标记物在第二空间坐标系中的第二坐标;基于所述实体标记物的第一坐标,以及与所述实体标记物对应的虚拟标记物的第二坐标,获取所述第一空间坐标系与所述第二空间坐标系之间的转换参数。

第二方面,本申请实施例提供了一种数据处理装置,应用于终端设备,所述装置包括:标记物显示模块、第一坐标获取模块、第二坐标获取模块以及转换参数获取模块,其中,所述标记物显示模块用于显示虚拟标记物;所述第一坐标获取模块用于在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标,其中,所述对齐确定操作用于表征所述虚拟标记物与所述实体标记物对齐,所述虚拟标记物与所述实体标记物对应;所述第二坐标获取模块用于获取所述虚拟标记物在第二空间坐标系中的第二坐标;所述转换参数获取模块用于基于所述实体标记物的第一坐标,以及与所述实体标记物对应的虚拟标记物的第二坐标,获取所述第一空间坐标系与所述第二空间坐标系之间的转换参数。

第三方面,本申请实施例提供了一种终端设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的数据处理方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的数据处理方法。

本申请提供的方案,通过显示虚拟标记物,在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标,其中,该对齐确定操作用于表征虚拟标记物与实体标记物对齐,虚拟标记物与实体标记物对应,然后获取虚拟标记物在第二空间坐标系中的第二坐标,最后基于实体标记物的第一坐标,以及与实体标记物对应的虚拟标记物的第二坐标,获取第一空间坐标系与第二空间坐标系之间的转换参数,从而可以较为方便的实现空间坐标系之间的转换参数的获取。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了一种适用于本申请实施例的应用场景的示意图。

图2示出了本申请实施例提供的一种场景示意图。

图3示出了本申请实施例提供的另一种场景示意图。

图4示出了本申请实施例提供的又一种场景示意图。

图5示出了根据本申请一个实施例的数据处理方法流程图。

图6示出了根据本申请实施例提供的一种使用场景的示意图。

图7示出了根据本申请实施例提供的另一种使用场景的示意图。

图8示出了根据本申请实施例的数据处理方法中步骤s140的流程图。

图9示出了根据本申请另一个实施例的数据处理方法流程图。

图10示出了根据本申请实施例提供的一种显示效果示意图。

图11示出了根据本申请又一个实施例的数据处理方法流程图。

图12示出了根据本申请一个实施例的数据处理装置的框图。

图13是本申请实施例的用于执行根据本申请实施例的数据处理方法的终端设备的框图。

图14是本申请实施例的用于保存或者携带实现根据本申请实施例的数据处理方法的程序代码的存储单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

下面对本申请实施例提供的数据处理方法的应用场景进行介绍。

请参见图1,示出了本申请实施例提供的数据处理方法的应用场景的示意图,该应用场景包括显示系统10。该显示系统10包括:终端设备100以及标记物200。

在本申请实施例中,终端设备100可以是头戴显示装置,也可以是手机、平板等移动设备。终端设备100为头戴显示装置时,头戴显示装置可以为一体式头戴显示装置。终端设备100也可以是与外接式头戴显示装置连接的手机等智能终端,即终端设备100可作为头戴显示装置的处理和存储设备,插入或者接入外接式头戴显示装置,在头戴显示装置中对虚拟内容进行显示。

在本申请实施例中,当上述标记物200处于终端设备100的视野范围内时,终端设备100可采集到包含上述标记物200的图像,且可以识别采集到的标记物200的图像,得到该标记物200的位置、朝向等空间位置信息,以及标记物200的身份信息等识别结果。可以理解地,具体的标记物200在本申请实施例中并不作为限定,仅需可以被终端设备识别追踪即可。

在本申请实施例中,上述头戴显示装置可以包括第一光学镜片以及第二光学镜片。其中,第一光学镜片用于将终端设备100发出的光射向左眼的观察位置,以将左眼对应的显示内容入射至用户左眼;第二光学镜片用于将终端设备100发出的光射向右眼的观察位置,以将右眼对应的显示内容入射至用户右眼,从而实现立体显示。

在本申请实施例中,请参阅图2,可通过显示的虚拟标记物与实体标记物306对齐时,利用跟踪相机301识别到的实体标记物306在现实空间中的坐标系的坐标,以及虚拟标记物在虚拟空间中的坐标系的坐标,得到现实空间中的坐标系与该虚拟空间中的坐标系之间的转换参数。

由于光学镜片的原因会使显示的图像形成虚像后会产生畸变,因此可以对显示的图像进行预畸变后进行显示,达到畸变校正的效果。例如,如图3所示,正常无畸变的实像311在经过光学镜片的显示后形成畸变后的虚像312,可以先获取无畸变的虚像314,并对无畸变的虚像314进行预畸变,得到用于显示的预畸变图像313,然后再将预畸变图像313进行显示,预畸变图像313通过光学镜片的光学畸变作用后,可形成无畸变的虚像314。

请参阅图4,在进行虚拟内容与实体内容的对齐的立体显示时,可以通过跟踪相机301识别设置有标记物的跟踪目标,得到跟踪目标在现实空间中以跟踪相机301为原点的坐标系中的坐标,再进行坐标转换,根据上述现实空间中的坐标系与该虚拟空间中的坐标系之间的转换参数,将跟踪目标在现实空间中的坐标系中的坐标,转换为虚拟空间中以虚拟相机304为坐标原点的坐标系中的渲染坐标;根据渲染坐标生成左眼显示图像以及右眼显示图像,将左眼显示图像进行左眼预畸变,得到左眼预畸变图像,将右眼显示图像进行右眼预畸变,得到右眼预畸变图像,左眼预畸变图像以及右眼预畸变图像经过显示屏303显示后,经过光学镜片302投射到人眼,形成无畸变的左眼虚像以及无畸变的右眼虚像,经过用户大脑的融合,则可以形成立体图像。从而实现虚拟内容与实体内容的对齐显示、立体显示以及无畸变显示。

下面对本申请实施例的内容进行详细介绍。

请参阅图5,本申请实施例提供了一种数据处理方法,可应用于终端设备,该方法可以包括:

步骤s110:显示虚拟标记物。

在本申请实施例中,在获取空间坐标系之间的转换参数时,可以对虚拟标记物进行显示,另外,可以设置有实体标记物于真实场景中,且实体标记物处于终端设备的视野范围内,以用于后续实现虚拟标记物与实体标记物的对齐显示。其中,终端设备的视野范围指终端设备的图像采集装置的视野范围,图像采集装置的视野范围可以由视场角的大小决定。

其中,虚拟标记物可以预先存储于终端设备中,虚拟标记物与实体标记物相同,即虚拟标记物的图案与实体标记物的形状及大小相同。

虚拟标记物在显示时,虚拟标记物对应的左眼内容投射至左眼光学镜片,并经由左眼光学镜片反射至用户的左眼,虚拟标记物对应的右眼内容投射至左眼光学镜片,并经由右眼光学镜片反射至用户的右眼,实现虚拟标记物的立体显示,当用户察看显示的虚拟标记物时,可以察看到虚拟标记物叠加到实体标记物所处的真实场景中。

步骤s120:在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标,其中,对齐确定操作用于表征虚拟标记物与实体标记物对齐,虚拟标记物与实体标记物对应。

在将虚拟标记物进行显示后,用户可以察看到虚拟标记物叠加到实体标记物所处的真实场景中,此时虚拟空间中虚拟标记物与实体标记物可能处于未对齐的情况,例如图6所示,实体标记物500与虚拟标记物600未对齐;虚拟标记物与实体标记物也可能处于对齐的情况,例如图7所示,实体标记物500与虚拟标记物600对齐。其中,对齐是指虚拟标记物与实体标记物在虚拟空间中的位置完全相同,也可以理解为在用户的视觉感知中虚拟标记物与实体标记物是重叠在一起的。

当用户观察到虚拟标记物与实体标记物未对齐时,则可以移动实体标记物的位置,直至观察到虚拟标记物与实体标记物对齐,于终端设备做出对齐确定操作。

当用户观察到虚拟标记物与实体标记物对齐时,则可以于终端设备做出对齐确定操作,该对齐确定操作用于表征虚拟标记物与实体标记物对齐,此时即实现了虚拟标记物对齐于实体标记物的显示。

在本申请实施例中,上述对齐确定操作可以是通过终端设备的按键或者触控屏做出的操作,也可以是通过与终端设备连接的控制器做出的操作,当然,具体的操作方式在本申请实施例中可以不作为限定。

终端设备可以检测到用户做出的对齐确定操作,确定出此时虚拟标记物与实体标记物对齐,以根据当前实体标记物在现实空间中第一空间坐标系中的坐标以及当前显示的虚拟对象在虚拟空间中的第二空间坐标系的坐标,确定第一空间坐标系与第二空间坐标系之间的转换参数。

在本申请实施例中,第一空间坐标系为现实空间中以跟踪摄像头为原点的空间坐标系,第二空间坐标系为虚拟空间中以虚拟摄像头为原点的空间坐标系。其中,跟踪摄像头是指终端设备的图像采集装置,虚拟摄像头为3d软件系统中用于模拟人眼视角的摄像头。根据虚拟摄像头运动(即头部运动)的变化,跟踪虚拟空间中虚拟物体的运动变化,通过渲染,投射到光学镜片上实现立体显示。

在本申请实施例中,可以在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标。

其中,实体标记物可以包括至少一个子标记物,子标记物可以是具有一定形状的图案。在一个实施例中,每个子标记物可具有一个或多个特征点,其中,特征点的形状不做限定,可以是圆点、圆环,也可以是三角形、其他形状。另外,不同实体标记物内的子标记物的分布规则不同,因此,每个实体标记物可具备不同的身份信息。终端设备通过识别实体标记物中包含的子标记物,可以获取与实体标记物对应的身份信息,该身份信息可以是编码等可用于唯一标识实体标记物的信息,但不限于此。

作为一种实施方式,实体标记物的轮廓可以为矩形,当然,实体标记物的形状也可以是其他形状,在此不做限定,矩形的区域以及该区域内的多个子标记物构成一个实体标记物。当然,上述实体标记物也可以为由光点构成的自身可以发光的物体等,光点标记物可以发射不同波段或不同颜色的光,终端设备通过识别光点标记物发出的光的波段或颜色等信息获取与实体标记物对应的身份信息。当然,具体的实体标记物在本申请实施例中并不作为限定,实体标记物仅需要能被终端设备识别即可。

终端设备在采集得到包含上述实体标记物的图像之后,则可以对该包含上述实体标记物的图像进行识别,以得到对实体标记物的识别结果。其中,对目实体标记物的识别结果可以包括实体标记物相对终端设备的空间位置,以及实体标记物的身份信息等。其中,实体标记物相对终端设备的空间位置可以包括实体标记物相对终端设备的位置以及姿态信息等,姿态信息为实体标记物相对终端设备的朝向及旋转角度,从而,可以得到上述实体标记物在第一空间坐标系中的第一坐标。

在本申请实施例中,在根据实体标记物于第一空间坐标系中的第一坐标以及虚拟标记物在第二空间坐标系中的第二坐标,获取第一空间坐标系与第二空间坐标系之间的转换关系时,需要根据多个实体标记物在第一空间坐标系中的第一坐标以及多个虚拟标记物在第二空间坐标系中的第二坐标,计算第一空间坐标系与第二空间坐标系之间的转换关系,其中,多个实体标记物与多个虚拟标记物为一一对应的关系,即上述多个实体标记物中的每个实体标记物与多个虚拟标记物中的一个虚拟标记物对齐。

因此,在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标,可以是,检测到用于表征多个实体标记物与多个虚拟标记物对齐的对齐确定操作时,获取所有实体标记物在第一空间坐标系的第一坐标。

步骤s130:获取虚拟标记物在第二空间坐标系中的第二坐标。

在本申请实施例中,终端设备还需要获取虚拟标记物在第二空间坐标系中的第二坐标,虚拟标记物在第二空间坐标系中的第二坐标可以由虚拟相机跟踪虚拟标记物获得。从而可以获取到多个虚拟标记物对应的在第二空间坐标系中的第二坐标,多个虚拟标记物与上述多个标记物一一对应。

在本申请实施例中,在得到多个实体标记物在第一空间坐标系中的第一坐标,以及多个虚拟标记物在第二空间坐标系中的第二坐标之后,则可以根据多个实体标记物与多个虚拟标记物之间的一一对应的关系,将实体标记物的第一坐标以及实体标记物对应的虚拟标记物的第二坐标作为坐标对进行存储,以用于后续进行第一空间坐标系与第二空间坐标系的转换参数的计算。例如,实体标记物a与虚拟标记物a对应,实体标记物b与虚拟标记物b对应,则将实体标记物a的第一坐标以及虚拟标记物a的第二坐标作为一个坐标,将实体标记物b的第一坐标以及虚拟标记物b的第二坐标作为一个坐标对进行存储。

步骤s140:基于实体标记物的第一坐标,以及与实体标记物对应的虚拟标记物的第二坐标,获取第一空间坐标系与第二空间坐标系之间的转换参数。

在得到实体标记物的第一坐标,以及实体标记物对应的虚拟标记物的第二坐标之后,则可以计算第一空间坐标系与第二空间坐标系之间的转换参数。其中,第一空间坐标系与第二空间坐标系之间的转换参数可以包括:旋转参数以及平移参数。

在本申请实施例中,请参见图8,步骤s140可以包括:

步骤s141:根据姿态变换算法建立第一空间坐标系与第二空间坐标系之间的转换公式,转换公式包括旋转参数以及平移参数。

在本申请实施例中,在根据实体标记物的第一坐标以及虚拟标记物的第二坐标计算第一空间坐标系与第二空间坐标系之间的转换参数时,可以获取第一空间坐标系与第二空间坐标系之间的转换公式。

具体的,可以根据姿态变换算法建立第一空间坐标系与第二空间坐标系之间的转换公式。其中,姿态变换算法可以包括:刚体变换估计算法、pnp算法、dcm算法或者posit算法,具体的姿态变换算法在本申请实施例中可以不作为限定。

上述转换公式表示第一空间坐标系中的坐标与第二空间坐标系中的坐标的转换关系,并且该转换公式中包括转换参数。上述转换公式可以为,第二空间坐标系中的坐标由第一空间坐标系中的坐标以及转换参数表达,也可以为第一空间坐标系中的坐标由第二空间坐标系中的坐标以及转换参数表达。

进一步的,上述转换公式可以为,第二空间坐标系中的坐标所构成的矩阵由第一空间坐标系中的坐标所构成的矩阵与转换参数构成的矩阵相乘表达,其中转换参数构成的矩阵中包括旋转参数以及平移参数。

步骤s142:获取数量大于预设数值的坐标对,并将获取的坐标对代入转换公式,得到第一空间坐标系与第二空间坐标系之间的旋转参数以及平移参数。

在本申请实施例中,在得到第一空间坐标系与第二空间坐标系之间的转换公式后,则可以利用实体标记物的第一坐标与实体标记物对应的虚拟标记物的第二坐标求解上述转换公式中的转换参数。

具体的,可以读取预设数值的上述存储的第一坐标与对应的第二坐标的坐标对,将预设数值的第一坐标与第二坐标对代入上述转换公式,对转换公式中的转换参数进行求解,从而得到上述旋转参数以及平移参数。其中,预设数值根据具体利用的姿态变换算法建立的转换公式而定,例如,当转换公式为根据刚体变换估计算法建立的公式,则预设数值可以为4,具体的预设数值在本申请实施例中可以不作为限定。

可以理解的是,每个坐标对中第一空间坐标系中的第一坐标与一个第二空间坐标系中的第二坐标对应,将坐标对代入上述转换公式,为将坐标对中的第一坐标以及第二坐标代入转换公式,即第一坐标代入上述转换公式中第一空间坐标系中的坐标所构成的矩阵,第二坐标代入上述转换公式中第二空间系的坐标所构成的矩阵。在将预设数值的坐标对分别代入上述转换公式之后,则可以求解出转换公式中的转换参数所构成的矩阵,从而得到矩阵中的旋转参数以及平移参数,即获取到第一空间坐标系与第二空间坐标系之间的旋转参数以及平移参数。

本申请实施例提供的数据处理方法,通过显示虚拟标记物,在虚拟标记物与其对应的实体标记物对齐时,获取实体标记物在现实空间中第一空间坐标系的第一坐标,以及虚拟标记物在虚拟空间中第二空间坐标系的第二坐标,最后根据第一坐标以及第二坐标计算出第一空间坐标系与第二空间坐标系之间的转换参数,从而实现通过简便的方法获取用于计算转换参数的坐标,并计算出空间坐标系之间转换参数。

请参阅图9,本申请另一实施例提供了一种数据处理方法,可应用于终端设备,该方法可以包括:

步骤s210:显示虚拟标记物。

在本申请实施例中,终端设备为头戴显示装置,或者终端设备设置于头戴显示装置。在显示虚拟标记物之前,可以对头戴显示装置的光学畸变校正的参数进行确定,以确保虚拟标记物正常的显示,即显示无畸变的标记物。

在验证光学畸变校正的参数时,可以通过显示预先设置的图像,例如,棋盘格图像,以供用户对光学畸变校正的参数进行确定。用户在确保显示的预设图像无畸变时,可以做出光学畸变校正的参数的确定操作。终端设备在检测到用户的确定操作时,则可以确定出当前光学畸变校正的参数准确。在本申请实施例中,在显示虚拟标记物后,当用户观察到显示的虚拟标记物与实体标记物未对齐,则可以移动实体标记物的位置,直至观察到虚拟标记物与实体标记物对齐,于终端设备做出对齐确定操作。

进一步的,可以通过控制标记物的移动,而使虚拟标记物与实体标记物对齐。在本申请实施例中,实体标记物设置于可控制移动机构,可控制移动机构与终端设备连接。

在本申请实施例中,该数据处理方法还可以包括:

在检测到用户的移动控制操作时,向可控制移动机构发送移动指令,移动指令用于指示可控制移动机构根据移动控制操作进行移动。

可以理解的是,用户可以于终端设备做出移动控制操作,该移动控制操作用于控制上述可控制移动机构的移动,而带动标记物移动。在检测到用户的移动控制操作时,则可以发送移动指令至可控制移动机构,从而使可控制移动机构根据移动控制操作而移动,最终达到实体标记物与虚拟标记物对齐的目的。上述移动控制操作可以是通过终端设备的按键或者触控屏做出的操作,也可以是通过与终端设备连接的控制器做出的操作,当然,具体的操作方式在本申请实施例中可以不作为限定。

步骤s220:在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标,其中,对齐确定操作用于表征虚拟标记物与实体标记物对齐,虚拟标记物与实体标记物对应。

在本申请实施例中,在利用终端设备的图像采集装置采集包含实体标记物的图像,以确定实体标记物在第一空间坐标系的第一坐标之前,还可以对图像采集装置的进行标定,以确保获取到实体标记物在第一空间坐标系中的准确坐标。

步骤s230:获取虚拟标记物在第二空间坐标系中的第二坐标。

步骤s240:基于实体标记物的第一坐标,以及与实体标记物对应的虚拟标记物的第二坐标,获取第一空间坐标系与第二空间坐标系之间的转换参数。

在本申请实施例中,在获得第一空间坐标系与第二空间坐标系之间的转换参数之后,该数据处理方法还可以包括:

对跟踪摄像头的第一摄像头参数和/或虚拟摄像头的第二摄像头参数进行微调。

可以理解的是,由于光学镜片的镜面折射的存在以及姿态变换算法的误差,在利用上述转换参数实现虚拟内容叠加于真实场景中的内容进行显示时,可能无法实现虚拟内容与真实内容完全对齐。因此,还可以对跟踪摄像头(图像采集装置)的第一摄像头参数和/或虚拟摄像头的第二摄像头参数做一些微调,以使在利用转换参数进行虚拟内容显示时,虚拟内容完全对齐于真实内容。具体的,可以调节跟踪摄像头和/或虚拟摄像头的倾斜角度、深度等。

步骤s250:获取目标标记物在第一空间坐标系的第三坐标。

在获取到现实空间中的第一空间坐标系与虚拟空间中的第二空间坐标系之间的转换参数之后,则可以根据上述转换参数实现虚拟内容与真实内容的对齐显示。

在本申请实施例中,可以获取目标标记物在第一空间坐标系的第三坐标,即目标标记物在现实空间中以跟踪摄像头为原点的空间坐标系中的坐标。其中,目标标记物用于虚拟对象的显示,即虚拟对象与目标标记物的对齐显示。目标标记物与上述实体标记物类似,终端设备可以通过采集包含目标标记物的图像,然后对包含目标标记物的图像进行识别,从而得到目标标记物在第一空间坐标系的第三坐标。

步骤s260:利用转换参数获取将第三坐标转换为第二空间坐标系中的第四坐标。

在获取到目标标记物在第一空间坐标系中的第三坐标之后,则可以利用获取的转换参数将目标标记物在第一空间坐标系中的第三坐标转换为第二空间坐标系中的坐标,即虚拟空间中以虚拟摄像头为原点的空间坐标系中的坐标,以根据第三坐标生成虚拟对象的显示内容。

具体的,可以将目标标记物在第一空间坐标系中的第三坐标以及上述转换参数,代入第一空间坐标系与第二空间坐标系之间的转换公式,计算得到第二空间坐标系中的第四坐标。

步骤s270:获取待显示的虚拟对象的数据,并根据虚拟对象的数据以及第四坐标渲染虚拟对象,得到虚拟对象的左眼显示内容以及右眼显示内容。

在将目标标记物在第一空间坐标系中的第三坐标转换为第二空间坐标系中的第四坐标之后,则可以获取待显示的虚拟对象的数据,根据虚拟对象的数据以及上述第四坐标渲染虚拟对象。其中,上述待显示显示的虚拟对象对应的数据,可以包括虚拟对象的模型数据,模型数据为用于渲染虚拟对象的数据。例如,模型数据可以包括用于建立虚拟对象对应的模型的颜色、模型顶点坐标、模型轮廓数据等。

在本申请实施例中,上述虚拟摄像头包括左虚拟摄像头以及右虚拟摄像头。其中,左虚拟摄像头以用于模拟人眼左眼,右虚拟摄像头用于模拟人眼右眼。根据虚拟对象的数据以及渲染坐标渲染虚拟对象,得到虚拟对象的左眼显示内容以及右眼显示内容,包括:

根据虚拟对象的数据构建并渲染虚拟对象;根据渲染坐标分别计算虚拟对象在左虚拟摄像头及右虚拟摄像头中对应的像素坐标,得到左眼显示内容及右眼显示内容。

可以理解的是,根据上述用于渲染虚拟对象的数据,则可以构建并渲染出虚拟对象。根据上述渲染坐标以及构建并渲染出的虚拟对象,则可以得到虚拟对象的各个点上述虚拟空间中第二空间坐标系中的空间坐标。将上述空间坐标代入左虚拟摄像头对应的像素坐标系与上述虚拟空间中第二空间坐标系之间的转换公式,即可得到虚拟对象的各个点在左虚拟摄像头中对应的像素坐标,根据虚拟对象的各个点的像素值以及各个点在左虚拟摄像头中对应的像素坐标,则可以得到左眼显示内容。同理,将上述空间坐标代入右虚拟摄像头对应的像素坐标系与上述虚拟空间中第二空间坐标系之间的转换公式,即可得到虚拟对象的各个点在右虚拟摄像头中对应的像素坐标,根据虚拟对象的各个点的像素值以及各个点在右虚拟摄像头中对应的像素坐标,则可以得到右眼显示内容。

在渲染虚拟对象后,则可以得到虚拟对象对应的具有视差的左眼显示内容以及右眼显示内容,以实现显示时的立体显示效果。

步骤s280:将左眼显示内容以及右眼显示内容进行显示,左眼显示内容用于投射到第一光学镜片,并经由第一光学镜片反射到人眼,右眼显示内容用于投射到第二光学镜片,并经由第二光学镜片反射到人眼。

在得到虚拟对象的左眼显示内容以及右眼显示内容之后,则可以将左眼显示内容以及右眼显示内容进行显示。具体的,可以将左眼显示内容投射到头戴显示装置的第一光学镜片,左眼显示内容在经过第一光学镜片反射之后,可以入射至用户左眼。并且将右眼显示内容投射到头戴显示装置的第二光学镜片,右眼显示内容在经过第二光学镜片反射之后,可以入射至用户左眼。

在将左眼显示内容以及右眼显示内容进行显示,使左眼显示内容投射到用户左眼,右眼显示内容投射到用户左眼之后,则可以使用户看到具有视差的左眼显示内容以及右眼显示内容,经过用户大脑的融合形成立体显示内容,从而达到虚拟对象与目标标记物对齐显示以及虚拟对象的立体显示。例如图10所示,在将上述左眼显示内容以及右眼显示内容显示之后,则可以看到立体的虚拟对象900与目标标记物700对齐显示。

本申请实施例提供的数据处理方法,通过获取虚拟标记物与实体标记物对齐时,实体标记物在现实空间中的第一空间坐标系中的第一坐标以及虚拟标记物在虚拟空间中的第二空间坐标系中的第二坐标,获取现实空间中的第一空间坐标系与虚拟空间中的第二空间坐标系之间的转换参数之后,根据该转换参数获取目标标记物在第一空间坐标系的第三坐标对应于第二空间坐标系中的第四坐标,并根据第四坐标渲染虚拟对象生成左眼显示内容以及右眼显示内容进行显示,从而实现虚拟对象与目标标记物的对齐显示以及虚拟对象的立体显示。

请参阅图11,本申请又一实施例提供了一种数据处理方法,可应用于终端设备,该方法可以包括:

步骤s310:显示虚拟标记物。

步骤s320:在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标,其中,对齐确定操作用于表征虚拟标记物与实体标记物对齐,虚拟标记物与实体标记物对应。

步骤s330:获取虚拟标记物在第二空间坐标系中的第二坐标。

步骤s340:基于实体标记物的第一坐标,以及与实体标记物对应的虚拟标记物的第二坐标,获取第一空间坐标系与第二空间坐标系之间的转换参数。

步骤s350:获取目标标记物在第一空间坐标系的第三坐标。

步骤s360:利用转换参数获取将第三坐标转换为第二空间坐标系中的第四坐标。

步骤s370:获取待显示的虚拟对象的数据,并根据虚拟对象的数据以及第四坐标渲染虚拟对象,得到虚拟对象的左眼显示内容以及右眼显示内容。

步骤s380:根据光学畸变模型、左眼显示内容以及右眼显示内容,得到左眼显示内容对应的左眼预畸变图像以及右眼显示内容对应的右眼预畸变图像,光学畸变模型用于拟合光学镜片产生的光学畸变。

头戴显示装置在将显示内容进行显示时,由于头戴显示装置的光学系统的原因,会使显示的图像产生畸变。如果直接将上述左眼显示内容以及右眼显示内容进行显示,则会使用户看到畸变的虚拟对象的虚像。例如,请再次参阅图3,实像311在显示后形成畸变后的虚像312。

因此,在将上述左眼显示内容以及右眼显示内容进行显示时,可以对上述左眼显示内容以及右眼显示内容进行预畸变后进行显示,以使用户看到无畸变的虚拟对象的虚像。

在本申请实施例中,可以根据存储的光学畸变模型对左眼显示内容进行反向畸变处理,得到左眼显示内容对应的左眼预畸变图像,并根据上述光学畸变模型对右眼显示内容进行反向畸变处理,得到右眼显示内容对应的右眼预畸变图像。其中,光学畸变模型用于拟合头戴显示装置的光学镜片的光学畸变,光学畸变模型可以为:

其中,x为实像的横坐标,y为实像的纵坐标,a为第一畸变参数,b为第二畸变参数,i1为拟合光学镜片的横向的径向畸变的矩阵或者拟合光学镜片的横向的桶向畸变的矩阵,i2拟合光学镜片横向的切向畸变的矩阵,i3为拟合光学镜片的纵向的径向畸变的矩阵或者拟合光学镜片的纵向的桶向畸变的矩阵,i4拟合光学镜片的纵向的切向畸变的矩阵,i1中包括虚像的横坐标,i2包括虚像的横坐标以及纵坐标,i3中包括虚像的纵坐标,i4包括虚像的横坐标以及纵坐标。

在本申请实施例中,还可以将光学畸变模型与光学镜片的光学参数的对应关系进行存储,即存储有不同的光学参数所对应的光学畸变模型,在读取光学畸变模型对需要显示的图像进行预畸变时,可以根据其光学镜片的光学参数读取对应的光学畸变模型。

在对虚拟对象的左眼显示内容以及右眼显示内容进行预畸变时,可以读取上述存储的光学畸变模型进行读取。将左眼显示内容的坐标数据作为虚像的坐标数据,代入光学畸变模型,计算出左眼显示内容对应的屏幕坐标数据,根据屏幕坐标数据以及左眼显示内容的像素点即可生成待显示的左眼预畸变图像,该左眼预畸变图像与左眼显示内容对应。

同样的,将右眼显示内容的坐标数据作为虚像的坐标数据,代入光学畸变模型,计算出右眼显示内容对应的屏幕坐标数据,根据屏幕坐标数据以及右眼显示内容的像素点即可生成待显示的右眼预畸变图像,该右眼预畸变图像与右眼显示内容对应。

另外,在本申请实施例中,当上述根据光学畸变模型的获得的屏幕坐标数据中存在非整数值坐标时,则需要将非整数值坐标转换为整数值坐标,以便生成预畸变图像。因此,可以利用像素插值法将屏幕数据中的非整数值坐标转换为整数值坐标。具体的,可以获取距离上述整数值坐标最近的像素坐标,然后将非整数值坐标替换为获取的像素坐标。

步骤s390:将左眼预畸变图像以及右眼预畸变图像进行显示,左眼预畸变图像用于投射到第一光学镜片,并经由第一光学镜片反射到人眼,形成无畸变的左眼显示内容,右眼预畸变图像用于投射到第二光学镜片,并经由第二光学镜片反射到人眼,形成无畸变的右眼显示内容。

在得到进行预畸变后的左眼预畸变图像以及右眼预畸变图像之后,则可以将左眼预畸变图像以及右眼预畸变图像进行显示。在将左眼预畸变图像以及右眼预畸变图像显示后,左眼预畸变图像投射到第一光学镜片后,经过第一光学镜片的反射后入射到用户左眼,由于第一光学镜片本身造成的光学畸变,可对经过反向畸变处理得到左眼预畸变图像进行正向畸变,反向畸变与正向畸变中和后,可形成无畸变的上述左眼显示内容。同理,右眼预畸变图像投射到第二光学镜片后,经过第二光学镜片的反射后入射到用户右眼,形成无畸变的上述右眼显示内容。从而用户可以看到具有视差的无畸变的左眼显示内容以及无畸变的右眼显示内容,经过用户大脑的融合形成无畸变的立体显示内容,达到虚拟对象与目标标记物对齐显示、虚拟对象的无畸变显示以及立体显示。例如,请再次参见图3,将预畸变图像313进行显示,得到无畸变的虚像314,保证无畸变的虚像314与实像311一致。

在本申请实施例中,可以在利用光学畸变模型对左眼显示内容以及右眼显示内容进行预畸变之前,获取上述光学畸变模型。因此,构建上述光学畸变模型的步骤,可以包括:

读取光学镜片的光学厂商数据,光学厂商数据包括实验图像的坐标数据以及实验图像对应的畸变虚像的坐标数据;将实验图像的坐标数据与畸变虚像的坐标数据进行多项式拟合,得到光学畸变模型;将光学畸变模型进行存储。

其中,上述光学厂商数据为光学镜片的厂商所提供的光学数据,即光学镜片的厂商在该光学镜片出厂前,利用实验图像对该光学镜片测试获得的光学数据,上述光学厂商数据可以包括实验图像的坐标数据以及实验图像显示后的畸变虚像的坐标数据。

例如,光学厂商数据如下表所示:

在本申请实施例中,在获取到光学镜片的光学厂商数据之后,还可以根据显示参数调整畸变虚像的坐标数据,其中,显示参数包括光学镜片的缩放比例、屏幕尺寸、像素尺寸以及光心位置中的至少一种。

可以理解的是,可以获取光学镜片对应的缩放比例、屏幕尺寸、像素尺寸以及光心位置,然后根据光学镜片对应的缩放比例、屏幕尺寸、像素尺寸以及光心位置中的至少一种参数对上述实验图像对应的畸变虚像的坐标数据进行调整,达到实验图像与畸变图像的各个点对应,准确度高的效果。

在本申请实施例中,将实验图像的坐标数据与畸变虚像的坐标数据进行多项式拟合,得到光学畸变模型,可以包括:

根据实验图像的坐标数据及与实验图像对应的畸变虚像的坐标数据,计算光学畸变模型的第一畸变参数和第二畸变参数,第一畸变参数为拟合光学镜片在第一方向上畸变的系数,第二畸变参数为拟合光学镜片在第二方向上畸变的系数;根据第一畸变系数和第二畸变数据构建光学畸变模型。

具体的,根据式(1),可以利用横向多项式以及纵向多项式对畸变进行拟合,得到实像的横坐标由第一畸变参数与第一多项式相乘的第一表达式:x=a*i1*i2,以及实像的纵坐标由第二畸变参数与第二多项式相乘的第一表达式:y=b*i2*i3,其中,x为实像的横坐标,y为实像的纵坐标,a为第一畸变参数,b为第二畸变参数,i1为拟合光学镜片的横向的径向畸变的矩阵或者拟合光学镜片的横向的桶向畸变的矩阵,i2拟合光学镜片横向的切向畸变的矩阵,i3为拟合光学镜片的纵向的径向畸变的矩阵或者拟合光学镜片的纵向的桶向畸变的矩阵,i4拟合光学镜片的纵向的切向畸变的矩阵,i1中包括虚像的横坐标,i2包括虚像的横坐标以及纵坐标,i3中包括虚像的纵坐标,i4包括虚像的横坐标以及纵坐标。

其中,第一畸变参数为拟合光学镜片在第一方向上畸变的系数,第二畸变系数为拟合光学镜片在第二方向上畸变的系数。另外,第一方向可以为横向,第二方向可以为纵向,当然,也可以是第一方向为纵向,第二方向为横向。

第一多项式为用于拟合光学镜片的横向的径向畸变的矩阵与用于拟合光学镜片横向的切向畸变的矩阵相乘获得,或者为用于拟合光学镜片的横向的桶向畸变的矩阵与用于拟合光学镜片横向的切向畸变的矩阵相乘获得。用于拟合光学镜片的横向的径向畸变的矩阵,以及于拟合光学镜片的横向的桶向畸变的矩阵,可以为虚像的横坐标构成的四行一列矩阵,用于拟合光学镜片横向的切向畸变的矩阵为虚像的横坐标及纵坐标构成的四行一列矩阵。

第二多项式为用于拟合光学镜片的纵向的径向畸变的矩阵与用于拟合光学镜片纵向的切向畸变的矩阵相乘获得,或者为用于拟合光学镜片的纵向的桶向畸变的矩阵与用于拟合光学镜片纵向的切向畸变的矩阵相乘获得。用于拟合光学镜片的纵向的径向畸变的矩阵,以及于拟合光学镜片的纵向的桶向畸变的矩阵,可以为虚像的纵坐标构成的四行一列矩阵,用于拟合光学镜片纵向的切向畸变的矩阵为虚像的横坐标及纵坐标构成的四行一列矩阵。

在得到上述第一表达式以及第二表达式之后,则可以代入上述实验图像的坐标数据以及根据光学参数调整后的畸变虚像的坐标数据,对第一表达式中的第一畸变参数,以及第二表达式中的第二畸变参数进行求解,从而得到上述第一畸变参数以及第二畸变参数。

在得到第一畸变参数以及第二畸变参数之后,则可以将第一畸变参数代入上述第一表达式,以及将第二畸变参数代入上述第二表达式,从而得到光学畸变模型,光学畸变模型中包括上述第一表达式以及第二表达式。

在本申请实施例中,在得到光学畸变模型之后,还可以考量得到的光学畸变模型,以确保光学畸变模型的准确性。因此,该数据处理方法还可以包括:对光学畸变模型进行验证。

进一步的,对光学畸变模型进行验证可以包括:

利用用于验证光学畸变模型的原始图像的坐标数据以及光学畸变模型,得到待显示的验证图像,并将验证图像进行显示;利用观看位置处的图像采集设备对终端设备显示的验证图像进行图像采集,得到包含验证图像的图像;判断包含验证图像的图像的参数是否满足预设条件;如果满足预设条件,则将光学畸变模型进行存储。

可以理解的是,终端设备中预先存储有用于验证光学畸变模型的原始图像。例如,原始图像可以为棋盘格。在未利用光学畸变模型对原始图像进行预畸变,将原始图像进行显示时,则显示出的虚像为原始图像对应的发生畸变的虚像。如果将原始图像利用上述光学畸变模型进行预畸变后进行显示,显示出的虚像为未产生畸变的虚像,则表示该光学畸变模型准确。

在本申请实施例中,可以利用上述得到的光学畸变模型对原始图像的坐标数据进行反向运算,得到原始图像对应的待显示的验证图像。

具体的,将原始图像的坐标数据作为虚像的坐标数据,此时的虚像为无畸变的虚像,代入上述光学畸变模型,即可求得待显示的验证图像的屏幕坐标数据,根据屏幕坐标数据以及原始图像的各个像素点的像素值即可生成待显示的验证图像,该验证图像即为通过光学畸变模型进行预畸变后的图像。

在得到待显示的验证图像之后,则可以将验证图像进行显示,然后可以录用观看位置处的图像采集设备对显示的验证图像进行图像采集,得到包含显示的验证图像的图像。例如,可以设置工业相机于头盔中的人眼观看位置,采集显示的验证图像。

在得到包含显示的验证图像的图像之后,则可以判断该图像中验证图像的宽高比是否为预设宽高比,线性度是否为线性度。当宽高比为预设宽高比,线性度为预设线性度时,则可以确定出得到的光学畸变模型为正确,因此可以将得到的光学畸变模型进行存储,以实现显示时的畸变校正。

当然,在本申请实施例中,对光学畸变模型的校正,也可以是在将上述待显示的验证图像进行显示后,检测到用户做出的模型确定操作时,该模型确定操作用于表征验证图像的线性度以及宽高比正常,以及左右视角交界处吻合,从而确定出该光学畸变模型为正确,将该光学畸变模型存储。

本申请实施例提供的数据处理方法,通过获取虚拟标记物与实体标记物对齐时,实体标记物在现实空间中的第一空间坐标系中的第一坐标以及虚拟标记物在虚拟空间中的第二空间坐标系中的第二坐标,获取现实空间中的第一空间坐标系与虚拟空间中的第二空间坐标系之间的转换参数之后,根据该转换参数获取目标标记物在第一空间坐标系的第三坐标对应于第二空间坐标系中的第四坐标,并根据第四坐标渲染虚拟对象生成左眼显示内容以及右眼显示内容,最后将左眼显示内容以及右眼显示内容进行预畸变后进行显示,从而实现虚拟对象与目标标记物的对齐显示、虚拟对象的无畸变显示以及立体显示。

请参阅图12,其示出了本申请实施例提供的一种数据处理装置400的结构框图,该数据处理装置400应用于终端设备。该数据处理装置400可以包括:标记物显示模块410、第一坐标获取模块420、第二坐标获取模块430以及转换参数获取模块440。其中,标记物显示模块410用于显示虚拟标记物;第一坐标获取模块420用于在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标,其中,对齐确定操作用于表征虚拟标记物与实体标记物对齐,虚拟标记物与实体标记物对应;第二坐标获取模块430用于获取虚拟标记物在第二空间坐标系中的第二坐标;转换参数获取模块440用于基于实体标记物的第一坐标,以及与实体标记物对应的虚拟标记物的第二坐标,获取第一空间坐标系与第二空间坐标系之间的转换参数。

在本申请实施例中,第一空间坐标系为现实空间中以跟踪摄像头为原点的空间坐标系,第二空间坐标系为虚拟空间中以虚拟摄像头为原点的空间坐标系。

在本申请实施例中,该数据处理装置400还可以包括:参数微调模块。该参数微调模块用于在获取第一空间坐标系与第二空间坐标系之间的转换参数之后,对跟踪摄像头的第一摄像头参数和/或虚拟摄像头的第二摄像头参数进行微调。

在本申请实施例中,该数据处理装置400还可以包括:坐标对存储模块。该坐标对存储模块可以用于将实体标记物的第一坐标,以及与实体标记物对应的虚拟标记物的第二坐标作为坐标对进行存储。

在本申请实施例中,该转换参数获取模块440可以包括:公式建立单元以及参数计算单元。其中,公式建立单元可以用于根据姿态变换算法建立第一空间坐标系与第二空间坐标系之间的转换公式,转换公式包括旋转参数以及平移参数;参数计算单元可以用于获取数量大于预设数值的坐标对,并将获取的坐标对代入转换公式,得到第一空间坐标系与第二空间坐标系之间的旋转参数以及平移参数。

在本申请实施例中,实体标记物可以设置于可控制移动机构,可控制移动机构可以与终端设备连接。该数据处理装置还可以包括:标记物移动模块。标记物移动模块用于在在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标之前,在检测到用户的移动控制操作时,向可控制移动机构发送移动指令,移动指令用于指示可控制移动机构根据移动控制操作进行移动。

在本申请实施例中,该数据处理装置400还可以包括:第三坐标获取模块、第四坐标获取模块、内容生成模块以及内容显示模块。其中,第三坐标获取模块用于获取目标标记物在第一空间坐标系的第三坐标;第四坐标获取模块用于利用转换参数获取将第三坐标转换为第二空间坐标系中的第四坐标;内容生成模块用于获取待显示的虚拟对象的数据,并根据虚拟对象的数据以及第四坐标渲染虚拟对象,得到虚拟对象的左眼显示内容以及右眼显示内容;内容显示模块用于将左眼显示内容以及右眼显示内容进行显示,左眼显示内容用于投射到第一光学镜片,并经由第一光学镜片反射到人眼,右眼显示内容用于投射到第二光学镜片,并经由第二光学镜片反射到人眼。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

综上所述,本申请提供的方案,通过显示虚拟标记物,在检测到用户的对齐确定操作时,获取实体标记物在第一空间坐标系的第一坐标,其中,该对齐确定操作用于表征虚拟标记物与实体标记物对齐,虚拟标记物与实体标记物对应,然后获取虚拟标记物在第二空间坐标系中的第二坐标,最后基于实体标记物的第一坐标,以及与实体标记物对应的虚拟标记物的第二坐标,获取第一空间坐标系与第二空间坐标系之间的转换参数,从而可以较为方便的实现空间坐标系之间的转换参数的获取,并且利用该转换参数可以实现虚拟内容与真实内容的对齐显示以及立体显示。

请参考图13,其示出了本申请实施例提供的一种终端设备的结构框图。该终端设备100可以是智能手机、平板电脑、电子书等能够运行应用程序的终端设备。本申请中的终端设备100可以包括一个或多个如下部件:处理器110、存储器120、图像采集装置130以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个终端设备100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器110可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。

存储器120可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储终端100在使用中所创建的数据等。

在本申请实施例中,图像采集装置130用于采集标记物的图像。图像采集装置130可以为红外摄像头,也可以是彩色摄像头,具体的摄像头类型在本申请实施例中并不作为限定。

请参考图14,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,程序代码可被处理器调用执行上述方法实施例中所描述的方法。

计算机可读存储介质800可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitorycomputer-readablestoragemedium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1