发明内容
基于此,针对目前头戴显示设备中的传感器逐渐增多,传感器传输的数据量较大,导致数据传输通道可能难以承受庞大的数据传输的问题,有必要提供一种数据传输方法、装置、头戴显示设备和可读存储介质,能够保证数据传输顺利进行。
为实现上述目的,本发明提出的一种数据传输方法,所述数据传输方法用于头戴显示设备,所述头戴显示设备中设置有传感器,所述数据传输方法包括:
控制所述传感器获取位姿信息;
依据所述位姿信息,生成所述传感器的传输数据;
将所述传输数据进行压缩处理获得整型数据。
可选地,所述将所述传输数据进行压缩处理获得整型数据的步骤包括:
获取传输数据中的原始数据;
将所述原始数据转化为浮点数据;
将所述浮点数据转化为整型数据。
可选地,所述浮点数据包括float类型数据,整型数据包括int类型数据,所述将所述原始数据转化为浮点数据的步骤包括:
将所述原始数据转化为所述float类型数据;
所述将所述浮点数据转化为整型数据的步骤包括:
将所述float类型数据转化为所述int类型数据。
可选地,所述将所述float类型数据转化为所述int类型数据的步骤包括:
获取所述float类型数据的尾数位长度,依据所述尾数位长度确定所述float类型数据的有效数;
依据所述有效数,将所述float类型数据转化为所述int类型数据。
可选地,所述将所述原始数据转化为所述float类型数据的步骤包括:
将所述原始数据与100对比,将所述原始数据转化为数值范围在-1至1之间的float类型数据;
获取所述float类型数据的尾数位长度,依据所述尾数位长度确定所述float类型数据的有效数的步骤包括:
获取所述float类型数据的尾数位长度为21位,依据21位的所述尾数位长度确定所述float类型数据的有效数为20;
所述依据所述有效数,将所述float类型数据转化为所述int类型数据的步骤包括:
依据20的所述有效数,将所述float类型数据转化为二进制的所述int类型数据。
可选地,所述传感器包括陀螺仪和加速度传感器,所述控制所述传感器获取位姿信息的步骤包括:
获取所述陀螺仪测量得出的第一数值和所述加速度传感器测量得出的第二数值,依据所述第一数值和所述第二数值确定位姿信息。
此外,为了实现上述目的,本发明还提供一种数据传输装置,所述数据传输装置用于头戴显示设备,所述头戴显示设备中设置有传感器,所述数据传输装置包括:
控制模块,用于控制所述传感器获取位姿信息;
生成模块,用于依据所述位姿信息,生成所述传感器的传输数据;
压缩模块,用于将所述传输数据进行压缩处理获得整型数据。
可选地,所述压缩模块包括:
获取单元,用于获取所述传输数据中的原始数据;
转化单元,用于将所述原始数据转化为浮点数据;
所述转化单元还用于将所述浮点数据转化为整型数据。
此外,为了实现上述目的,本发明还提供一种头戴显示设备,所述头戴显示设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的数据传输程序;所述数据传输程序被所述处理器执行时实现如上文所述的数据传输方法的步骤。
此外,为了实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储数据传输程序,所述数据传输程序被处理器执行时实现如上文所述的数据传输方法的步骤。
本发明提出的技术方案中,用户佩戴头戴显示设备的过程中,经常需要变换位置以此来观看不同方向的显示画面,即可以理解为头戴显示设备的位置和姿态角度会发生变化,头戴显示设备中设置有传感器,传感器能够检测得到位置和姿态角度的变化,即传感器获取位姿信息,传感器依据检测获取的位姿信息生成传输数据,在对传输数据进行压缩处理,获得整型数据,经过压缩处理的整型数据能够节省传输空间,由此传输的数据量减少,保证数据传输顺利进行。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
另外,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参阅图1所示,本发明提出的第一实施例,一种数据传输方法,所述数据传输方法用于头戴显示设备,所述头戴显示设备中设置有传感器,所述数据传输方法包括:
步骤S1,控制传感器获取位姿信息;通常用户将头戴显示设备穿戴在头部位置,用户可以通过头戴显示设备观看显示画面,例如,观看现场直播的比赛等。用户在观看显示画面的过程中,会移动身体和调整方向,例如,左右摆动头部位置,进行观看。也就是说,位姿信息包括头戴显示设备的目前位置和所处位置的姿态。传感器能够检测得到用户穿戴头戴显示设备的位置和姿态,即位姿信息。
步骤S2,依据位姿信息,生成传感器的传输数据;在用户佩戴头戴显示设备调整位置时,目的是需要观看到其它方位的画面,因此,依据用户佩戴头戴显示设备调整位置时,相应的画面也需要更新,而画面的更新通常依据传感器检测得到的位姿信息。即依据位姿信息,生成传感器的传输数据。依据所述传感器的传输数据,进行画面更新。
步骤S3,将传输数据进行压缩处理获得整型数据;其中,整型数据是一种不包含小数部分的数值型数据,通常整型数据用来表示整数,一般为二进制存储。例如,整型数据包括char字符型数据、unsigned char无符号字符型数据、short短整型数据、unsigned short无符号短整型数据、int整型数据、unsigned int无符号整型数据、long长整型数据和unsigned long无符号长整型数据。通常整型数据存储时占用的存储单元较少。也就是说,将传输数据压缩为整形数据,能够有效减少数据传输量。
另外,整型数据被传输给头戴显示设备后,头戴显示设备依据整型数据进行画面更新,头戴显示设备中包括有显示屏幕,通过显示屏幕的显示后能够观看画面更新内容。
本实施例的技术方案中,用户佩戴头戴显示设备的过程中,经常需要变换位置以此来观看不同方向的显示画面,即可以理解为头戴显示设备的位置和姿态角度会发生变化,头戴显示设备中设置有传感器,传感器能够检测得到位置和姿态角度的变化,即传感器获取位姿信息,传感器依据检测获取的位姿信息生成传输数据,在对传输数据进行压缩处理,获得整型数据,经过压缩处理的整型数据能够节省传输空间,由此传输的数据量减少,保证数据传输顺利进行。
参阅图2所示,本发明提出的第一实施例的基础上,提出本发明的第二实施例,将传输数据进行压缩处理获得整型数据的步骤S3包括:
步骤S30,获取传输数据中的原始数据;通常来说,原始数据的数据是十进制的。也就是说,传感器检测得到的位姿信息的开始数据是十进制的数字。
步骤S31,将原始数据转化为浮点数据;在使用头戴显示设备的过程中,为了使用户能够感受到身临其境的感觉,需要传感器检测得到的数据精度足够高,一般将原始数据转化为浮点数据,采用浮点数据能够在数据融合计算时,使数据更加精确。
步骤S32,将浮点数据转化为整型数据。
通常,浮点数据的存储空间一般占用较大的位置,通过将浮点数据转化为整形数据,整形数据占据的空间较少,通过将浮点数据转化为整形数据能够节省存储空间,便于数据传输。
参阅图3所示,本发明提出的第二实施例的基础上,提出本发明的第三实施例,浮点数据包括float类型数据,整型数据包括int类型数据,将原始数据转化为浮点数据的步骤S31包括:
步骤S310,将原始数据转化为float类型数据。
浮点数据也称为浮点型数据,通常采用十进制,或者十进制的指数形式。其中,float类型数据为十进制的指数形式。float类型数据的存储方式包括符号位、指数位和尾数位,通常符号位占有1位,即1bit,指数位占有8位,即8bits,尾数位占有23位,即23bits。float类型数据的精度是由尾数的位数来决定的,一般符号位是不变的。由此可知float类型数据占据了较大的存储空间。
将浮点数据转化为整型数据的步骤S32包括:
步骤S320,将float类型数据转化为int类型数据。
其中,int类型数据是整型数据中的一种,int类型数据是一种二进制的数值,将float数据转化为int类型数据能够有效节省存储空间。
参阅图4所示,本发明提出的第三实施例的基础上,提出本发明的第四实施例,将float类型数据转化为int类型数据的步骤S320包括:
步骤S321,获取float类型数据的尾数位长度,依据尾数位长度确定float类型数据的有效数;参阅图5所示,float类型数据的尾数位长度在17至21之间,压缩后的尾数位对应为18至22。还可知尾数位17至21之间分别对应的精度为131072,262144,524288,1048576和2097152,结合精度要求和存储空间大小,可以选择对应的尾数位。
步骤S322,依据有效数,将float类型数据转化为int类型数据。
其中,选择其中压缩后的尾数位对应为18至22作为有效数,int类型数据是整型数据中的一种,int类型数据是一种二进制的数值,将float数据转化为int类型数据能够有效节省存储空间。
参阅图6所示,本发明提出的第四实施例的基础上,提出本发明的第五实施例,将原始数据转化为float类型数据的步骤S310包括:
步骤S311,将原始数据与100对比,将原始数据转化为数值范围在-1至1之间的float类型数据;具体地,将原始数据除以100,或者说,将原始数据的小数点左移两位,将原始数据转化为float类型数据,float类型数据的范围在-1至1之间。
(float)datal=(fioat)datal_ori/100
其中,(fioat)datal_ori表示原始数据,(float)datal表示为浮点数据。
获取float类型数据的尾数位长度,依据尾数位长度确定float类型数据的有效数的步骤S321包括:
步骤S321a,获取float类型数据的尾数位长度为21位,依据21位的尾数位长度确定float类型数据的有效数为20;其中21位中,其中一位符号位,即有效数为220=1048576,将转换完的数据转换为0~1048576之间的整数
(int)datal_final=int(datal×1048576)
其中,(int)datal_final表示二进制的int类型数据存储,一般数据包括三维空间象限下的数值,21位和三个象限则
63=21×3
63位,为8个字节空间。
依据有效数,将float类型数据转化为int类型数据的步骤S322包括:步骤S322a,依据20位的有效数,将float类型数据转化为二进制的int类型数据。采用float类型数据,指数位占有8位,即8bits,一个字节,尾数位占有23位,占据3个字节,即是说4个字节,三个象限则
12=4×3
由此可知,float类型数据占据12个字节空间,由此可知,相比float类型数据占据12个字节空间,int类型数据占据8个字节空间,采用int类型数据能够有效节省存储空间。
参阅图7所示,本发明提出的第一实施例至第五实施例的基础上,提出本发明的第六实施例,传感器包括陀螺仪和加速度传感器,控制传感器获取位姿信息的步骤S1包括:
步骤S10,获取陀螺仪测量得出的第一数值和加速度传感器测量得出的第二数值,依据第一数值和第二数值确定位姿信息。
具体地,陀螺仪能够测量得出头戴显示设备的方向值,即第一数值,加速度传感器能够测量得出头戴显示设备的移动位置,即第二数值,依据第一数值和第二数值,能够测量得出头戴显示设备的朝向和位置变化,即得出头戴显示设备的位姿信息。陀螺仪和加速度传感器获取用户的位姿信息,头戴显示设备依据检测得到的位姿信息确定更新画面的内容。
参阅图8所示,本发明还提供一种数据传输装置,所述数据传输装置用于头戴显示设备,所述头戴显示设备中设置有传感器,所述数据传输装置包括:控制模块10、生成模块20和压缩模块30。
控制模块10,用于控制传感器获取位姿信息;通常用户将头戴显示设备穿戴在头部位置,用户可以通过头戴显示设备观看显示画面,例如,观看现场直播的比赛等。用户在观看显示画面的过程中,会移动身体和调整方向,例如,左右摆动头部位置,进行观看。也就是说,位姿信息包括头戴显示设备的目前位置和所处位置的姿态。传感器能够检测得到用户穿戴头戴显示设备的位置和姿态,即位姿信息。
生成模块20,还用于依据所述位姿信息,生成传感器的传输数据;在用户佩戴头戴显示设备调整位置时,目的是需要观看到其它方位的画面,因此,依据用户佩戴头戴显示设备调整位置时,相应的画面也需要更新,而画面的更新通常依据传感器检测得到的位姿信息。即依据位姿信息,生成传感器的传输数据。依据所述传感器的传输数据,进行画面更新。
压缩模块30,用于将传输数据进行压缩处理获得整型数据;其中,整型数据是一种不包含小数部分的数值型数据,通常整型数据用来表示整数,一般为二进制存储。例如,整型数据包括char字符型数据、unsigned char无符号字符型数据、short短整型数据、unsigned short无符号短整型数据、int整型数据、unsigned int无符号整型数据、long长整型数据和unsigned long无符号长整型数据。通常整型数据存储时占用的存储单元较少。也就是说,将传输数据压缩为整形数据,能够有效减少数据传输量。
另外,整型数据被传输给头戴显示设备后,头戴显示设备依据整型数据进行画面更新,头戴显示设备中包括有显示屏幕,通过显示屏幕的显示后能够观看画面更新内容。
本实施例的技术方案中,用户佩戴头戴显示设备的过程中,经常需要变换位置以此来观看不同方向的显示画面,即可以理解为头戴显示设备的位置和姿态角度会发生变化,头戴显示设备中设置有传感器,传感器能够检测得到位置和姿态角度的变化,即传感器获取位姿信息,传感器依据检测获取的位姿信息生成传输数据,在对传输数据进行压缩处理,获得整型数据,经过压缩处理的整型数据能够节省传输空间,由此传输的数据量减少,保证数据传输顺利进行。
进一步地,所述压缩模块20包括:
获取单元21,用于获取传输数据中的原始数据;通常来说,原始数据的数据是十进制的。也就是说,传感器检测得到的位姿信息的开始数据是十进制的数字。
转化单元22,用于将所述原始数据转化为浮点数据;在使用头戴显示设备的过程中,为了使用户能够感受到身临其境的感觉,需要传感器检测得到的数据的精度足够高,一般将原始数据转化为浮点数据,采用浮点数据能够在数据融合计算时,使数据更加精确。
转化单元22还用于将所述浮点数据转化为整型数据。通常,浮点数据的存储空间一般占用较大的位置,通过将浮点数据转化为整形数据,整形数据占据的空间较少,通过将浮点数据转化为整形数据能够节省存储空间,便于数据传输。
进一步地,转化单元22还用于将原始数据转化为float类型数据。浮点数据也称为浮点型数据,通常采用十进制,或者十进制的指数形式。其中,float类型数据为十进制的指数形式。float类型数据的存储方式包括符号位、指数位和尾数位,通常符号位占有1位,即1bit,指数位占有8位,即8bits,尾数位占有23位,即23bits。float类型数据的精度是由尾数的位数来决定的,一般符号位是不变的。由此可知float类型数据占据了较大的存储空间。
转化单元22还用于将float类型数据转化为int类型数据。其中,int类型数据是整型数据中的一种,int类型数据是一种二进制的数值,将float数据转化为int类型数据能够有效节省存储空间。
进一步地,转化单元22还用于获取float类型数据的尾数位长度,依据尾数位长度确定float类型数据的有效数;参阅图5所示,float类型数据的尾数位长度在17至21之间,压缩后的尾数位对应为18至22。尾数位17至21之间分别对应的精度为131072,262144,524288,1048576和2097152,结合精度要求和存储空间大小,可以选择对应的尾数位。
转化单元22还用于依据有效数,将float类型数据转化为int类型数据。其中,选择其中压缩后的尾数位对应为18至22作为有效数,int类型数据是整型数据中的一种,int类型数据是一种二进制的数值,将float数据转化为int类型数据能够有效节省存储空间。
进一步地,转化单元22还用于将原始数据与100对比,将原始数据转化为数值范围在-1至1之间的float类型数据;具体地,将原始数据除以100,或者说,将原始数据的小数点左移两位,将原始数据转化为float类型数据,float类型数据的范围在-1至1之间。
(float)datal=(fioat)datal_ori/100
其中,(fioat)datal_ori表示原始数据,(float)datal表示为浮点数据。
转化单元22还用于获取float类型数据的尾数位长度为21位,依据21位的尾数位长度确定float类型数据的有效数为20;其中21位中,其中一位符号位,即有效数为220=1048576,将转换完的数据转换为0~1048576之间的整数
(int)datal_final=int(datal×1048576)
其中,(int)datal_final表示二进制的int类型数据存储,一般数据包括三维空间象限下的数值,21位和三个象限则
63=21×3
63位,为8个字节空间。
转化单元22还用于依据20位的有效数,将float类型数据转化为二进制的int类型数据。而采用float类型数据,指数位占有8位,即8bits,一个字节,尾数位占有23位,占据3个字节,即是说4个字节,三个象限则
12=4×3
由此可知,float类型数据占据12个字节空间,由此可知,相比float类型数据占据12个字节空间,int类型数据占据8个字节空间,采用int类型数据能够有效节省存储空间。
进一步地,控制模块10还用于获取陀螺仪测量得出的第一数值和加速度传感器测量得出的第二数值,依据第一数值和第二数值确定头戴显示设备的位姿信息。
具体地,陀螺仪能够测量得出头戴显示设备的方向值,即第一数值,加速度传感器能够测量得出头戴显示设备的移动位置,即第二数值,依据第一数值和第二数值,能够测量得出头戴显示设备的朝向和位置变化,即得出头戴显示设备的位姿信息。依据位姿信息获取更新画面的内容。
本发明还提供一种头戴显示设备,所述头戴显示设备包括:存储器、处理器及存储在所述存储器上并在所述处理器上运行的数据传输程序;所述数据传输程序被所述处理器执行时实现如上文所述的数据传输方法的步骤。
本发明头戴显示设备具体实施方式可以参照上述数据传输方法各实施例,在此不再赘述。
本发明还提供一种可读存储介质,所述可读存储介质上存储数据传输程序,所述数据传输程序被处理器执行时实现如上文所述的数据传输方法的步骤。
本发明可读存储介质具体实施方式可以参照上述数据传输方法各实施例,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。