CN117294832A - 数据处理方法、装置、电子设备和计算机可读存储介质 - Google Patents
数据处理方法、装置、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117294832A CN117294832A CN202311558062.XA CN202311558062A CN117294832A CN 117294832 A CN117294832 A CN 117294832A CN 202311558062 A CN202311558062 A CN 202311558062A CN 117294832 A CN117294832 A CN 117294832A
- Authority
- CN
- China
- Prior art keywords
- timestamp
- data frame
- data
- sample
- adjusted
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 88
- 230000005540 biological transmission Effects 0.000 claims abstract description 82
- 238000009877 rendering Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 claims abstract description 12
- 230000015654 memory Effects 0.000 claims description 32
- 230000008859 change Effects 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 230000033001 locomotion Effects 0.000 claims description 13
- 230000002452 interceptive effect Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 40
- 230000004927 fusion Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/398—Synchronisation thereof; Control thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
-
- 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/366—Image reproducers using viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0096—Synchronisation or controlling aspects
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种数据处理方法、装置、电子设备和计算机可读存储介质。该数据处理方法包括:获取第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差;采集第一数据帧,其中,第一数据帧包括第一设备的姿态数据和采集第一数据帧时的第一时间戳;基于第一时间戳基准偏差和第一设备和第二设备之间的传输延迟,调整第一数据帧,得到调整后的第一数据帧;将调整后的第一数据帧发送给第二设备,以使第二设备根据调整后的第一数据帧和接收调整后的第一数据帧时第二设备采集的第二数据帧进行姿态渲染和/或显示。该方法可以使第二设备处理较新的数据,进而展示较新的设备间相对姿态,减小延迟。
Description
技术领域
本公开的实施例涉及一种数据处理方法、装置、电子设备和计算机可读存储介质。
背景技术
增强现实(Augmented Reality,AR)技术是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,从而实现对真实世界的“增强”。
可以通过语音指令和手势识别实现对智能穿戴设备的控制,此外,用户也可以佩戴姿态检测设备,姿态检测设备可以通过传感器等检测用户姿态,并将姿态数据发送给智能穿戴设备,以此实现对智能穿戴设备的控制。
发明内容
本公开至少一个实施例提供一种用于第一设备的数据处理方法,包括:获取所述第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差;采集第一数据帧,其中,所述第一数据帧包括所述第一设备的姿态数据和采集所述第一数据帧时的第一时间戳;基于所述第一时间戳基准偏差、所述第一设备和所述第二设备之间的传输延迟,调整所述第一数据帧,得到调整后的第一数据帧;将所述调整后的第一数据帧发送给所述第二设备,以使所述第二设备根据所述调整后的第一数据帧进行姿态渲染和/或显示。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,获取所述第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差,包括:确定所述第一设备的时间戳和所述第二设备的时间戳之间的第一时间戳偏差;获得所述第一设备与所述第二设备之间的传输延迟;基于所述第一时间戳偏差和所述传输延迟,得到所述第一时间戳基准偏差。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,确定所述第一设备的时间戳和所述第二设备的时间戳之间的第一时间戳偏差,包括:多次向所述第二设备发送第一设备采集的第一数据帧,以使所述第二设备根据多次接收的第一数据帧的第一时间戳和在每次接收所述第一数据帧时所述第二设备的第二时间戳得到所述第一时间戳偏差,接收所述第二设备发送的所述第一时间戳偏差;或者接收所述第二设备多次发送的第二设备采集的第二数据帧,并根据多次接收的第二数据帧的第二时间戳和在每次接收所述第二数据帧时所述第一设备的第一时间戳,得到所述第一时间戳偏差。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,基于所述第一时间戳基准偏差和所述第一设备和所述第二设备之间的传输延迟,调整所述第一数据帧,得到调整后的第一数据帧,包括:基于所述第一时间戳基准偏差和所述传输延迟,调整所述第一时间戳,得到调整后的第一时间戳;基于所述传输延迟,预测姿态数据;基于所述调整后的第一时间戳和预测的姿态数据,得到调整后的第一数据帧。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,基于所述传输延迟,预测姿态数据,包括:基于所述第一数据帧的姿态数据和所述第一设备的历史姿态数据,预测经过所述传输延迟之后的姿态数据。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,所述传输延迟基于以下确定:获取所述第一设备和所述第二设备从同一时刻开始执行相同运动的过程中分别采集的多个第一样本数据帧和多个第二样本数据帧;基于所述多个第一样本数据帧和所述多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳基准偏差;通过在所述第一设备和所述第二设备之间传输所述第一设备采集的多个第一样本数据帧或者所述第二设备采集的多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳偏差;根据所述第二时间戳基准偏差和所述第二时间戳偏差,确定所述第一设备和所述第二设备之间的传输延迟。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,每个所述第一样本数据帧包括采集时的第一样本时间戳,每个所述第二样本数据帧包括采集时的第二样本时间戳。基于所述多个第一样本数据帧和所述多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳基准偏差,包括:基于相同数量的所述第一样本数据帧的所述第一样本时间戳和所述第二样本数据帧的所述第二样本时间戳确定第二时间戳基准偏差。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,每个所述第一样本数据帧包括所述第一设备的姿态变化数据和采集时的第一样本时间戳,每个所述第二样本数据帧包括所述第二设备的姿态变化数据和采集时的第二样本时间戳。基于所述多个第一样本数据帧和所述多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳基准偏差,包括:针对每个所述第一样本数据帧,从所述多个第二样本数据帧中确定与所述第一样本数据帧的姿态变化数据最接近的第二样本数据帧;根据所述多个第一样本数据帧的第一样本时间戳和分别与所述多个第一样本数据帧最接近的多个第二样本数据帧的第二样本时间戳之间的偏差,确定所述第二时间戳基准偏差。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,通过在所述第一设备和所述第二设备之间传输所述第一设备采集的多个第一样本数据帧或者所述第二设备采集的多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳偏差,包括:多次向所述第二设备发送所述第一设备采集的第一样本数据帧,以使所述第二设备根据多次接收的第一样本数据帧的第一样本时间戳和在每次接收所述第一样本数据帧时所述第二设备的第二样本时间戳得到所述第二时间戳偏差,接收所述第二设备发送的所述第二时间戳偏差;或者接收所述第二设备多次发送的所述第二设备采集的第二样本数据帧的,并根据多次接收的第二样本数据帧的的第二样本时间戳和在每次接收所述第二样本数据帧的时所述第一设备的第一样本时间戳,得到所述第二时间戳偏差。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,所述第一设备为可穿戴的姿态检测设备,用于检测用户的目标部位的姿态;所述第二设备为智能穿戴设备。
例如,在本公开上述实施例的至少一个示例提供的用于第一设备的数据处理方法中,将所述调整后的第一数据帧发送给所述第二设备,以使所述第二设备基于所述调整后的第一数据帧进行姿态渲染和/或显示,包括:将所述调整后的第一数据帧发送给所述第二设备,以使所述第二设备基于所述调整后的第一数据帧和接收所述调整后的第一数据帧时所述第二设备采集的第二数据帧进行姿态渲染和/或显示。
本公开至少一个实施例提供一种用于第二设备的数据处理方法,包括:接收来自第一设备的调整后的第一数据帧,其中,所述调整后的第一数据帧是所述第一设备采集第一数据帧后,基于所述第一设备的时间戳基准和所述第二设备的时间戳基准之间的第一时间戳基准偏差和所述第一设备和所述第二设备之间的传输延迟对所述第一数据帧调整后得到的;获取接收所述调整后的第一数据帧时所述第二设备采集的第二数据帧;基于所述调整后的第一数据帧和所述第二数据帧,进行姿态渲染和/或显示。
例如,在本公开上述实施例的至少一个示例提供的用于第二设备的数据处理方法中,基于所述调整后的第一数据帧和所述第二数据帧,进行姿态渲染和/或显示,包括:基于所述调整后的第一数据帧和所述第二数据帧,确定所述第一设备相对于所述第二设备的相对姿态;基于所述相对姿态,渲染所述相对姿态的图形。
例如,在本公开上述实施例的至少一个示例提供的用于第二设备的数据处理方法中,基于所述相对姿态,渲染表征所述相对姿态的图形,包括:确定获得所述相对姿态的时刻距所述第二设备的下一显示周期的开始时刻之间的第一时长;基于所述相对姿态和历史相对姿态,预测所述第一时长之后的相对姿态;基于预测的相对姿态,渲染所述图形,得到待显示图像。
例如,本公开上述实施例的至少一个示例提供的用于第二设备的数据处理方法还包括:将所述待显示图像展示在所述第二设备的显示面板。
本公开至少一个实施例提供一种用于交互系统的数据处理方法,其中,所述交互系统包括第一设备和第二设备,所述方法包括:所述第一设备采集第一数据帧,其中,所述第一数据帧包括第一设备的姿态数据和采集所述第一数据帧时的第一时间戳;所述第一设备基于所述第一设备的时间戳基准和所述第二设备的时间戳基准之间的第一时间戳基准偏差、所述第一设备和所述第二设备之间的传输延迟,调整所述第一数据帧,得到调整后的第一数据帧,并将所述调整后的第一数据帧发送给所述第二设备;所述第二设备根据所述调整后的第一数据帧和接收所述调整后的第一数据帧时所述第二设备采集的第二数据帧进行姿态渲染和/或显示。
本公开至少一个实施例提供一种用于第一设备的数据处理装置,包括第一获取模块、第一采集模块、第一调整模块和第一发送模块,第一获取模块配置为获取所述第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差;第一采集模块配置为采集第一数据帧,其中,所述第一数据帧包括所述第一设备的姿态数据和采集所述第一数据帧时的第一时间戳;第一调整模块配置为基于所述第一时间戳基准偏差和所述第一设备和所述第二设备之间的传输延迟,调整所述第一数据帧,得到调整后的第一数据帧;第一发送模块配置为将所述调整后的第一数据帧发送给所述第二设备,以使所述第二设备根据所述调整后的第一数据帧和接收所述调整后的第一数据帧时所述第二设备采集的第二数据帧进行姿态渲染和/或显示。
本公开至少一个实施例提供一种用于第二设备的数据处理装置,包括接收模块、第二获取模块和执行模块,接收模块配置为接收来自第一设备的调整后的第一数据帧,其中,所述调整后的第一数据帧是所述第一设备采集第一数据帧后,基于所述第一设备的时间戳基准和所述第二设备的时间戳基准之间的第一时间戳基准偏差、所述第一设备和所述第二设备之间的传输延迟对所述第一数据帧调整后得到的;第二获取模块配置为获取接收所述调整后的第一数据帧时所述第二设备采集的第二数据帧;执行模块配置为基于所述调整后的第一数据帧和所述第二数据帧,进行姿态渲染和/或显示。
本公开至少一个实施例提供一种电子设备,包括处理器;存储器,存储有一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被配置为由所述处理器执行,用于实现本公开任一实施例提供的数据处理方法。
本公开至少一个实施例提供一种计算机可读存储介质,存储有非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时可以实现本公开任一实施例提供的数据处理方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了本公开至少一实施例提供的一种应用场景的示意图;
图2示出了本公开至少一实施例提供的一种用于第一设备的数据处理方法的流程图;
图3示出了本公开至少一实施例提供的两个设备之间的时间戳基准、时间戳和传输延迟的示意图;
图4示出了本公开至少一实施例提供的确定第一时间戳基准偏差的方法的流程图;
图5示出了本公开至少一实施例提供的调整第一数据帧的方法的流程图;
图6示出了本公开至少一实施例提供的一种确定传输延迟的方法的流程图;
图7示出了本公开至少一实施例提供的角度和时间戳的示意图;
图8示出了本公开至少一实施例提供的一种用于第二设备的数据处理方法的流程图;
图9示出了本公开至少一实施例提供的一种确定第一时长的示意图;
图10示出了本公开至少一实施例提供的一种用于交互系统的数据处理方法的流程图;
图11示出了本公开至少一个实施例提供的一种用于第一设备的数据处理装置的示意框图;
图12示出了本公开至少一个实施例提供的一种用于第二设备的数据处理装置的示意框图;
图13示出了本公开至少一个实施例提供的一种电子设备的示意框图;
图14示出了本公开至少一个实施例提供的另一种电子设备的示意框图;以及
图15示出了本公开至少一个实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
姿态检测设备可以包括手部姿态检测设备,可以用于检测用户手部的姿态信息。姿态检测设备和智能穿戴设备以双设备模式工作时,姿态检测设备可以将检测的姿态数据发送给智能穿戴设备,智能穿戴设备可以根据姿态检测设备发送的姿态数据执行相应的操作。
例如,在一些实施例中,智能穿戴设备可以根据接收的姿态数据和自身的姿态数据,进行双机姿态融合操作,例如,计算姿态检测设备相对于智能穿戴设备的相对姿态,然后智能穿戴设备以预定形式展示该相对姿态,以使用户可以从智能穿戴设备的屏幕上看到姿态检测设备的姿态变化。
图1示出了本公开至少一实施例提供的一种应用场景的示意图。
如图1所示,第一设备101为姿态检测设备,第一设备101例如是智能指环,智能指环可以被佩戴在用户的一个或者多个手指上,智能指环可以检测用户手部的姿态和动作,例如检测手指的摆动、弯曲、平移等动作。第二设备102为智能穿戴设备,第二设备102可以被佩戴在用户的头部上,例如是AR(Augmented Reality,增强现实)、VR(Virtual Reality,虚拟现实)或者MR(Mixed Reality,混合现实)的眼镜。第二设备102可以具备显示器(例如Micro-LED显示屏)和渲染器(例如GPU(Graphics Processing Unit,图形处理器))以生成并显示相应的画面等等。当第二设备102被佩戴在用户的头部上时,第二设备102可以检测用户头部的姿态和动作,例如检测头部的旋转、倾斜和平移等动作。
第一设备101和第二设备102之间可以采用短距离无线通信技术建立连接,例如蓝牙、WIFI(一种无线网络传输技术)、UWB(Ultra Wide Band,超宽带)等。
例如,可以基于第一设备101的姿态确定所指向的第二设备102所显示画面中的区域,第一设备101上通常还具有一个或者多个触摸区域或者实体按键,当用户的手指或者其它部位触控该触摸区域或者实体按键时,第一设备101可以基于上述触控以及上述被指向的区域发出相应的指令。
例如,第一设备101的姿态在第二设备102上可以显示为一个虚拟的图形,例如可以是虚拟的射线,该虚拟图形可以表示第一设备101相对于第二设备102的相对姿态。第一设备101的姿态变化可以引起射线的变化,例如射线的终点原来指向区域A,第一设备101的姿态变化(比如佩戴者的手指移动)后射线的终点指向了区域B,那么就可以在B区域输入类似点击的操作。此外,第二设备102的姿态变化也可以引起射线的变化。
第一设备101可以实时地将检测的姿态数据发送给第二设备102,第二设备102可以基于第一设备发来的姿态数据和第二设备102的姿态数据进行姿态融合、虚拟图形渲染、显示等操作。
由于不同设备的时间戳基准往往不是严格一样的,并且双设备姿态传输也有延迟,直接对姿态融合难以达到智能穿戴设备的显示要求。
本公开至少一个实施例提供一种用于第一设备的数据处理方法和装置、用于第二设备的数据处理方法和装置、用于交互系统的数据处理方法、电子设备和计算机可读存储介质。该用于第一设备的数据处理方法包括:获取第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差;采集第一数据帧,其中,第一数据帧包括第一设备的姿态数据和采集第一数据帧时的第一时间戳;基于第一时间戳基准偏差、第一设备和第二设备之间的传输延迟,调整第一数据帧,得到调整后的第一数据帧;将调整后的第一数据帧发送给第二设备,以使第二设备根据调整后的第一数据帧进行姿态渲染和/或显示。
根据本公开至少一实施例的数据处理方法,对第一数据帧进行调整后,可以使得调整后的第一数据帧与第二设备接收该调整后的数据帧时第二设备采集的第二数据帧相对应,这样,当调整后的第一数据帧被发送到第二设备时,第二设备可以立即基于接收的该调整后的第一数据帧和第二设备当前采集的第二数据帧执行姿态融合等操作,既可以节省查找相应数据帧的时间,又可以使得第二设备能够处理较新的数据,进而展示较新的相对姿态,可以减小或者消除延迟。
图2示出了本公开至少一实施例提供的一种用于第一设备的数据处理方法的流程图。
如图2所示,该用于第一设备的数据处理方法可以包括步骤S110~S140。
步骤S110:获取第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差。
步骤S120:采集第一数据帧,该第一数据帧包括第一设备的姿态数据和采集第一数据帧时的第一时间戳。
步骤S130:基于第一时间戳基准偏差、第一设备和第二设备之间的传输延迟,调整第一数据帧,得到调整后的第一数据帧。
步骤S140:将调整后的第一数据帧发送给第二设备,以使第二设备根据调整后的第一数据帧进行姿态渲染和/或显示。
例如,本公开至少一实施例中的第一设备和第二设备是为了区分不同设备,此外,也可以使用其他名称进行区分,例如,在以下实施例中,第一设备也被称为设备A,第二设备也被称为设备B。
例如,第一设备为可穿戴的姿态检测设备,用于检测用户的目标部位的姿态。目标部位例如可以是手部,第一设备例如可以实现为智能指环。第一设备内部例如可以设置有惯性传感器IMU(Inertial Measurement Unit),惯性传感器IMU可以在运行状态下按照采样频率采集数据帧(第一设备采集的数据帧可以称为第一数据帧),其中每个第一数据帧可以包括第一设备的姿态数据和采集第一数据帧时第一设备的时间戳(第一设备的时间戳可以称为第一时间戳),第一设备的姿态数据可以包括第一设备的惯性传感器IMU感应到的IMU数据,也可以包括将IMU数据转换为以世界坐标系为基准的数据。例如,除指环之外,第一设备还可以是具有姿态检测功能的其他设备,例如可以是手机。
例如,第二设备为智能穿戴设备,例如可以是AR、VR、MR设备。第二设备也可以设置有惯性传感器IMU(Inertial Measurement Unit),惯性传感器IMU可以在运行状态下按照采样频率采集数据帧(第二设备采集的数据帧可以称为第二数据帧),其中每个第二数据帧可以包括第二设备的姿态数据和采集第二数据帧时第二设备的时间戳(第二设备的时间戳可以称为第二时间戳),第二姿态数据可以包括第二设备的惯性传感器IMU感应到的IMU数据,也可以包括将IMU数据转换为以世界坐标系为基准的数据。例如,第二设备也可以是具有姿态检测功能以及渲染和显示功能的其他设备,例如可以是手机。
例如,第一设备和第二设备之间可以进行无线通信传输,例如进行短距离无线通信,短距离无线通信包括蓝牙、WIFI、UWB等通信方式。此外,第一设备和第二设备之间也可以进行有线通信传输,例如通过USB(Universal Serial Bus,通用串行总线)数据线传输。
例如,在一些实施例中,第一设备和第二设备通过蓝牙点对点连接,两个设备之间可以采用固定的传输包大小和传输包频率,传输包频率表示在固定时长(例如1秒)内传输的数据包的数量。
例如,第一设备和第二设备可以均具有3DoF(3 Degree of Freedom,3自由度)功能,3DoF功能可以理解为可以检测设备的穿戴部位(手部或头部)在 3个坐标轴(X、Y、Z)方向上的转动。
例如,第一设备可以采集多个第一数据帧并将采集的第一数据帧发送给第二设备,第二设备每接收一个第一数据帧,可以确定第二设备采集的数据帧中与接收的第一数据帧在时间上相对应的第二数据帧。利用第一数据帧和其对应的第二数据帧进行姿态融合、姿态渲染和显示操作。其中,姿态融合可以包括根据第一数据帧和第二数据帧计算第一设备相对于第二设备的相对姿态,姿态渲染可以包括基于计算得到的相对姿态渲染表征该相对姿态的图形,姿态显示可以包括显示渲染得到的图形。
例如,可以利用射线图形来表征第一设备相对于第二设备的相对姿态,射线可绕3D空间的X/Y/Z三轴转动,每当第一设备相对于第二设备的相对姿态发生变化时,可以重新渲染该射线图形,以使渲染得到的射线图形与变化后的相对姿态相对应。例如,以X轴为例,在第一时刻,若第一设备相对于第二设备在X轴上旋转度数为0°,那么第二设备可以渲染一个与X轴平齐的射线,从第一时刻至第二时刻,第一设备相对于第二设备在X轴上从度数0°旋转为度数30°,那么第二设备可以渲染绕X轴旋转30°的射线。每次渲染得到射线之后,可以在第二设备的屏幕上显示渲染得到的射线,以使用户看到第一设备相对于第二设备的相对姿态的转变。
例如,第一设备的时间戳基准可以是第一设备的上电时刻,第二设备的时间戳基准可以是第二设备的上电时刻。由于第一设备和/或第二设备重新上电后,两者之间的时间戳基准的偏差会发生变化,因而,每次重新上电后,可以执行步骤S110来重新标定两个设备之间的时间戳基准偏差(即第一时间戳基准偏差)。
例如,在其他实施例中,第二设备可以联网或者连接手机侧,第二设备的时间可以是授时的,第二设备的时间戳基准可以如Unix系统一样从某年某月某日某时某分某秒开始计算。第一设备的时间戳基准可以是第一设备的上电时刻。这种情况下,第一设备重新上电后,第一设备和第二设备的时间戳基准的偏差发生变化,可以执行步骤S110来重新标定两个设备之间的时间戳基准偏差。
图3示出了本公开至少一实施例提供的两个设备之间的时间戳基准、时间戳和传输延迟的示意图。
如图3所示,设备A和设备B的时间戳基准、时间戳和传输延迟之间的关系可以通过下式(1)表示。
(1)
其中,ta表示设备A采集到的时间戳,tb表示在设备B接收到ta的时刻,设备B采集到的时间戳,bA、bB分别表示设备A、设备B的时间戳基准,T表示设备A到设备B的传输延迟的时长。例如,每个设备的时间戳基准可以是时间点,每个设备采集的时间戳可以是从相应设备的时间戳基准开始到当前的采集时间所经过的时长(例如经过的秒数)。
例如,在两个设备之间的传输延迟T已知的情况下,可以利用传输延迟T和两个设备之间的时间戳偏差(例如tb-ta)来计算得到两个设备之间的时间戳基准的偏差(例如bA-bB)。两个设备之间的时间戳偏差可以是数据帧在设备A被采集时的时间戳和该数据帧被设备B接收时设备B的时间戳之间的偏差。
例如,第一设备和第二设备上运行的程序可以是固定的,在传输信道质量可靠的情况下,可以认为两个设备之间的传输延迟是在某个稳定的值附近波动。在执行上述步骤S110和S140之前,可以预先标定第一设备和第二设备之间的传输延迟,以在执行上述步骤S110和S130时使用该传输延迟。传输延迟的具体标定方法将会在以下的实施例中进行描述。
例如,在确定第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差之后,可以执行步骤S120~S140。
例如,在步骤S140中,将调整后的第一数据帧发送给第二设备,以使第二设备基于该调整后的第一数据帧进行姿态渲染和/或显示,可以包括:将调整后的第一数据帧发送给第二设备,以使第二设备基于该调整后的第一数据帧和接收该调整后的第一数据帧时第二设备采集的第二数据帧进行姿态渲染和/或显示。
在步骤S120~S140中,第一设备每采集一个数据帧(即第一数据帧),均可以利用步骤S110得到的第一时间戳基准偏差和预先标定的传输延迟T对采集的第一数据帧进行调整,得到调整后的第一数据帧,并将调整后的第一数据帧发送给第二设备。使得调整后的第一数据帧正好可以与第二设备接收第一数据帧时刻采集的第二数据帧相对应,可以利用第一数据帧和第二数据帧进行姿态融合、渲染和显示操作。
例如,第一设备采集得到第一数据帧之后,将第一数据帧的时间戳调整为与第二设备在时长T之后的时间戳一致,并将第一数据帧调整为与时长T之后的时间戳对应的数据帧,这样,当调整后的数据帧被发送到第二设备时,第二设备当前采集的第二数据帧的时间戳与接收的调整后的第一数据帧的时间戳一致,第二设备即可根据这两个数据帧进行姿态融合、渲染和显示操作。
例如,若第一设备不对第一数据帧进行调整,直接将第一数据帧发送给第二设备,第二设备接收第一数据帧后,需要从之前采集的数据帧中查找与第一数据帧的时间戳相对应的数据帧,查找期间,由于第一设备的时间戳基准和第二设备的时间戳基准不一致,因而还需要根据时间戳基准的偏差进行时间戳的换算,耗费时间。如果第一设备是以上电时间作为时间戳基准,第二设备是以Unix默认的时间戳基准,这两者的时间戳基准的差距会特别大,查找对应数据帧的耗时较大甚至无法找到对应的数据帧。并且,第一数据帧被发送到第二设备时,第二设备只能基于之前采集的数据帧执行姿态融合等操作,不能基于最新采集的数据帧执行姿态融合等操作,因而融合操作存在延迟,进而使渲染和显示的图形也存在延迟。
根据本公开至少一实施例对第一数据帧进行调整后,使得调整后的第一数据帧可以与第二设备接收该调整后的数据帧时第二设备采集的第二数据帧相对应,这样,当调整后的第一数据帧被发送到第二设备时,第二设备可以立即基于接收的该调整后的第一数据帧和当前采集的第二数据帧执行姿态融合等操作,既可以节省查找相应数据帧的时间,又可以使得第二设备能够处理较新的数据,进而展示较新的相对姿态,可以减小或者消除延迟。
图4示出了本公开至少一实施例提供的确定第一时间戳基准偏差的方法的流程图。
如图4所示,步骤S110可以包括步骤S111~S113。
步骤S111:确定第一设备的时间戳和第二设备的时间戳之间的第一时间戳偏差。
步骤S112:获得第一设备与第二设备之间的传输延迟。
步骤S113:基于第一时间戳偏差和第一设备与第二设备之间的传输延迟,得到第一时间戳基准偏差。
例如,第一设备的时间戳可以是第一设备的时间戳计时器所记录的从第一设备的时间戳基准开始到当前时刻所经历的时间(例如以秒为单位计时),第二设备的时间戳可以是第二设备的时间戳计时器所记录的从第二设备的时间戳基准开始到当前时刻所经历的时间。第一时间戳偏差可以理解为在同一时刻第一设备所记录的时间戳和第二设备所记录的时间戳之间的偏差。
例如,在步骤S111中,第一设备可以多次向第二设备发送第一设备采集的第一数据帧(包括第一时间戳),以使第二设备根据多次接收的第一数据帧的第一时间戳和在每次接收第一数据帧时第二设备的第二时间戳得到第一时间戳偏差,接收第二设备发送的第一时间戳偏差。
例如,设备A按照采样频率采集并发送多个(例如100个)第一数据帧给设备B,每个第一数据帧包括采集时的第一时间戳,第i个第一数据帧的第一时间戳(即第一时间戳)用tai表示(i∈[1,100]),设备B接收该第i个第一数据帧时刻设备B的时间戳(即第二时间戳)用tbi表示,计算第i个第一数据帧对应的时间戳偏差tbi-tai,以此得到每个第一数据帧对应的时间戳偏差tbi-tai,计算多个(例如100个)第一数据帧对应的多个时间戳偏差tbi-tai的均值,结果用Δtba表示,该结果Δtba可以作为设备A和设备B之间的时间戳偏差tb-ta。设备B计算得到时间戳偏差Δtba之后,可以将该时间戳偏差Δtba发送给设备A。
例如,在另一些实施例中,步骤S111还可以包括:接收第二设备多次发送的第二设备的第二数据帧(包括第二时间戳),并根据多次接收的第二数据帧的第二时间戳和在每次接收第二数据帧时第一设备的第一时间戳,得到第一时间戳偏差。例如,设备B可以按照采样频率采集并发送多个(例如100个)第二数据帧给设备A,设备A可以根据每个第二数据帧的第二时间戳和设备A接收每个第二数据帧时的第一时间戳,计算得到每个第二数据帧对应的时间戳偏差,然后将多个第二数据帧对应的时间戳偏差的均值作为设备A和设备B之间的时间戳偏差tb-ta。
例如,在步骤S112中,可以获取预先标定传输延迟T。
例如,在步骤S113中,可以利用下式(2)计算得到第一设备和第二设备之间的时间戳基准的偏差bA-bB,用ΔbAB表示。
ΔbAB=Δtba-T (2)
例如,若ΔbAB小于0,表示bA超前于bB(即时间线上设备A的时间戳基准早于设备B的时间戳基准),从数值上来看就是bA小于bB,表征设备A比设备B的上电时间早。若ΔbAB大于0,表示bA晚于bB,从数值上来看就是bA大于bB,表征设备A比设备B的上电时间晚。
例如,利用公式(2)计算ΔbAB的过程可以在第一设备中执行,也可以在第二设备中执行,第二设备计算得到ΔbAB之后,可以将ΔbAB发送给第一设备。
通过上述步骤S111~S113可以准确且快速地得到第一设备和第二设备之间地时间戳基准的偏差(即第一时间戳基准偏差),进而可以使第一设备能够准确地调整第一数据帧。
例如,在利用步骤S110确定第一设备和第二设备之间的时间戳基准的偏差ΔbAB之后,可以执行步骤S120,采集第一数据帧。在步骤S130中可以对该第一数据帧进行调整。
图5示出了本公开至少一实施例提供的调整第一数据帧的方法的流程图。
如图5所示,步骤S130可以包括步骤S131~S133。
步骤S131:基于第一时间戳基准偏差和传输延迟,调整第一时间戳,得到调整后的第一时间戳。
步骤S132:基于传输延迟时长,预测姿态数据。
步骤S133:基于调整后的第一时间戳和预测的姿态数据,得到调整后的第一数据帧。
例如,步骤S131可以包括:基于第一时间戳基准偏差,调整第一时间戳,得到初步调整后的第一时间戳;基于传输延迟,对初步调整后的第一时间戳进行调整,得到调整后的第一时间戳。
例如,在步骤S131中,将第一数据帧对应的时间戳基准调整为与第二设备的时间戳基准一致,以统一第一设备和第二设备的时间戳基准,使得第二设备接收第一设备发来的数据帧之后不需要再基于两个设备之间的时间戳基准偏差进行时间戳的换算。例如,调整前设备A采集的第一数据帧表示为{QA, ta},其中QA为解算的设备A的姿态(例如在世界坐标系下的姿态)。利用第一设备和第二设备之间的时间戳基准偏差(即第一时间戳基准偏差),将第一数据帧调整为{QA, ta+ΔbAB}。如果ΔbAB <0,那么设备A的数据帧在调整后时间戳基准将变得滞后,相应地第一数据帧的时间戳在数值上会变小。
例如,由于传输延迟T,设备A的数据不加处理地传输到设备B时,已经滞后于设备B的姿态,可以对设备A的姿态往后预测T时间以补偿这个传输延迟,并相应地调整时间戳。例如,在步骤S131中,还可以在初步调整后的第一时间戳基础上再增加时长T。在步骤S132中,可以基于第一数据帧的姿态数据和第一设备的历史姿态数据,预测经过传输延迟T之后的姿态数据,将第一数据帧中的姿态数据调整为预测的姿态数据。例如,在数据帧{QA, ta+ΔbAB}的基础上进一步进行数据帧预测和时间戳调整后,得到数据帧{QA(T), ta+ΔbAB+T},这里QA(T)是预测的T时刻之后的设备A的姿态,可以利用指数平滑法,基于采集的第一数据帧的姿态数据QA和第一设备之前采集的历史数据帧的姿态数据,预测得到该T时刻之后的姿态数据QA(T)。此数据帧在设备A产生的实际时间戳为ta+ΔbAB,传输到设备B的链路耗时T,因此到达B设备的时间戳刚好为ta+ΔbAB+T。这样,设备B每接收到一个设备A发来的数据帧,都与接收时刻B自身的姿态进行融合,得到设备A相对于设备B的相对姿态,减小或消除了延迟。
例如,调整后的第一数据帧包括调整后的第一时间戳和调整后的第一数据帧。
图6示出了本公开至少一实施例提供的一种确定传输延迟的方法的流程图。
如图6所示,在执行上述步骤S110和S140之前,可以预先基于以下步骤S01~S04获得第一设备和第二设备之间的传输延迟。为了将获得传输延迟过程中的数据帧和时间戳与上述调整过程中的数据帧和时间戳进行区分,在以下获得传输延迟的过程中,将第一设备采集的数据帧称为第一样本数据帧,将第一设备的时间戳称为第一样本时间戳,将第二设备采集的数据帧称为第二样本数据帧,将第二设备的时间戳称为第二样本时间戳。
步骤S01:获取第一设备和第二设备从同一时刻开始执行相同运动的过程中分别采集的多个第一样本数据帧和多个第二样本数据帧;
步骤S02:基于多个第一样本数据帧和多个第二样本数据帧,确定第一设备和第二设备之间的第二时间戳基准偏差;
步骤S03:通过在第一设备和第二设备之间传输第一设备采集的多个第一样本数据帧或者第二设备采集的多个第二样本数据帧,确定第一设备和第二设备之间的第二时间戳偏差;
步骤S04:根据第二时间戳基准偏差和第二时间戳偏差,确定第一设备和第二设备之间的传输延迟。
例如,上述步骤S01~S04可以由第一设备和第二设备中的任一设备执行,也可以由除第一设备和第二设备之外的其他设备执行。
例如,在步骤S01中,获取第一设备和第二设备从同一时刻(称为初始时刻)开始执行相同运动的过程中分别采集的多个第一样本数据帧和多个第二样本数据帧。例如,可以将第一设备和第二设备放置在同一个转台上,静止放置一段时间(例如2秒)。静止放置期间,第一设备和第二设备可以启动各自的IMU数据采集程序,启动之后,第一设备和第二设备可以开始采集各自的数据帧。静止放置一段时间之后,可以使转台转动,例如使转台旋转90度,第一设备和第二设备开始随着转台执行相同的运动,转动期间,第一设备可以采集多个数据帧作为上述的多个第一样本数据帧(例如100帧),第二设备可以采集多个数据帧作为上述的多个第二样本数据帧(例如100帧)。
例如,在一些实施例中,每个第一样本数据帧包括第一设备的姿态变化数据和采集时的第一样本时间戳,每个第二样本数据帧包括第二设备的姿态变化数据和采集时的第二样本时间戳。在步骤S02中,可以针对每个第一样本数据帧,从多个第二样本数据帧中确定与第一样本数据帧的变化数据最接近的第二样本数据帧;根据多个第一样本数据帧的第一样本时间戳和分别与多个第一样本数据帧最接近的多个第二样本数据帧的第二样本时间戳之间的偏差,确定第二时间戳基准偏差。
例如,第一设备的姿态变化数据可以是第一设备的姿态相对于第一设备在初始时刻的初始姿态的变化角度,第二设备的姿态变化数据可以是第二设备的姿态相对于第二设备在初始时刻的初始姿态的变化角度。在步骤S02中,与第一样本数据帧的变化数据最接近的第二样本数据帧可以是与第一样本数据帧的变化角度最接近的第二样本数据帧。
例如,多个第一样本数据帧和多个第二样本数据帧中的每个数据帧可以包括:{IMU sensor数据_i,时间戳_i},其中i表示帧序号,i为正整数。对于每个设备,可以将数据帧{IMU sensor数据_i,时间戳_i}送给姿态解算单元,姿态解算单元经过计算可以将IMU帧转换为角度帧{角度_i,时间戳_i}。其中,角度_i表示帧i相对于帧0时刻的旋转角度。帧0时刻例如可以是IMU数据采集程序开启的时刻,或者可以是IMU数据采集程序开启之后且转台开始转动之前的某一时刻。上述初始时刻可以是该帧0时刻,初始时刻的初始姿态即为该帧0时刻的姿态,也即在转台上静止放置期间的姿态。转动停止之后可以再使第一设备和第二设备静止一段时间(例如2秒)。
图7示出了本公开至少一实施例提供的角度和时间戳的示意图。
如图7所示,方框中的每个点代表设备在转动期间的一个角度帧{角度_i,时间戳_i}。第一设备和第二设备可以各得到一组这样的数据,可以分别用DA、DB表示。由于第一设备和第二设备在同一时间段执行相同的运动,因此DA、DB的波形是一样的,又由于第一设备和第二设备的时间戳基准存在偏差,因而DA和DB会存在时间差,对应到图像上,两者的波形会有平移。图7示出的一条点状线例如表示其中一个设备的数据(例如表示第一设备的数据DA),另一设备的数据(例如第二设备的数据DB)对应的点状线与图7所示的点状线的波形一致,但是相对于图7所示的点状线存在平移。
例如,由于第一设备和第二设备执行相同的运动,因此,在同一时间,第一设备相对于初始姿态转动的角度和第二设备相对于初始姿态转动的角度是相同的。那么,对于第一设备和第二设备角度最接近的两个帧,这两个帧的采集时刻可以认为是相同的,但是由于第一设备和第二设备的时间戳基准不同,因而,这两个帧的时间戳也会存在偏差,这两个帧的时间戳偏差即为第一设备和第二设备的时间戳基准的偏差,对于DA的每个帧ai,在DB中找出与之角度最接近的帧bj,然后计算帧bj的时间戳减去帧ai的时间戳的值,并用Δti表示, i∈[1,100]表示,然后计算DA中多个帧对应的Δti的平均值,结果用Δt表示,如下式(3)所示。
(3)
例如,可以将该结果Δt作为第一设备的时间戳基准和第二设备的时间戳基准的偏差(即第二时间戳基准偏差)bA`-bB`,用ΔbAB`表示。
例如,在第一设备和第二设备同步转动过程中采样得到多个第一样本数据帧和多个第二样本数据帧,确定与每个第一样本数据帧的姿态变化数据最接近的第二样本数据帧,并根据每个第一样本数据帧与其最接近的第二样本数据帧之间的时间戳偏差,计算得到第二时间戳基准偏差。基于这一方式,可以准确地确定第一设备和第二设备之间的第二时间戳基准偏差,进而基于该第二时间戳基准偏差得到准确的传输延迟。
例如,在另一些实施例中,每个第一样本数据帧包括采集时的第一样本时间戳,每个第二样本数据帧包括采集时的第二样本时间戳。在步骤S02中,可以基于相同数量的第一样本数据帧的第一样本时间戳和第二样本数据帧的第二样本时间戳确定第二时间戳基准偏差。
例如,在随转台转动的过程中,第一设备采集了M(M为正整数,M例如等于100)个第一样本数据帧,在相同的采样频率下,第二设备同样采集了M个第二样本数据帧,计算该M个第一样本数据帧的第一时间戳的累加值与该M个第二样本数据帧的第一时间戳的累加值的差值,将该差值除以M得到的数值可以作为第一设备与第二设备的第二时间戳基准偏差。基于这一方式,可以快速且较为准确地确定第二时间戳基准偏差。
例如,在步骤S03中,可以多次向第二设备发送第一设备采集的第一样本数据帧(包括第一样本时间戳),以使第二设备根据多次接收的第一样本数据帧的第一样本时间戳和在每次接收第一样本数据帧时第二设备的第二样本时间戳得到第二时间戳偏差,接收第二设备发送的第二时间戳偏差;或者接收第二设备多次发送的第二设备采集的第二样本数据帧(包括第二样本时间戳),并根据多次接收的第二样本数据帧的第二样本时间戳和在每次接收第一样本数据帧时第一设备的第一样本时间戳,得到第二时间戳偏差。
例如,设备A可以按照采样频率采集并发送多个(例如100个)样本数据帧给设备B,设备A发送第i个样本数据帧时的时间戳(即第一样本时间戳)用tai`表示(i∈[1,100]),设备B接收该第i个样本数据帧时刻设备B的时间戳(即第二样本时间戳)用tbi`表示,计算第i个样本数据帧对应的时间戳偏差tbi`-tai`,以此得到每个样本数据帧对应的时间戳偏差tbi`-tai`,计算多个(例如100个)样本数据帧对应的多个时间戳偏差tbi`-tai`的均值,结果用Δtba`表示,该结果Δtba`可以作为设备A和设备B之间的时间戳偏差(即第二时间戳偏差)。
例如,在步骤S04中,可以利用下式(4)计算得到传输延迟T。
T=Δtba`-ΔbAB` (4)
例如,通过上述步骤S01~S04,可以预先确定第一设备第二设备之间的传输延迟的时长T。通过使第一设备和第二设执行相同运动,并基于运动期间两个设备采集的数据帧来计算两个设备之间的时间戳基准偏差,可以使得到的时间戳基准偏差更为准确,进而使得标定得到的传输延迟T也更为准确。可以仅执行一次S01~S04,即标定一次传输延迟T,在之后的操作中均使用第一次标定得到的传输延迟T,或者,也可以在需要时重新标定传输延迟T。
本公开至少一实施例还提供了一种用于第二设备的数据处理方法。
图8示出了本公开至少一实施例提供的一种用于第二设备的数据处理方法的流程图。
如图8所示,该用于第二设备的数据处理方法可以包括步骤S210~S230。
步骤S210:接收来自第一设备的调整后的第一数据帧,该调整后的第一数据帧是第一设备采集第一数据帧后,基于第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差、第一设备和第二设备之间的传输延迟对第一数据帧调整后得到的。
步骤S220:获取接收该调整后的第一数据帧时第二设备采集的第二数据帧。
步骤S230:基于调整后的第一数据帧和第二数据帧,进行姿态渲染和/或显示。
例如,步骤S230可以包括:基于调整后的第一数据帧和第二数据帧,确定第一设备相对于第二设备的相对姿态;基于相对姿态,渲染表征该相对姿态的图形。
例如,当设备A将调整后的第一数据帧{QA(T), ta+ΔbAB+T}发送给设备B之后,设备B利用接收时刻采集的第二数据帧{QB, tb}和该调整后的第一数据帧进行姿态融合操作,例如可以使用下式(5)计算。
(5)
其中,表示设备A相对于设备B的姿态,/>表示设备A的姿态QA(T)四元数的逆,QB表示设备B接收调整后的第一数据帧时刻设备B自身的姿态QB四元数的逆。例如,设备A和设备B的姿态均通过姿态解算而来,设备A和设备B的姿态包括四元数Q={w,x,y,z},四元数由1个实部w和3个虚部(x,y,z)构成,四元数可以理解为四维空间,三个虚部可理解为三维空间的三个正交基,而实部垂直于三维空间。四元数的逆为/>。
例如,基于相对姿态,渲染表征相对姿态的图形,可以包括:确定获得相对姿态的时刻距第二设备的下一显示周期的开始时刻之间的第一时长;基于相对姿态和历史相对姿态,预测第一时长之后的相对姿态;基于预测的相对姿态,渲染该图形,得到待显示图像。例如,用于第二设备的数据处理方法还可以包括:将待显示图像展示在第二设备的显示面板。
例如,设备B在计算出一帧相对姿态之后,可以进行姿态渲染,然后在VSYNC信号驱动下将渲染好的姿态上屏显示。但是,由于姿态渲染和显示需要花费一些时间,因而从姿态融合完成到上屏显示之间存在时间间隔tpred,若直接基于当前计算得到的相对姿态进行渲染然后显示,那么第二设备显示的相对姿态也并不是最新的相对姿态,仍然存在延迟。因而,在本公开的一些实施例中,基于计算得到的相对姿态/>和之前计算得到的历史相对姿态,预测tpred之后的相对姿态/>,例如可以利用指数平滑法进行预测。然后基于该预测的相对姿态/>进行图形渲染,并展示渲染得到的图形,这样,第二设备展示的图形可以反应当前第一设备相对于第二设备的姿态,实现实时显示。
图9示出了本公开至少一实施例提供的一种确定第一时长的示意图。
如图9所示,tfusion表示获得相对姿态的时间(即当前帧姿态融合完成的时间),tVSYNC_last表示在tfusion之前的上一个VSYNC信号到来的时间,tVSYNC_next表示在tfusion之后下一个VSYNC信号到来的时间,TVSYNC表示每个显示周期的时长。例如眼镜的刷新率是60Hz,那么硬件的VSYNC信号是每隔16.6ms发送一次,tfusion是在两个VSYNC信号之间的时间点。
例如,tfusion距第二设备的下一显示周期的开始时刻tVSYNC_next之间的第一时长tpred可以根据下式(6)计算得到。
(6)
例如,第一时长为下一个VSYNC信号到来的时间tVSYNC_next减去tfusion的时间,但是下一个VSYNC信号到来的时间未知,因此,可以先计算tfusion距离上一个VSYNC信号到来的时间tVSYNC_last所经过的时长,然后再利用周期时长减去前边的时长,即可得到tfusion距下一显示周期的开始时刻tVSYNC_next之间的时长。
例如,关于该用于第二设备的数据处理方法,可以参见上述关于用于第一设备的数据处理方法的相关描述,在此不再赘述。
本公开至少一实施例还提供了一种用于交互系统的数据处理方法,该交互系统包括第一设备和第二设备。
图10示出了本公开至少一实施例提供的一种用于交互系统的数据处理方法的流程图。
如图10所示,该用于交互系统的数据处理方法包括步骤S310~S330。
步骤S310:第一设备采集第一数据帧,该第一数据帧包括第一设备的姿态数据和采集第一数据帧时的第一时间戳。
步骤S320:第一设备基于第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差、第一设备和第二设备之间的传输延迟,调整第一数据帧,得到调整后的第一数据帧,并将调整后的第一数据帧发送给第二设备。
步骤S330:第二设备根据调整后的第一数据帧和接收调整后的第一数据帧时第二设备采集的第二数据帧进行姿态渲染和/或显示。
例如,关于该用于交互系统的数据处理方法,可以参见上述关于用于第一设备的数据处理方法和用于第一设备的数据处理方法的相关描述,在此不再赘述。
图11示出了本公开至少一个实施例提供的一种用于第一设备的数据处理装置400的示意框图。
例如,如图11所示,该用于第一设备的数据处理装置400包括第一获取模块410、第一采集模块420、第一调整模块430和第一发送模块440。这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。例如,这些模块可以通过硬件(例如电路)模块、软件模块或二者的任意组合等实现,以下实施例与此相同,不再赘述。例如,可以通过中央处理单元(CPU)、图像处理器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应计算机指令来实现这些单元。应当注意,图11所示的数据处理装置400的组件和结构只是示例性的,而非限制性的,根据需要,数据处理装置400也可以具有其他组件和结构。
第一获取模块410配置为获取所述第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差。第一获取模块410例如可以执行图2描述的步骤S110。
第一采集模块420配置为采集第一数据帧,其中,所述第一数据帧包括所述第一设备的姿态数据和采集所述第一数据帧时的第一时间戳。第一采集模块420例如可以执行图2描述的步骤S120。
第一调整模块430配置为基于所述第一时间戳基准偏差、所述第一设备和所述第二设备之间的传输延迟,调整所述第一数据帧,得到调整后的第一数据帧。第一调整模块430例如可以执行图2描述的步骤S130。
第一发送模块440配置为将所述调整后的第一数据帧发送给所述第二设备,以使所述第二设备根据所述调整后的第一数据帧进行姿态渲染和/或显示。第一发送模块440例如可以执行图2描述的步骤S140。
例如,第一获取模块410、第一采集模块420、第一调整模块430和第一发送模块440可以为硬件、软件、固件以及它们的任意可行的组合。例如,第一获取模块410、第一采集模块420、第一调整模块430和第一发送模块440可以为专用或通用的电路、芯片或装置等,也可以为处理器和存储器的结合。关于上述各个单元的具体实现形式,本公开的实施例对此不作限制。
例如,第一获取模块410、第一采集模块420、第一调整模块430和第一发送模块440可以包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的第一获取模块410、第一采集模块420、第一调整模块430和第一发送模块440的一些功能或全部功能。例如,第一获取模块410、第一采集模块420、第一调整模块430和第一发送模块440可以是专用硬件器件,用来实现如上所述的第一获取模块410、第一采集模块420、第一调整模块430和第一发送模块440的一些或全部功能。例如,第一获取模块410、第一采集模块420、第一调整模块430和第一发送模块440可以是一个电路板或多个电路板的组合,用于实现如上所述的功能。在本公开实施例中,该一个电路板或多个电路板的组合可以包括:(1)一个或多个处理器;(2)与处理器相连接的一个或多个非暂时的存储器;以及(3)处理器可执行的存储在存储器中的固件。
需要说明的是,本公开的实施例中,用于第一设备的数据处理装置400的各个单元与前述的用于第一设备的数据处理方法的各个步骤对应,关于用于第一设备的数据处理装置400的具体功能可以参考关于用于第一设备的数据处理方法的相关描述,此处不再赘述。图11所示的用于第一设备的数据处理装置400的组件和结构只是示例性的,而非限制性的,根据需要,该用于第一设备的数据处理装置400还可以包括其他组件和结构。该用于第一设备的数据处理装置400可以包括更多或更少的模块、电路或单元,并且各个电路或单元之间的连接关系不受限制,可以根据实际需求而定。各个电路或单元的具体构成方式不受限制,可以根据电路原理由模拟器件构成,也可以由数字芯片构成,或者以其他适用的方式构成。
图12示出了本公开至少一个实施例提供的一种用于第二设备的数据处理装置500的示意框图。
例如,如图12所示,该用于第二设备的数据处理装置500包括接收模块510、第二获取模块520和执行模块530。这些组件通过总线系统和/或其它形式的连接机构(未示出)互连。例如,这些模块可以通过硬件(例如电路)模块、软件模块或二者的任意组合等实现,以下实施例与此相同,不再赘述。例如,可以通过中央处理单元(CPU)、图像处理器(GPU)、张量处理器(TPU)、现场可编程逻辑门阵列(FPGA)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元以及相应计算机指令来实现这些单元。应当注意,图12所示的数据处理装置500的组件和结构只是示例性的,而非限制性的,根据需要,数据处理装置500也可以具有其他组件和结构。
接收模块510配置为接收来自第一设备的调整后的第一数据帧,其中,所述调整后的第一数据帧是所述第一设备采集第一数据帧后,基于所述第一设备的时间戳基准和所述第二设备的时间戳基准之间的第一时间戳基准偏差、所述第一设备和所述第二设备之间的传输延迟对所述第一数据帧调整后得到的。接收模块510例如可以执行图8描述的步骤S210。
第二获取模块520配置为获取接收所述调整后的第一数据帧时所述第二设备采集的第二数据帧。第二获取模块520例如可以执行图8描述的步骤S220。
执行模块530配置为基于所述调整后的第一数据帧和所述第二数据帧,进行姿态渲染和/或显示。执行模块530例如可以执行图8描述的步骤S230。
例如,接收模块510、第二获取模块520和执行模块530可以为硬件、软件、固件以及它们的任意可行的组合。例如,接收模块510、第二获取模块520和执行模块530可以为专用或通用的电路、芯片或装置等,也可以为处理器和存储器的结合。关于上述各个单元的具体实现形式,本公开的实施例对此不作限制。
例如,接收模块510、第二获取模块520和执行模块530可以包括存储在存储器中的代码和程序;处理器可以执行该代码和程序以实现如上所述的接收模块510、第二获取模块520和执行模块530的一些功能或全部功能。例如,接收模块510、第二获取模块520和执行模块530可以是专用硬件器件,用来实现如上所述的接收模块510、第二获取模块520和执行模块530的一些或全部功能。例如,接收模块510、第二获取模块520和执行模块530可以是一个电路板或多个电路板的组合,用于实现如上所述的功能。在本公开实施例中,该一个电路板或多个电路板的组合可以包括:(1)一个或多个处理器;(2)与处理器相连接的一个或多个非暂时的存储器;以及(3)处理器可执行的存储在存储器中的固件。
需要说明的是,本公开的实施例中,用于第二设备的数据处理装置500的各个单元与前述的用于第二设备的数据处理方法的各个步骤对应,关于用于第二设备的数据处理装置500的具体功能可以参考关于用于第二设备的数据处理方法的相关描述,此处不再赘述。图12所示的用于第二设备的数据处理装置500的组件和结构只是示例性的,而非限制性的,根据需要,该用于第二设备的数据处理装置500还可以包括其他组件和结构。该用于第二设备的数据处理装置400可以包括更多或更少的模块、电路或单元,并且各个电路或单元之间的连接关系不受限制,可以根据实际需求而定。各个电路或单元的具体构成方式不受限制,可以根据电路原理由模拟器件构成,也可以由数字芯片构成,或者以其他适用的方式构成。
本公开的至少一个实施例还提供了一种电子设备,该电子设备包括处理器和存储器,存储器存储有一个或多个计算机程序模块。一个或多个计算机程序模块被配置为由处理器执行,用于实现上述的用于第一设备的数据处理方法或者用于第二设备的数据处理方法。
图13为本公开一些实施例提供的一种电子设备的示意框图。如图13所示,该电子设备600包括处理器610和存储器620。存储器620存储有非暂时性计算机可读指令(例如一个或多个计算机程序模块)。处理器610用于运行非暂时性计算机可读指令,非暂时性计算机可读指令被处理器610运行时执行上文所述的用于第一设备的数据处理方法或者用于第二设备的数据处理方法中的一个或多个步骤。存储器620和处理器610可以通过总线系统和/或其它形式的连接机构(未示出)互连。关于该用于第一设备的数据处理方法或者用于第二设备的数据处理方法的各个步骤的具体实现以及相关解释内容可以参见上述用于第一设备的数据处理方法或者用于第二设备的数据处理方法的实施例,重复之处在此不作赘述。
应当注意,图13所示的电子设备600的组件只是示例性的,而非限制性的,根据实际应用需要,该电子设备600还可以具有其他组件。
例如,处理器610和存储器620之间可以直接或间接地互相通信。
例如,处理器610和存储器620可以通过网络进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。处理器610和存储器620之间也可以通过系统总线实现相互通信,本公开对此不作限制。
例如,处理器610和存储器620可以设置在服务器端(或云端)。
例如,处理器610可以控制电子设备600中的其它组件以执行期望的功能。例如,处理器610可以是中央处理单元(CPU)、图形处理单元(GPU)或者具有数据处理能力和/或程序执行能力的其它形式的处理单元。例如,中央处理单元(CPU)可以为X86或ARM架构等。处理器610可以为通用处理器或专用处理器,可以控制电子设备600中的其它组件以执行期望的功能。
例如,存储器620可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块,处理器610可以运行一个或多个计算机程序模块,以实现电子设备600的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。
需要说明的是,本公开的实施例中,电子设备600的具体功能和技术效果可以参考上文中关于用于第一设备的数据处理方法或者用于第二设备的数据处理方法的描述,此处不再赘述。
图14为本公开一些实施例提供的另一种电子设备的示意框图。该电子设备700例如适于用来实施本公开实施例提供的用于第一设备的数据处理方法或者用于第二设备的数据处理方法。电子设备700可以是终端设备等。需要注意的是,图14示出的电子设备700仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
如图14所示,电子设备700可以包括处理装置(例如中央处理器、图形处理器等)710,其可以根据存储在只读存储器(ROM)720中的程序或者从存储装置780加载到随机访问存储器(RAM)730中的程序而执行各种适当的动作和处理。在RAM 730中,还存储有电子设备700操作所需的各种程序和数据。处理装置710、ROM 720以及RAM730通过总线740彼此相连。输入/输出(I/O)接口750也连接至总线740。
通常,以下装置可以连接至I/O接口750:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置760;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置770;包括例如磁带、硬盘等的存储装置780;以及通信装置790。通信装置790可以允许电子设备700与其他电子设备进行无线或有线通信以交换数据。虽然图14示出了具有各种装置的电子设备700,但应理解的是,并不要求实施或具备所有示出的装置,电子设备700可以替代地实施或具备更多或更少的装置。
例如,根据本公开的实施例,上述用于第一设备的数据处理方法或者用于第二设备的数据处理方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述用于第一设备的数据处理方法或者用于第二设备的数据处理方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置790从网络上被下载和安装,或者从存储装置780安装,或者从ROM 720安装。在该计算机程序被处理装置710执行时,可以实现本公开实施例提供的用于第一设备的数据处理方法或者用于第二设备的数据处理方法中限定的功能。
本公开的至少一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有非暂时性计算机可读指令,当非暂时性计算机可读指令由计算机执行时可以实现上述的用于第一设备的数据处理方法或者用于第二设备的数据处理方法。
图15为本公开一些实施例提供的一种存储介质的示意图。如图15所示,存储介质800存储有非暂时性计算机可读指令810。例如,当非暂时性计算机可读指令810由计算机执行时执行根据上文所述的用于第一设备的数据处理方法或者用于第二设备的数据处理方法中的一个或多个步骤。
例如,该存储介质800可以应用于上述电子设备600中。例如,存储介质800可以为图13所示的电子设备600中的存储器620。例如,关于存储介质800的相关说明可以参考图13所示的电子设备600中的存储器620的相应描述,此处不再赘述。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种用于第一设备的数据处理方法,包括:
获取所述第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差;
采集第一数据帧,其中,所述第一数据帧包括所述第一设备的姿态数据和采集所述第一数据帧时的第一时间戳;
基于所述第一时间戳基准偏差、所述第一设备和所述第二设备之间的传输延迟,调整所述第一数据帧,得到调整后的第一数据帧;
将所述调整后的第一数据帧发送给所述第二设备,以使所述第二设备基于所述调整后的第一数据帧进行姿态渲染和/或显示。
2.根据权利要求1所述的数据处理方法,其中,获取所述第一设备的时间戳基准和第二设备的时间戳基准之间的第一时间戳基准偏差,包括:
确定所述第一设备的时间戳和所述第二设备的时间戳之间的第一时间戳偏差;
获得所述第一设备与所述第二设备之间的传输延迟;
基于所述第一时间戳偏差和所述传输延迟,得到所述第一时间戳基准偏差。
3. 根据权利要求2所述的数据处理方法,其中,确定所述第一设备的时间戳和所述第二设备的时间戳之间的第一时间戳偏差,包括:
多次向所述第二设备发送所述第一设备采集的第一数据帧,以使所述第二设备根据多次接收的所述第一数据帧的第一时间戳和在每次接收所述第一数据帧时所述第二设备的第二时间戳得到所述第一时间戳偏差,接收所述第二设备发送的所述第一时间戳偏差;或者
接收所述第二设备多次发送的所述第二设备采集的第二数据帧,并根据多次接收的所述第二数据帧的第二时间戳和在每次接收所述第二数据帧时所述第一设备的第一时间戳,得到所述第一时间戳偏差。
4.根据权利要求1至3任一项所述的数据处理方法,其中,基于所述第一时间戳基准偏差和所述第一设备和所述第二设备之间的传输延迟,调整所述第一数据帧,得到调整后的第一数据帧,包括:
基于所述第一时间戳基准偏差和所述传输延迟,调整所述第一时间戳,得到调整后的第一时间戳;
基于所述传输延迟,预测姿态数据;
基于所述调整后的第一时间戳和预测的姿态数据,得到所述调整后的第一数据帧。
5.根据权利要求4所述的数据处理方法,其中,基于所述传输延迟,预测姿态数据,包括:
基于所述第一数据帧的姿态数据和所述第一设备的历史姿态数据,预测经过所述传输延迟之后的姿态数据。
6.根据权利要求1至3任一项所述的数据处理方法,其中,所述传输延迟基于以下确定:
获取所述第一设备和所述第二设备从同一时刻开始执行相同运动的过程中分别采集的多个第一样本数据帧和多个第二样本数据帧;
基于所述多个第一样本数据帧和所述多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳基准偏差;
通过在所述第一设备和所述第二设备之间传输所述第一设备采集的多个第一样本数据帧或者所述第二设备采集的多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳偏差;
根据所述第二时间戳基准偏差和所述第二时间戳偏差,确定所述第一设备和所述第二设备之间的传输延迟。
7.根据权利要求6所述的数据处理方法,其中,每个所述第一样本数据帧包括采集时的第一样本时间戳,每个所述第二样本数据帧包括采集时的第二样本时间戳;
基于所述多个第一样本数据帧和所述多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳基准偏差,包括:
基于相同数量的所述第一样本数据帧的所述第一样本时间戳和所述第二样本数据帧的所述第二样本时间戳确定第二时间戳基准偏差。
8.根据权利要求6所述的数据处理方法,其中,每个所述第一样本数据帧包括所述第一设备的姿态变化数据和采集时的第一样本时间戳,每个所述第二样本数据帧包括所述第二设备的姿态变化数据和采集时的第二样本时间戳;
基于所述多个第一样本数据帧和所述多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳基准偏差,包括:
针对每个所述第一样本数据帧,从所述多个第二样本数据帧中确定与所述第一样本数据帧的姿态变化数据最接近的第二样本数据帧;
根据所述多个第一样本数据帧的第一样本时间戳和分别与所述多个第一样本数据帧最接近的多个第二样本数据帧的第二样本时间戳之间的偏差,确定所述第二时间戳基准偏差。
9. 根据权利要求6所述的数据处理方法,其中,通过在所述第一设备和所述第二设备之间传输所述第一设备采集的多个第一样本数据帧或者所述第二设备采集的多个第二样本数据帧,确定所述第一设备和所述第二设备之间的第二时间戳偏差,包括:
多次向所述第二设备发送所述第一设备采集的第一样本数据帧,以使所述第二设备根据多次接收的所述第一样本数据帧的第一样本时间戳和在每次接收所述第一样本数据帧时所述第二设备的第二样本时间戳得到所述第二时间戳偏差,接收所述第二设备发送的所述第二时间戳偏差;或者
接收所述第二设备多次发送的所述第二设备采集的第二样本数据帧,并根据多次接收的所述第二样本数据帧的第二样本时间戳和在每次接收所述第二样本数据帧时所述第一设备的第一样本时间戳,得到所述第二时间戳偏差。
10.根据权利要求1至3任一项所述的数据处理方法,其中,
所述第一设备为可穿戴的姿态检测设备,用于检测用户的目标部位的姿态;
所述第二设备为智能穿戴设备。
11.根据权利要求1至3任一项所述的数据处理方法,其中,将所述调整后的第一数据帧发送给所述第二设备,以使所述第二设备基于所述调整后的第一数据帧进行姿态渲染和/或显示,包括:
将所述调整后的第一数据帧发送给所述第二设备,以使所述第二设备基于所述调整后的第一数据帧和接收所述调整后的第一数据帧时所述第二设备采集的第二数据帧进行姿态渲染和/或显示。
12.一种用于第二设备的数据处理方法,包括:
接收来自第一设备的调整后的第一数据帧,其中,所述调整后的第一数据帧是所述第一设备采集第一数据帧后,基于所述第一设备的时间戳基准和所述第二设备的时间戳基准之间的第一时间戳基准偏差、所述第一设备和所述第二设备之间的传输延迟对所述第一数据帧调整后得到的;
获取接收所述调整后的第一数据帧时所述第二设备采集的第二数据帧;
基于所述调整后的第一数据帧和所述第二数据帧,进行姿态渲染和/或显示。
13.根据权利要求12所述的数据处理方法,其中,基于所述调整后的第一数据帧和所述第二数据帧,进行姿态渲染和/或显示,包括:
基于所述调整后的第一数据帧和所述第二数据帧,确定所述第一设备相对于所述第二设备的相对姿态;
基于所述相对姿态,渲染表征所述相对姿态的图形。
14.根据权利要求13所述的数据处理方法,其中,基于所述相对姿态,渲染表征所述相对姿态的图形,包括:
确定获得所述相对姿态的时刻距所述第二设备的下一显示周期的开始时刻之间的第一时长;
基于所述相对姿态和历史相对姿态,预测所述第一时长之后的相对姿态;
基于预测的相对姿态,渲染所述图形,得到待显示图像。
15.根据权利要求14所述的数据处理方法,还包括:
将所述待显示图像展示在所述第二设备的显示面板。
16.一种用于交互系统的数据处理方法,其中,所述交互系统包括第一设备和第二设备,所述方法包括:
所述第一设备采集第一数据帧,其中,所述第一数据帧包括第一设备的姿态数据和采集所述第一数据帧时的第一时间戳;
所述第一设备基于所述第一设备的时间戳基准和所述第二设备的时间戳基准之间的第一时间戳基准偏差、所述第一设备和所述第二设备之间的传输延迟,调整所述第一数据帧,得到调整后的第一数据帧,并将所述调整后的第一数据帧发送给所述第二设备;
所述第二设备根据所述调整后的第一数据帧和接收所述调整后的第一数据帧时所述第二设备采集的第二数据帧进行姿态渲染和/或显示。
17.一种电子设备,包括:
处理器;
存储器,存储有一个或多个计算机程序模块;
其中,所述一个或多个计算机程序模块被配置为由所述处理器执行,用于实现权利要求1-15任一项所述的数据处理方法。
18.一种计算机可读存储介质,存储有非暂时性计算机可读指令,当所述非暂时性计算机可读指令由计算机执行时可以实现权利要求1-15任一项所述的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410259976.4A CN118158383A (zh) | 2023-11-22 | 2023-11-22 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN202311558062.XA CN117294832B (zh) | 2023-11-22 | 2023-11-22 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311558062.XA CN117294832B (zh) | 2023-11-22 | 2023-11-22 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410259976.4A Division CN118158383A (zh) | 2023-11-22 | 2023-11-22 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117294832A true CN117294832A (zh) | 2023-12-26 |
CN117294832B CN117294832B (zh) | 2024-03-26 |
Family
ID=89244634
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311558062.XA Active CN117294832B (zh) | 2023-11-22 | 2023-11-22 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN202410259976.4A Pending CN118158383A (zh) | 2023-11-22 | 2023-11-22 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410259976.4A Pending CN118158383A (zh) | 2023-11-22 | 2023-11-22 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117294832B (zh) |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2004285183A1 (en) * | 2003-10-30 | 2005-05-12 | Nec Corporation | Estimation system, estimation method, and estimation program for estimating object state |
US20110248987A1 (en) * | 2010-04-08 | 2011-10-13 | Disney Enterprises, Inc. | Interactive three dimensional displays on handheld devices |
WO2016051199A1 (en) * | 2014-10-03 | 2016-04-07 | Copycopy Ltd. | Data manipulation |
CN105593924A (zh) * | 2013-12-25 | 2016-05-18 | 索尼公司 | 图像处理装置、图像处理方法、计算机程序以及图像显示系统 |
CN105610652A (zh) * | 2016-02-24 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 数据传输延时的获取方法和装置 |
CN106909221A (zh) * | 2017-02-21 | 2017-06-30 | 北京小米移动软件有限公司 | 基于vr系统的图像处理方法及装置 |
US20180075159A1 (en) * | 2016-09-13 | 2018-03-15 | International Business Machines Corporation | Efficient property graph storage for streaming / multi-versioning graphs |
CN108388244A (zh) * | 2018-01-16 | 2018-08-10 | 上海交通大学 | 基于人工路标的移动机器人系统、停靠方法及存储介质 |
WO2019057173A1 (zh) * | 2017-09-22 | 2019-03-28 | 华为技术有限公司 | 传感器数据处理的方法及装置 |
CN111064981A (zh) * | 2018-10-16 | 2020-04-24 | 北京凌宇智控科技有限公司 | 一种视频串流的系统及方法 |
CN111208866A (zh) * | 2019-12-27 | 2020-05-29 | 视联动力信息技术股份有限公司 | 一种系统时间调整方法和装置 |
CN111352506A (zh) * | 2020-02-07 | 2020-06-30 | 联想(北京)有限公司 | 图像处理方法、装置、设备及计算机可读存储介质 |
CN111417016A (zh) * | 2019-01-07 | 2020-07-14 | 中国移动通信有限公司研究院 | 一种姿态估计方法、服务器和网络设备 |
CN111652962A (zh) * | 2020-06-08 | 2020-09-11 | 北京联想软件有限公司 | 图像渲染方法、头戴式显示设备及存储介质 |
CN112333491A (zh) * | 2020-09-23 | 2021-02-05 | 字节跳动有限公司 | 视频处理方法、显示装置和存储介质 |
US20210044792A1 (en) * | 2019-08-07 | 2021-02-11 | Magic Leap, Inc. | Determining a predicted head pose time |
US20210185294A1 (en) * | 2019-12-17 | 2021-06-17 | Valve Corporation | Split rendering between a head-mounted display (hmd) and a host computer |
CN113781548A (zh) * | 2020-06-10 | 2021-12-10 | 华为技术有限公司 | 多设备的位姿测量方法、电子设备及系统 |
CN114358419A (zh) * | 2021-12-31 | 2022-04-15 | Oppo广东移动通信有限公司 | 位姿预测方法、位姿预测装置、存储介质与电子设备 |
US20220291742A1 (en) * | 2019-09-30 | 2022-09-15 | Sony Interactive Entertainment Inc. | Image processing apparatus, image data transfer apparatus, image processing method, and image data transfer method |
CN115474082A (zh) * | 2022-10-13 | 2022-12-13 | 闪耀现实(无锡)科技有限公司 | 播放媒体数据的方法和装置、系统、车辆、设备和介质 |
CN116631307A (zh) * | 2023-04-10 | 2023-08-22 | 湖北星纪魅族科技有限公司 | 显示方法、智能穿戴设备、电子设备、装置和存储介质 |
CN116958487A (zh) * | 2022-11-17 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 姿态预测方法、装置、设备、存储介质及计算机程序产品 |
WO2023214718A1 (ko) * | 2022-05-04 | 2023-11-09 | 삼성전자 주식회사 | 무선 통신 시스템에서 ar 스플릿 렌더링을 제공하기 위한 방법 및 장치 |
-
2023
- 2023-11-22 CN CN202311558062.XA patent/CN117294832B/zh active Active
- 2023-11-22 CN CN202410259976.4A patent/CN118158383A/zh active Pending
Patent Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2004285183A1 (en) * | 2003-10-30 | 2005-05-12 | Nec Corporation | Estimation system, estimation method, and estimation program for estimating object state |
US20110248987A1 (en) * | 2010-04-08 | 2011-10-13 | Disney Enterprises, Inc. | Interactive three dimensional displays on handheld devices |
CN105593924A (zh) * | 2013-12-25 | 2016-05-18 | 索尼公司 | 图像处理装置、图像处理方法、计算机程序以及图像显示系统 |
WO2016051199A1 (en) * | 2014-10-03 | 2016-04-07 | Copycopy Ltd. | Data manipulation |
CN105610652A (zh) * | 2016-02-24 | 2016-05-25 | 腾讯科技(深圳)有限公司 | 数据传输延时的获取方法和装置 |
US20180075159A1 (en) * | 2016-09-13 | 2018-03-15 | International Business Machines Corporation | Efficient property graph storage for streaming / multi-versioning graphs |
CN106909221A (zh) * | 2017-02-21 | 2017-06-30 | 北京小米移动软件有限公司 | 基于vr系统的图像处理方法及装置 |
WO2019057173A1 (zh) * | 2017-09-22 | 2019-03-28 | 华为技术有限公司 | 传感器数据处理的方法及装置 |
CN108388244A (zh) * | 2018-01-16 | 2018-08-10 | 上海交通大学 | 基于人工路标的移动机器人系统、停靠方法及存储介质 |
CN111064981A (zh) * | 2018-10-16 | 2020-04-24 | 北京凌宇智控科技有限公司 | 一种视频串流的系统及方法 |
CN111417016A (zh) * | 2019-01-07 | 2020-07-14 | 中国移动通信有限公司研究院 | 一种姿态估计方法、服务器和网络设备 |
US20210044792A1 (en) * | 2019-08-07 | 2021-02-11 | Magic Leap, Inc. | Determining a predicted head pose time |
US20220291742A1 (en) * | 2019-09-30 | 2022-09-15 | Sony Interactive Entertainment Inc. | Image processing apparatus, image data transfer apparatus, image processing method, and image data transfer method |
US20210185294A1 (en) * | 2019-12-17 | 2021-06-17 | Valve Corporation | Split rendering between a head-mounted display (hmd) and a host computer |
CN111208866A (zh) * | 2019-12-27 | 2020-05-29 | 视联动力信息技术股份有限公司 | 一种系统时间调整方法和装置 |
CN111352506A (zh) * | 2020-02-07 | 2020-06-30 | 联想(北京)有限公司 | 图像处理方法、装置、设备及计算机可读存储介质 |
CN111652962A (zh) * | 2020-06-08 | 2020-09-11 | 北京联想软件有限公司 | 图像渲染方法、头戴式显示设备及存储介质 |
CN113781548A (zh) * | 2020-06-10 | 2021-12-10 | 华为技术有限公司 | 多设备的位姿测量方法、电子设备及系统 |
CN112333491A (zh) * | 2020-09-23 | 2021-02-05 | 字节跳动有限公司 | 视频处理方法、显示装置和存储介质 |
CN114358419A (zh) * | 2021-12-31 | 2022-04-15 | Oppo广东移动通信有限公司 | 位姿预测方法、位姿预测装置、存储介质与电子设备 |
WO2023214718A1 (ko) * | 2022-05-04 | 2023-11-09 | 삼성전자 주식회사 | 무선 통신 시스템에서 ar 스플릿 렌더링을 제공하기 위한 방법 및 장치 |
CN115474082A (zh) * | 2022-10-13 | 2022-12-13 | 闪耀现实(无锡)科技有限公司 | 播放媒体数据的方法和装置、系统、车辆、设备和介质 |
CN116958487A (zh) * | 2022-11-17 | 2023-10-27 | 腾讯科技(深圳)有限公司 | 姿态预测方法、装置、设备、存储介质及计算机程序产品 |
CN116631307A (zh) * | 2023-04-10 | 2023-08-22 | 湖北星纪魅族科技有限公司 | 显示方法、智能穿戴设备、电子设备、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118158383A (zh) | 2024-06-07 |
CN117294832B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112530024B (zh) | 用于虚拟场景的数据处理方法以及设备 | |
US11276183B2 (en) | Relocalization method and apparatus in camera pose tracking process, device, and storage medium | |
CN112154669B (zh) | 基于系统时钟的视频流帧时间戳的相关 | |
CN111182226B (zh) | 一种多相机同步工作的方法、装置、介质和电子设备 | |
CN111147743B (zh) | 摄像头控制方法及电子设备 | |
WO2021088498A1 (zh) | 虚拟物体显示方法以及电子设备 | |
US11127156B2 (en) | Method of device tracking, terminal device, and storage medium | |
JP7182020B2 (ja) | 情報処理方法、装置、電子機器、記憶媒体およびプログラム | |
CN107272892B (zh) | 一种虚拟触控系统、方法及装置 | |
US9740294B2 (en) | Display apparatus and method for controlling display apparatus thereof | |
CN111382701B (zh) | 动作捕捉方法、装置、电子设备及计算机可读存储介质 | |
US11245763B2 (en) | Data processing method, computer device and storage medium | |
CN113610702B (zh) | 一种建图方法、装置、电子设备及存储介质 | |
CN117294832B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN113518423A (zh) | 定位方法、装置及电子设备 | |
US11694409B1 (en) | Augmented reality using a split architecture | |
CN115546417A (zh) | 三维重建方法、系统、电子设备及计算机可读存储介质 | |
CN114201028B (zh) | 扩增实境系统与其锚定显示虚拟对象的方法 | |
CN115065827A (zh) | 视频编码方法、装置、电子设备及介质 | |
CN114648543A (zh) | 远程超声图像的标注方法、终端设备和存储介质 | |
CN116152075A (zh) | 光照估计方法、装置以及系统 | |
CN114690894A (zh) | 一种实现显示处理的方法、装置、计算机存储介质及终端 | |
CN113765611A (zh) | 时间戳确定方法及相关设备 | |
KR102453561B1 (ko) | 가상 스튜디오의 복합 센서 기반 다중 추적 카메라 시스템의 동작 방법 | |
CN110830724B (zh) | 一种拍摄方法及电子设备 |
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 |