注视点计算装置及其驱动方法、电子设备与流程

文档序号:29515193发布日期:2022-04-06 20:56阅读:69来源:国知局
注视点计算装置及其驱动方法、电子设备与流程

1.本公开涉及芯片技术领域,尤其涉及一种注视点计算装置及其驱动方法、电子设备。


背景技术:

2.现有的电子设备,例如ar(augmented reality,增强现实)显示设备、vr(virtual reality,虚拟现实)显示设备等,在实现基于眼球追踪的注视点识别时,需要依托于计算机的cpu(central processing unit,中央处理器)来实现,这样会导致相关设备庞大,不变携带,不利于人机交互。


技术实现要素:

3.本公开的目的在于提供一种注视点计算装置及其驱动方法、电子设备,用于集成在设备一体机中,实现注视点计算功能。
4.为了实现上述目的,本公开提供如下技术方案:
5.一方面,提供一种注视点计算装置。所述注视点计算装置包括第一缓存寄存器、多路选择器、运算器组件和状态机。所述多路选择器与所述第一缓存寄存器相耦接。所述运算器组件与所述多路选择器相耦接。所述状态机分别与所述多路选择器和所述运算器组件相耦接。其中,所述第一缓存寄存器被配置为:接收并存储第一坐标,以及根据所述第一坐标计算得到第二坐标时所需要的多个标定参数;其中,所述第一坐标为瞳孔的位置坐标,所述第二坐标为注视点的位置坐标。所述状态机被配置为:控制所述多路选择器每次从所述第一缓存寄存器中选取至少一个数值并传输至所述运算器组件。所述运算器组件被配置为:对每次接收到的所述至少一个数值做预先设定的运算,直至得到所述第二坐标;以及,在所述状态机的控制下,输出所述第二坐标。
6.在一些实施例中,所述注视点计算装置根据以下公式,计算得到所述第二坐标:
7.xg=a0+a1x1+a2y1+a3x1y1+a4x
12
+a5y
12

8.yg=b0+b1x1+b2y1+b3x1y1+b4x
12
+b5y
12

9.其中,(x1,y1)为所述第一坐标;a0~a5和b0~b5为所述标定参数,且a0~a5和b0~b5为矢量;(xg,yg)为所述第二坐标。
10.在一些实施例中,所述运算器组件包括一个乘法器和一个累加器。所述乘法器与所述多路选择器相耦接;所述乘法器被配置为:计算x
12
、a1x1、a4(x
12
)、x1y1、y
12
、a2y1、a3(x1y1)、a5(y
12
)、b1x1、b2y1、b3(x1y1)、b4(x
12
)和b5(y
12
)。所述累加器分别与所述乘法器、所述多路选择器和所述状态机相耦接;所述累加器被配置为:计算a0+a1x1+a2y1+a3xy1+a4x
12
+a5y
12
,以输出xg;以及,计算b0+b1x1+b2y1+b3x1y1+b4x
12
+b5y
12
,以输出yg。
11.在一些实施例中,所述运算器组件包括第一乘法器、第一累加器、第二乘法器和第二累加器。所述第一乘法器与所述多路选择器相耦接;所述第一乘法器被配置为:计算a1x1、a4(x
12
)、a2y1、a3(x1y1)、a5(y
12
)。所述第一累加器分别与所述第一乘法器、所述多路选择器和
所述状态机相耦接;所述第一累加器被配置为:计算a0+a1x1+a2y1+a3xy1+a4x
12
+a5y
12
,以输出xg。所述第二乘法器与所述多路选择器相耦接;所述第一乘法器被配置为:计算b1x1、b4(x
12
)、b2y1、b3(x1y1)、b5(y
12
)。所述第二累加器分别与所述第二乘法器、所述多路选择器和所述状态机相耦接;所述第二累加器被配置为:计算b0+b1x1+b2y1+b3x1y1+b4x
12
+b5y
12
,以输出yg;其中,所述第一乘法器和所述第二乘法器中的至少一者还被配置为计算x
12
、x1y1、y
12
;或者,所述第一乘法器还被配置为计算x
12
、x1y1、y
12
三者中的一部分,所述第二乘法器还被配置为计算x
12
、x1y1、y
12
三者中的另一部分。
12.在一些实施例中,所述运算器组件被配置为:将接收到的所述至少一个数值由原码转换为补码;对转换为补码的所述至少一个数值进行计算,得到中间计算结果;将所述中间结果由补码转换为原码,得到所述运算结果。
13.在一些实施例中,所述运算器组件还与所述第一缓存寄存器相耦接;所述运算器组件还被配置为:在所述状态机的控制下,将所述运算器组件产生的至少部分需要存储的中间值传输至所述第一缓存寄存器中进行存储。和/或,所述运算器组件还包括至少一个第二缓存寄存器;所述运算器组件还被配置为:在所述状态机的控制下,将所述运算器组件产生的至少部分需要存储的中间值传输至所述至少一个第二缓存寄存器进行存储。
14.在一些实施例中,所述注视点计算装置还包括:归一化处理模块,与所述第一缓存寄存器相耦接。所述归一化处理模块被配置:接收瞳孔在采集到的人眼图像中的初始坐标;对所述初始坐标进行归一化处理,得到所述第一坐标,并将所述第一坐标传输至所述第一缓存寄存器中。
15.在一些实施例中,所述归一化处理模块根据以下公式,实现对所述初始坐标进行归一化处理:
16.x1=x'/采集到的人眼图像的横向分辨率;
17.y1=y'/采集到的人眼图像的纵向分辨率;
18.其中,(x',y')为所述初始坐标,(x1,y1)为所述第一坐标。
19.在一些实施例中,所述注视点计算装置为fpga芯片或者asic芯片。
20.另一方面,提供一种电子设备。所述电子设备包括:依次耦接的瞳孔坐标提取模块、如上述任一项实施例所述的注视点计算装置,以及显示驱动模块。所述瞳孔坐标提取模块被配置为:采集人眼图像;以及根据所述人眼图像,确定瞳孔在所述人眼图像中的初始坐标;所述初始坐标或者归一化处理后的所述初始坐标为第一坐标,所述第一坐标为瞳孔的位置坐标。所述注视点计算装置被配置为:根据所述第一坐标,计算得到第二坐标;所述第二坐标为注视点的位置坐标。所述显示驱动模块被配置为:根据所述第二坐标,对显示画面进行处理。
21.在一些实施例中,所述瞳孔坐标提取模块包括:摄像头,被配置为采集所述人眼图像;处理模块,被配置为根据采集到的所述人眼图像,基于图像处理算法,确定瞳孔在所述人眼图像中的初始坐标。
22.在一些实施例中,所述电子设备包括ar显示设备或者vr显示设备。
23.又一方面,提供一种注视点计算装置的驱动方法。所述注视点计算装置包括第一缓存寄存器、与所述第一缓存寄存器相耦接的多路选择器、与所述多路选择器相耦接的运算器组件,以及与所述多路选择器和所述运算器组件相耦接状态机。所述驱动方法包括:所
述状态机控制所述多路选择器每次从所述第一缓存寄存器中选取至少一个数值并传输至所述运算器组件;所述运算器组件对每次接收到的所述至少一个数值做预先设定的运算,直至得到所述第二坐标;以及,在所述状态机的控制下,输出所述第二坐标。
24.本公开提供的注视点计算装置及其驱动方法、电子设备具有如下有益效果:
25.本公开提供的注视点计算装置,可以较好的集成在设备一体机(例如ar显示设备、vr显示设备等)中,实现注视点的计算,从而解决了相关设备庞大,不便携带,不利于人机交互的技术问题。并且,采用该注视点计算装置,还具有运算速度快、整体功耗低的优点。
26.本公开提供的注视点计算装置的驱动方法及电子设备所能实现的有益效果,与上述技术方案提供的注视点计算装置所能达到的有益效果相同,在此不做赘述。
附图说明
27.为了更清楚地说明本公开中的技术方案,下面将对本公开一些实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例的附图,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。此外,以下描述中的附图可以视作示意图,并非对本公开实施例所涉及的产品的实际尺寸、方法的实际流程、信号的实际时序等的限制。
28.图1a为根据一些实施例的一种注视点计算装置的结构框图;
29.图1b为根据一些实施例的另一种注视点计算装置的结构框图;
30.图1c为根据一些实施例的再一种注视点计算装置的结构框图;
31.图1d为根据一些实施例的又一种注视点计算装置的结构框图;
32.图1e为根据一些实施例的又一种注视点计算装置的结构框图;
33.图2为根据一些实施例的一种瞳孔与注视点的位置关系图;
34.图3为根据一些实施例的另一种注视点计算装置的结构框图;
35.图4为根据一些实施例的再一种注视点计算装置的结构框图;
36.图5为根据一些实施例的一种乘法器的运算顺序图;
37.图6为根据一些实施例的又一种注视点计算装置的结构框图;
38.图7为根据一些实施例的一种注视点计算装置的驱动方法的流程图;
39.图8为根据一些实施例的一种电子设备的结构框图;
40.图9为根据一些实施例的一种处理模块的结构框图。
具体实施方式
41.下面将结合附图,对本公开一些实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开所提供的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本公开保护的范围。
42.除非上下文另有要求,否则,在整个说明书和权利要求书中,术语“包括(comprise)”及其其他形式例如第三人称单数形式“包括(comprises)”和现在分词形式“包括(comprising)”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例(one embodiment)”、“一些实施例(some embodiments)”、“示例性实施例(exemplary embodiments)”、“示例(example)”、“特定示例(specific example)”或“一些
示例(some examples)”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本公开的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。此外,所述的特定特征、结构、材料或特点可以以任何适当方式包括在任何一个或多个实施例或示例中。
43.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
44.在描述一些实施例时,可能使用了“耦接”和“连接”及其衍伸的表达。例如,描述一些实施例时可能使用了术语“连接”以表明两个或两个以上部件彼此间有直接物理接触或电接触。又如,描述一些实施例时可能使用了术语“耦接”以表明两个或两个以上部件有直接物理接触或电接触。然而,术语“耦接”或“通信耦合(communicatively coupled)”也可能指两个或两个以上部件彼此间并无直接接触,但仍彼此协作或相互作用。这里所公开的实施例并不必然限制于本文内容。
[0045]“a、b和c中的至少一个”与“a、b或c中的至少一个”具有相同含义,均包括以下a、b和c的组合:仅a,仅b,仅c,a和b的组合,a和c的组合,b和c的组合,及a、b和c的组合。
[0046]“a和/或b”,包括以下三种组合:仅a,仅b,及a和b的组合。
[0047]
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当
……
时”或“在
……
时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定
……”
或“如果检测到[所陈述的条件或事件]”任选地被解释为是指“在确定
……
时”或“响应于确定
……”
或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0048]
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。
[0049]
另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。
[0050]
本公开一些实施例提供了一种注视点计算装置100,如图1a所示,该注视点计算装置100包括第一缓存寄存器1、多路选择器2、运算器组件3以及状态机4。其中,多路选择器2与第一缓存寄存器1相耦接;运算器组件3与多路选择器2相耦接;状态机4分别与多路选择器2和运算器组件3相耦接。其中,状态机4可以为有限状态机。
[0051]
需要说明的是,状态机4可以根据自身运行状态判断出注视点计算装置100的整体运算进度,从而可以得知第一缓存寄存器1中存储有哪些数值,以及得知所存储的数值中,哪些数值是用过的,哪些数值是没有用过的,哪些数值是还需要二次运算的。
[0052]
而在另一些示例中,参见图1b,状态机4可以与第一缓存寄存器1相耦接,此时,状态机4可以直接与第一缓存寄存器1进行信息交互,从而快速得知第一缓存寄存器1中存储有哪些数值,以及得知所存储的数值中,哪些数值是用过的,哪些数值是没有用过的,哪些数值是还需要二次运算的。
[0053]
第一缓存寄存器1被配置为:接收并存储第一坐标,以及根据所述第一坐标计算得到第二坐标时所需要的多个标定参数;其中,所述第一坐标为瞳孔的位置坐标,所述第二坐
标为注视点的位置坐标。其中,在确定瞳孔的位置坐标时,可以将瞳孔简化成一个点来进行定位,这个点例如可以是瞳孔的中心点。当然,本公开并不对此进行限制,在另一些示例中,这个点也可以是瞳孔的除中心点以外其它位置点,比如瞳孔的边界上的点。
[0054]
状态机4被配置为:控制多路选择器2每次从第一缓存寄存器1中选取至少一个数值并传输至运算器组件3。
[0055]
运算器组件3被配置为:对每次接收到的所述至少一个数值做预先设定的运算(例如乘法运算、开方运算、加法运算等),直至得到所述第二坐标;以及,在状态机4的控制下,输出所述第二坐标。例如,当第二坐标为(xg,yg)时,在状态机4的控制下:可以先计算得到并输出xg和yg中的一者,再计算得到并输出xg和yg中的另一者;或者,也可以在依次计算得到xg和yg后,再同时输出xg、yg。
[0056]
需要说明的是,在计算得到第二坐标的整个过程中,还会产生一个或多个中间值,运算器组件3在执行上述预先设定的运算时,可以对这些中间值进行二次运算,从而最终实现得到上述第二坐标。下面参照一些示例对一些中间值的处理过程进行说明。
[0057]
在一些示例中,如图1c所示,运算器组件3还与第一缓存寄存器1相耦接,此时,运算器组件3还被配置为:在状态机4的控制下,将所述运算器组件3产生的至少部分需要存储的中间值传输至第一缓存寄存器1中进行存储。可以理解,在第一缓存寄存器1中存储有中间值的情况下,后续多路选择器2在第一缓存寄存器1中选取至少一个数值时,该至少一个数值可以包括中间值、标定参数以及第一坐标中的至少一者。
[0058]
在另一些示例中,如图1d所示,运算器组件3还包括至少一个第二缓存寄存器11,此时,运算器组件3还被配置为:在状态机4的控制下,将所述运算器组件3产生的至少部分需要存储的中间值传输至所述至少一个第二缓存寄存器11进行存储。可以理解,存储至不同的第二缓存寄存器11中的中间值可以不相同。
[0059]
其中,运算器组件3可以包括一组运算器或者并联的至少两组运算器,每组运算器可以包括串联的至少两个运算器。上述一个第二缓存寄存器11可以集成在一个运算器中。
[0060]
在又一些示例中,如图1e所示,运算器组件3与第一缓存寄存器1相耦接,并且运算器组件3还包括至少一个第二缓存寄存器11。此时,运算器组件3产生的需要存储的中间值可以分为多个部分并分别存储至不同的缓存寄存器中(即第一缓存寄存器1和至少一个第二缓存寄存器11)。
[0061]
上述注视点计算装置100包括多个硬件(比如第一缓存寄存器1、多路选择器2、运算器组件3、状态机4等),也即,该注视点计算装置100通过硬件化实现方案,实现了对第一坐标(即瞳孔的位置坐标)进行处理,以输出第二坐标(即注视点的位置坐标)。
[0062]
在一些示例中,该注视点识别装置100可以是fpga(field programmable gate array,现场可编程门阵列)芯片。在另一些示例中,该注视点识别装置100也可以是asic(application spicecific integrated circuit,专用集成电路)芯片。
[0063]
值得指出的是,对于眼球追踪而言,通过计算机的cpu来实现注视点计算会导致相关设备庞大,不便携带,不利于人机交互。而本公开各个实施例中提供的注视点计算装置100,可以较好的集成在设备一体机(例如ar显示设备、vr显示设备等)中,实现注视点的计算,从而解决了相关设备庞大,不便携带,不利于人机交互的技术问题。并且,采用该注视点计算装置100,还具有运算速度快、整体功耗低的优点。
[0064]
下面通过一些实施例来描述利用该注视点计算装置100实现注视点计算的过程。
[0065]
在一些实施例中,参见图1a~图1e,以及图2,注视点计算装置100可以根据以下公式,计算得到所述第二坐标:
[0066]
xg=a0+a1x1+a2y1+a3x1y1+a4x
12
+a5y
12

[0067]
yg=b0+b1x1+b2y1+b3x1y1+b4x
12
+b5y
12

[0068]
其中,(x1,y1)为所述第一坐标(即瞳孔的位置坐标);a0~a5和b0~b5为所述标定参数,且a0~a5和b0~b5为矢量;(xg,yg)为所述第二坐标(即注视点的位置坐标,例如图2中示出的注视点在显示区域b中的坐标)。因此,该注视点计算装置100可以根据上述公式对第一坐标(x1,y1)进行处理,然后输出第二坐标(xg,yg),也即,该注视点计算装置100可以根据瞳孔的位置坐标计算得到注视点的位置坐标。
[0069]
需要说明的是,此处的(x1,y1),可以是如图2所示的瞳孔中心在采集到的人眼图像a中的初始坐标(x',y'),也可以是经过归一化处理后的所述初始坐标(x',y')。
[0070]
基于此,在一些示例中,如图3所示,该注视点计算装置100还可以包括归一化处理模块5,该归一化处理模块5与第一缓存寄存器1相耦接。该归一化处理模块5被配置为:接收瞳孔在采集到的人眼图像中的初始坐标(x',y');对所述初始坐标(x',y')进行归一化处理,得到所述第一坐标(x1,y1),并将所述第一坐标(x1,y1)传输至所述第一缓存寄存器1中。
[0071]
示例性的,归一化处理模块5可以根据以下公式,实现对所述初始坐标(x',y')进行归一化处理:
[0072]
x1=x'/采集到的人眼图像的横向分辨率;
[0073]
y1=y'/采集到的人眼图像的纵向分辨率;
[0074]
其中,采集到的人眼图像的横向分辨率可以是图2中人眼图像a沿x轴方向的分辨率,采集到的人眼图像的纵向分辨率可以是图2中人眼图像a沿y轴方向的分辨率,计算结果x1,y1为所述第一坐标。
[0075]
通过上述方案,有利于计算得到更精确的第二坐标,从而可以更精确的判断出注视点所在的位置。
[0076]
在一些实施例中,运算器组件3被配置为:将接收到的所述至少一个数值由原码转换为补码;对转换为补码的所述至少一个数值进行计算,得到中间计算结果;将所述中间计算结果由补码转换为原码,得到所述运算结果。这样设置,可以准确的实现有符号(即正号或负号)数值的运算,例如在至少一个标定参数为负数的情况下,依然可以准确的实现累加、乘法、开方等运算。
[0077]
上述运算器组件3的结构形式有多种,例如,包括但不限于下文中示出的一些可能的实现方式。
[0078]
在一种可能的实现方式中,如图4所示,该运算器组件3可以包括一个乘法器31和一个累加器32。示例性的,乘法器31可以为有符号定点乘法器,累加器32可以为有符号定点累加器。
[0079]
其中,有符号定点乘法器(或者有符号定点累加器)在运算的过程中,可以首先将接收到的数值由原码转换为补码,然后计算得到中间计算结果,最后将中间计算结果由补码转换为原码以得到所述运算结果。从而可以准确的实现有符号(即正号或负号)数值的运算,例如在至少一个标定参数为负数的情况下,依然可以准确的实现累加、乘法、开方等运
算。
[0080]
此外,值得指出的是,有符号定点乘法器(或者有符号定点累加器)相较于有符号浮点乘法器(或者有符号浮点累加器)而言,其硬件电路结构更简单且容易实现,因此在采用有符号定点乘法器(或者有符号定点累加器)时,有利于简化该运算器组件3的电路结构,进而有利于简化注视点识别装置100的结构。
[0081]
乘法器31与多路选择器2相耦接,乘法器31被配置为:计算x
12
、a1x1、a4(x
12
)、x1y1、y
12
、a2y1、a3(x1y1)、a5(y
12
)、b1x1、b2y1、b3(x1y1)、b4(x
12
)和b5(y
12
)。例如,对于一帧人眼图像而言,乘法器31可以通过时分复用的方式,按照图5示出的顺序依次实现13次定点乘法运算。
[0082]
需要说明的是,上述需要存储的中间值可以包括x
12
的运算结果,x1y1的运算结果,以及y
12
的运算结果。这些中间值可以存储至第一缓存寄存器1中(如图4所示),也可以存储至集成在乘法器31的第二缓存寄存器中。当这些中间值存储至第一缓存寄存器1中时,如图4所示,可以通过状态机4控制多路选择器2,实现将第一缓存寄存器1中的中间值再次传输至乘法器31中进行乘法运算。当这些中间值存储至集成在乘法器31的第二缓存寄存器中时,可以通过状态机4直接调用第二缓存寄存器中的中间值来进行乘法运算,而无需通过多路选择器2。
[0083]
累加器32分别与乘法器31、多路选择器2和状态机4相耦接,累加器32被配置为:计算a0+a1x1+a2y1+a3xy1+a4x
12
+a5y
12
,以输出xg;以及,计算b0+b1x1+b2y1+b3x1y1+b4x
12
+b5y
12
,以输出yg。也即,对于一帧人眼图像而言,累加器32可以通过时分复用的方式实现10次累加运算。
[0084]
需要说明的是,中间值还可以包括:a1x1的运算结果、a2y1的运算结果、a3(x1y1)的运算结果、a4(x
12
)的运算结果、a5(y
12
)的运算结果、b1x1的运算结果、b2y1的运算结果、b3(x1y1)的运算结果、b4(x
12
)的运算结果和b5(y
12
)的运算结果。这些中间值可以存储至第一缓存寄存器1中(如图4所示),或者也可以存储至集成在累加器32的第二缓存寄存器中,或者还可以直接传输至累加器32中进行累加。当这些中间值存储至第一缓存寄存器1中时,如图4所示,可以通过状态机4控制多路选择器2,实现将第一缓存寄存器1中的中间值传输至累加器32中进行加法运算。当这些中间值存储至集成在累加器32的第二缓存寄存器中时,可以通过状态机4直接调用第二缓存寄存器中的中间值来进行乘法运算,而无需通过多路选择器2。
[0085]
在实际应用中,示例性的,按照图4示出的示例,乘法器31和累加器32可以按照以下步骤进行计算。
[0086]
步骤一、在状态机4的控制下,通过多路选择器2从第一缓存寄存器1中选取x1,并将x1同时输出给乘法器31的乘数端口和被乘数端口。乘法器31计算得到x
12
的结果,并通过多路选择器2将x
12
的结果(即中间值)传输至第一缓存寄存器1中进行存储,以备调用。
[0087]
步骤二、在步骤一的基础上延时n(n≥1)个时钟,然后在状态机4的控制下,通过多路选择器2从第一缓存寄存器1中选取a1和x1,并将a1和x1分别输出给乘法器31的乘数端口和被乘数端口,乘法器31计算得到a1x1的结果。需要说明的是,此处a1x1的结果也可以作为中间值存储至第一缓存寄存器1中。
[0088]
步骤三、在步骤二的基础上延时n(n≥1)个时钟,然后在状态机4的控制下,通过多路选择器2从第一缓存寄存器1中选取a4和(x
12
的运算结果,即中间值),并将a4和(x
12
的运算
(y
12
)的结果,以及上述b1x1的结果、b2y1的结果、b3(x1y1)的结果、b4(x
12
)的结果、b5(y
12
)的结果,由乘法器31直接传输至累加器32进行累加的情况下,乘法器31和累加器32不仅分别实现了时分复用,而且整体还实现了串并结合(即此时乘法器31和累加器32可以同时并行工作,并且乘法器31还可以将计算结果输出至累加器32中以实现串行工作),从而充分地利用了乘法器31和累加器32运算能力,提高了运算速度。
[0099]
在另一种可能的实现方式中,如图6所示,该运算器组件3可以包括第一乘法器31a、第一累加器32a、第二乘法器31b和第二累加器32b。其中,第一乘法器31a和第二乘法器31b可以为如上所述的有符号定点乘法器,第一累加器32a和第二累加器32b可以为如上所述的有符号定点累加器。对于有符号定点乘法器和有符号定点累加器的运算过程以及有益效果,此处不再进行赘述。
[0100]
第一乘法器31a与多路选择器2相耦接,第一累加器32a分别与第一乘法器31a、多路选择器2和状态机4相耦接。第一乘法器31a被配置为:计算x
12
、a1x1、a4(x
12
)、x1y1、y
12
、a2y1、a3(x1y1)、a5(y
12
)。第一累加器32a被配置为:计算a0+a1x1+a2y1+a3xy1+a4x
12
+a5y
12
,以输出xg。
[0101]
第二乘法器31b与多路选择器2相耦接,第二累加器32b分别与第二乘法器31b、多路选择器2和状态机4相耦接。第一乘法器31b被配置为:计算x
12
、b1x1、b4(x
12
)、x1y1、y
12
、b2y1、b3(x1y1)、b5(y
12
)。第二累加器被32b被配置为:计算b0+b1x1+b2y1+b3x1y1+b4x
12
+b5y
12
,以输出yg。
[0102]
在这种可能的实现方式中,可以利用第一乘法器31a和第一累加器32a计算得到上述xg,与此同时,还可以利用第二乘法器31b和第二累加器32b计算得到上述yg。也即,这样可以实现横坐标和纵坐标的同步处理,从而有利于提高运算器组件3的整体运算速度。
[0103]
其中,存储至所述第一缓存寄存器1中的中间值至少包括x
12
的运算结果、x1y1的运算结果和y
12
的运算结果。在这种可能的实现方式中,需要说明的是,并不局限于利用上述两个乘法器(即第一乘法器31a和第二乘法器31b)分别计算两次上述x
12
、x1y1、y
12
的示例,即,也可以仅利用一个乘法器(例如第一乘法器31a或者第二乘法器31b)来计算上述x
12
、x1y1、y
12
,或者,还可以利用一个乘法器(例如第一乘法器31a)计算x
12
、x1y1、y
12
三者中的一部分(例如x
12
、x1y1),同时利用另一个乘法器(例如第二乘法器31b)计算x
12
、x1y1、y
12
三者中的另一部分(例如y
12
),从而得到x
12
的运算结果、x1y1的运算结果和y
12
的运算结果,然后,将x
12
的运算结果、x1y1的运算结果和y
12
的运算结果传输并存储至第一缓存寄存器1中实现共用。这样,有利于简化运算过程,提高运算效率。
[0104]
同样,可以理解的,对于第一乘法器31a、第二乘法器31b、第一累加器32a和第二累加器32b中的至少一者而言,也可以集成上述第二缓存寄存器,而集成上述第二缓存寄存器的作用以及有益效果,可参照之前的描述,此处不再赘述。
[0105]
本公开一些实施例提供了一种注视点计算装置的驱动方法。如图1a~图1c所示,注视点计算装置100包括第一缓存寄存器1、与第一缓存寄存器1相耦接的多路选择器2、与多路选择器2相耦接的运算器组件3,以及与第一缓存寄存器1、多路选择器2和运算器组件3相耦接状态机4。如图7所示,该驱动方法包括:
[0106]
s1、状态机4控制多路选择器2每次从第一缓存寄存器1中选取至少一个数值并传输至运算器组件3。
[0107]
s2、运算器组件3对每次接收到的所述至少一个数值做预先设定的运算,直至得到第二坐标;以及,在状态机4的控制下,输出所述第二坐标。其中,所述第二坐标为注视点的位置坐标(例如图2中示出的注视点在显示区域b中的位置坐标)。
[0108]
该驱动方法的有益效果与上述注视点计算装置的有益效果相同,此处不再赘述。
[0109]
本公开一些实施例提供了一种电子设备400,如图8所示,电子设备400包括依次耦接的瞳孔坐标提取模块200、如上述任一实施例所述的注视点计算装置100,以及显示驱动模块300。
[0110]
瞳孔坐标提取模块200被配置为:采集人眼图像(例如图2中示出的人眼图像a);以及根据所述人眼图像,确定瞳孔在所述人眼图像中的初始坐标(x',y');所述初始坐标(x',y')或者归一化处理后的所述初始坐标(x',y')为第一坐标(x1,y1),也即瞳孔的位置坐标。
[0111]
注视点计算装置100被配置为:根据所述第一坐标(x1,y1),计算得到第二坐标(xg,yg);所述第二坐标(xg,yg)为注视点的位置坐标(例如图2中示出的注视点在显示区域b中的位置坐标)。
[0112]
显示驱动模块300被配置为:根据所述第二坐标(xg,yg),对显示画面进行处理。例如实现注视点(即第二坐标)周围画面的局部渲染等显示。示例性的,可以将显示画面分为位于注视点(即第二坐标)周围的第一显示部分和除第一显示部分之外的第二显示部分。在显示时,例如可以提高第一显示部分的渲染效果,或者可以控制第一显示部分的显示分辨率大于第二显示部分的显示分辨率,或者还可以将显示画面缩小至仅在第一显示部分显示,以提高显示效果。
[0113]
在此基础上,示例性的,如图8所示,瞳孔坐标提取模块200可以包括摄像头201和处理模块202。
[0114]
摄像头被配置为采集所述人眼图像。
[0115]
处理模块被配置为根据采集到的所述人眼图像,基于图像处理算法,确定瞳孔在所述人眼图像中的初始坐标。
[0116]
例如,参见图9,处理模块202可以包括图像预处理模块2021和瞳孔定位模块2022。其中,图像预处理模块2021可以对所述人眼图像进行预处理(例如二值化处理等),然后,瞳孔定位模块2022可以基于处理后的人眼图像,确定出瞳孔的位置,也即瞳孔在人眼图像中的初始坐标。
[0117]
需要说明的是,上述电子设备400可以为显示设备,显示设备例如可以为ar显示设备或者vr显示设备等任何具有显示功能的设备。
[0118]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1