CN103166987B - 虚拟手术中的数据同步方法及系统 - Google Patents
虚拟手术中的数据同步方法及系统 Download PDFInfo
- Publication number
- CN103166987B CN103166987B CN201110412234.3A CN201110412234A CN103166987B CN 103166987 B CN103166987 B CN 103166987B CN 201110412234 A CN201110412234 A CN 201110412234A CN 103166987 B CN103166987 B CN 103166987B
- Authority
- CN
- China
- Prior art keywords
- data
- model
- coded data
- virtual operation
- character string
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种虚拟手术中的数据同步方法,包括如下步骤:获取虚拟手术中发生变化的模型数据;对所述模型数据进行编码得到对应的编码数据;读取所述编码数据并发送;通过接收的编码数据进行重建得到发生变化的模型数据,并更新于所述虚拟手术中。上述虚拟手术中的数据同步方法及系统中,获取虚拟手术中发生变化的模型数据,将模型数据所对应的编码数据发送出去,以将发生了变化的模型数据同步到接收端,并更新于虚拟手术中,由于仅发送发生了变化的模型数据,减少了数据传输量,进而提高虚拟手术中的同步率。
Description
【技术领域】
本发明涉及遥操作技术,特别是涉及一种虚拟手术中的数据同步方法及系统。
【背景技术】
虚拟手术是指通过力反馈设备与计算机中的手术对象模型进行交互操作,手术对象模型用于模拟实体的手术对象,操作者对力反馈设备进行操作来实现虚拟的手术器械在手术对象模型中的虚拟手术。在传统的虚拟手术中,虚拟的手术器械和手术对象模型的交互碰撞是在作为操作端的计算机中进行的,但是在需要向多台终端设备进行数据同步的情况下,无论是采用视频流的传送方法还是采用网络游戏中关键操作传送方法均难以实现虚拟手术中的数据同步,存在着同步率低的缺陷。对于视频流的传送方法和网络游戏中关键操作传送方法这两类常用的数据传送方法而言,与视频流的传输相比较,虚拟手术中需要进行实时同步的数据是三维手术对象模型,数据量是不固定的,即虚拟手术中使用的模型大小和模型精度并不存在统一的规格,因此,虚拟手术中的数据同步并不能够采用视频流的传送方法实现;由于虚拟手术中虚拟的手术器械和手术对象模型之间的交互碰撞是一个与时间相关的矢量过程,所以操作端与需要同步的终端设备之间也不能使用网络游戏中使用的关键操作传送方法实现数据同步。
虚拟手术的操作端为降低运行的复杂性和资源开销,无法保存所有需要同步于终端设备的数据,即操作端只能保存当前产生的数据,并向终端设备发送保存的数据。现有的网络传输过程是一个“尽力而为”的过程,常常受到很多不可预知因素的影响而发生波动,并且在发生传输错误之后忽略本次传输错误,待下一次周期性传输到来的时候用接收到的数据更新当前数据,由于虚拟手术过程中发送的数据是虚拟的手术器械的位置和状态,因此必须保证每一个时刻所对应的数据都成功传送,若采用现有的网络传输过程进行数据传输,终端设备通过接收的数据进行手术对象模型的更新时会发生更新结果与操作端不一致的情况,并且这种情况会随着时间的推移而越来越严重,进而导致同步率低下。
【发明内容】
基于此,有必要提供一种能提高同步率的虚拟手术中的数据同步方法。
此外,还有必要提供一种能提高同步率的虚拟手术中的数据同步系统。
一种虚拟手术中的数据同步方法,包括如下步骤:
获取虚拟手术中发生变化的模型数据;
对所述模型数据进行编码得到对应的编码数据;
读取所述编码数据并发送;
通过接收的编码数据进行重建得到发生变化的模型数据,并更新于所述虚拟手术中。
优选地,所述获取虚拟手术中发生变化的模型数据的步骤为:
计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点。
优选地,所述计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点的步骤之前还包括:
检测所述手术工具模型和手术对象模型是否发生交互,若是,则进入所述计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点的步骤,若否,则
所述获取虚拟手术中发生变化的模型数据的步骤为:
计算所述手术工具模型的变换矩阵。
优选地,所述对所述模型数据进行编码得到对应的编码数据的步骤为:
将所述模型数据转换为字符串;
根据所述字符串在内存中的地址将所述地址对应的字符串构造成编码数据,并将所述编码数据中字符串的长度与所述字符串关联;
连接所述构造的编码数据。
优选地,所述连接所述构造的编码数据的步骤为:
获取所述构造的编码数据的长度;
分别将开始标识符、获取的长度、校验和以及所述构造的编码数据依次连接。
优选地,所述对所述模型数据进行编码得到对应的编码数据的步骤之后还包括:
缓存所述编码数据;
所述读取所述编码数据并发送的步骤之后还包括:
接收所述发送的编码数据,并缓存。
一种虚拟手术中的数据同步系统,包括:
数据获取模块,用于获取虚拟手术中发生变化的模型数据;
编码模块,用于对所述模型数据进行编码得到对应的编码数据;
发送模块,用于读取所述编码数据并发送;
模型更新模块,用于通过接收的编码数据进行重建得到发生变化的模型数据,并更新于所述虚拟手术中。
优选地,所述数据获取模块还用于计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点。
优选地,还包括:
检测模块,用于检测所述手术工具模型和手术对象模型是否发生交互,若是,则通知所述数据获取模块计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点,若否,则
所述数据获取模块还用于计算所述手术工具模型的变换矩阵。
优选地,所述编码模块包括:
转换单元,用于将模型数据转换为字符串;
构造单元,用于根据所述字符串的存储地址将所述地址对应的字符串构造成编码数据,并将所述编码数据中字符串的长度与所述字符串关联;
连接单元,用于连接所述构造的编码数据。
优选地,所述连接单元还用于获取构造的编码数据的长度,分别将开始标识符、获取的长度、校验和以及所述构造的编码数据依次连接。
优选地,还包括:
缓存模块,用于缓存所述编码数据;
接收模块,用于接收所述发送的编码数据,并缓存。
上述虚拟手术中的数据同步方法及系统中,获取虚拟手术中发生变化的模型数据,将模型数据所对应的编码数据发送出去,以将发生了变化的模型数据同步到接收端,并更新于虚拟手术中,由于仅发送发生了变化的模型数据,减少了数据传输量,进而提高虚拟手术中的同步率。
【附图说明】
图1为一个实施例中虚拟手术中的数据同步方法的流程图;
图2为另一个实施例中虚拟手术中的数据同步方法的流程图;
图3为一个实施例中对模型数据进行编码得到对应的编码数据的方法流程图;
图4为一个实施例中虚拟手术中的数据同步系统的结构示意图;
图5为另一个实施例中虚拟手术中的数据同步系统的结构示意图;
图6为一个实施例中编码模块的结构示意图;
图7为另一个实施例中虚拟手术中的数据同步系统的结构示意图;
图8为一个实施例中虚拟骨科机器人手术模拟训练过程中操作端的运行状态示意图;
图9为图8中对操作端的虚拟骨科机器人手术模型训练进行同步的状态示意图。
【具体实施方式】
在一个实施例中,如图1所示,一种虚拟手术中的数据同步方法,包括如下步骤:
步骤S110,获取虚拟手术中发生变化的模型数据。
本实施例中,虚拟手术中通过几何模型来描述涉及的模型,该几何模型可为三角片模型,相对的,模型数据为一种数据结构,用于记载多个顶点以及多个三角形,是虚拟手术中手机工具模型和/或手术对象模型中发生了变化的模型数据。进一步的,获取虚拟手术中的模型数据,并使得虚拟手术中数据同步的接收端所展示的虚拟手术过程拥有三维效果,因此,不仅减少了传输的数据量,也大大提高了虚拟手术同步过程中的显示效果,更为逼真地同步虚拟手术。
在一个实施例中,上述步骤S110的具体过程为:计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点。
本实施例中,在虚拟手术中,手术工具模型是手术器械的几何模型,操作者直接调用所需的手术工具模型即可,手术对象模型是手术工具模型所要操作的对象物体,包括了顶点、边和面三个数组。手术工具模型和手术对象模型发生交互碰撞时为消除数据同步过程中模型数据之间的相互影响,直接将手术工具模型中的变换矩阵和手术对象模型中发生形变的顶点用于虚拟手术中的数据同步。
由于将手术工具模型中的变换矩阵和手术对象模型中发生形变的顶点作为模型数据,使得多个连续的模型数据之间不会相互影响,这将使数据同步过程适应于现有的网络传输,便于实现网络中的实时传输,提高同步率。
此外,这一虚拟手术中的数据同步过程仅仅对手术工具模型中的变换矩阵和手术对象模型中发生形变的顶点等模型数据进行传输,而不需要将整个手术工具模型和手术对象模型进行传输,大大地降低了传输的数据量。
在另一个实施例中,如图2所示,上述步骤S110之前还包括:
步骤S210,检测手术工具模型和手术对象模型是否发生交互,若是,则进入步骤S230,若否,则进入步骤S250。
本实施例中,对手术工具模型和手术对象模型进行碰撞检测,以判断是否发生了交互,若是,则说明手术工具模型的位置以及手术对象模型发生了变化,因此,需要对其进行计算,以得到发生了变化的模型数据,若判断到手术工具模型和手术对象模型并未发生碰撞,则只需获取到手术工具模型中的变换矩阵即可。
步骤S230,计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点。
步骤S250,计算手术工具模型的变换矩阵。
步骤S120,对模型数据进行编码得到对应的编码数据。
本实施例中,为与网络传输中的应用层相适应,应当对模型数据进行编码,获取到的模型数据通常是以字符串的形式进行存储的,因此可将字符串进行分组,在字符串的分组中还应当将模型数据所对应的字符串与长度标记相关联,该长度标记用于标识分组中模型数据所对应的字符串的长度,实现了传输数据的一致性和连续性,并保证后续同步过程中数据解析的正确性。进一步的,可将分组中的长度标记设定为固定的字节长度,例如,长度标记可为4字节长度,以进一步保证数据解析的正确性。例如,分组中所形成的数据格式可以为[Item长度+Item字符串],多个分组依次连接便构成了用于进行网络传输的编码数据,该编码数据实质为字符串流。每一分组中模型数据所对应的字符串长度是由存储的数据量决定的,也就是由手术工具模型的变换矩阵和手术对象模型中的形变顶点的数量决定。
在一个实施例中,如图3所示,上述步骤S120的具体过程为:
步骤S121,将模型数据转换为字符串。
步骤S123,根据字符串的存储地址将该地址对应的字符串构造成编码数据,并将编码数据中字符串的长度与字符串关联。
本实施例中,虚拟手术中获取的发生了变化的模型数据是以字符串的形式有序存储的,根据存储地址依次读取出对应的字符串,每一存储地址所对应的字符串即可作为一个分组,在每一分组中将该字符串与其对应的长度相关联形成编码数据。在一个实施例中,存储地址为字符串存储于缓冲区的地址。
步骤S125,连接构造的编码数据。
本实施例中,将多个构造的编码数据依次首尾相接得到包含多个编码数据组成的字符串流,进而方便数据在网络中的传输。
在一个实施例中,上述步骤S125的具体过程为:获取构造的编码数据的长度,分别将开始标识符、获取的长度、校验和以及构造的编码数据依次连接。
本实施例中,每一构造的编码数据对应了一个分组,即分组的长度即为构造的编码数据的长度。开始标识符为预定长度的字符,例如,可为1字节,设置于多个编码数据组成的字符串流的前端。校验和用于验证接收到的字符串流的正确性和完整性。具体的,最终连接形成的字符串流所对应的格式样例为:开始标识符+获取的长度+校验和+[Item1长度+Item1字符串]+[Item2长度+Item2字符串]+……+[ItemN长度+ItemN字符串],其中,[ItemN长度+ItemN字符串]为第N个分组所编码数据所对应的字符串及其长度。
将开始标识符、获取的长度、校验和以及构造的编码数据依次连接起来,在后续的解析过程中,将首先读取开始标识符,通过开始标识符将获知当前接收的字符串流开始进行解析,然后根据与开始标识符相连接的获取的长度可以获知字符串流中分组的长度,此时读取校验和,并检验字符串流的正确性,如果发生错误则将其丢弃,验证了字符串流的正确性之后,根据读取到的获取的长度进入循环,在循环中依次解析对字符串流中的分组,以重建发生交互的模型数据,其中,循环次数即为获取的长度。在循环解析的过程中,若读取到字符串流中的末端数据不完整,则暂停对该末端数据的解析,待接收完毕之后继续解析。
步骤S130,读取编码数据并发送。
本实施例中,读取编码数据之后,通过RTP协议(Real-timeTransportProtocol,实时传输协议)、UDP协议(UserDatagramProtocol,用户数据包协议)或者TCP协议(TransmissionControlProtocol,传输控制协议)进行编码数据的传输。进一步的,由于通过UDP协议能够能够保证接收到完整的数据包,因此,通过UDP协议进行编码数据的传输保证了传输的编码数据的正确性和完整性。
在一个实施例中,在对编码数据的发送过程中,可设定时间间隔,即每隔一定的时间间隔便进行一次编码数据的发送,例如,该时间间隔可为40ms;相对的,在虚拟手术中进行同步的接收端也设定时间间隔,每隔一个相应的时间间隔便进行一次编码数据的接收,实现数据的周期性传输。
在一个实施例中,上述步骤S120之后还包括:缓存编码数据。
本实施例中,将编码数据存储于缓冲区中,以待发送,且通过存储于缓冲区这一缓存机制进行编码数据的存储,也进一步提高了编码数据的存取速度,以提高编码数据的同步率。
上述步骤S130之后还包括:接收发送的编码数据,并缓存。
本实施例中,虚拟手术中进行同步的接收端不断接收编码数据,在接收到虚拟手术的操作端所发送的编码数据之后,也将数据存入缓冲区中。虚拟手术的操作端和编码数据的接收端均对编码数据进行了缓存,通过这一双缓冲过程,无论以何种协议进行编码数据的传输,均能够保证整个数据同步过程不会受到网络带宽和性能波动的影响,并且实现了最大限度地利用网络带宽,进而提高了虚拟手术中的同步率,满足虚拟手术中较高的交互碰撞检测采样率。
步骤S140,通过接收的编码数据进行重建得到发生变化的模型数据,并更新于虚拟手术中。
本实施例中,对接收的编码数据进行解析,以重建得到虚拟手术操作端中发生了变化的模型数据,并将重建得到的模型数据更新到接收端所同步显示的虚拟手术中。
在一个实施例中,如图4所示,一种虚拟手术中的数据同步系统,包括数据获取模块10、编码模块20、发送模块30以及模型更新模块40。
数据获取模块10,用于获取虚拟手术中发生变化的模型数据。
本实施例中,虚拟手术中通过几何模型来描述涉及的模型,该几何模型可为三角片模型,相对的,模型数据为一种数据结构,用于记载多个顶点以及多个三角形,是虚拟手术中手机工具模型和/或手术对象模型中发生了变化的模型数据。进一步的,数据获取模块10获取虚拟手术中的模型数据,并使得虚拟手术中数据同步的接收端所展示的虚拟手术过程拥有三维效果,因此,不仅减少了传输的数据量,也大大提高了虚拟手术同步过程中的显示效果,更为逼真地同步虚拟手术。
在一个实施例中,数据获取模块10还用于计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点。
本实施例中,在虚拟手术中,手术工具模型是手术器械的几何模型,操作者直接调用所需的手术工具模型即可,手术对象模型是手术工具模型所要操作的对象物体,包括了顶点、边和面三个数组。手术工具模型和手术对象模型发生交互碰撞时为消除数据同步过程中模型数据之间的相互影响,数据获取模块10直接将手术工具模型中的变换矩阵和手术对象模型中发生形变的顶点用于虚拟手术中的数据同步。
由于将手术工具模型中的变换矩阵和手术对象模型中发生形变的顶点作为模型数据,使得多个连续的模型数据之间不会相互影响,这将使数据同步过程适应于现有的网络传输,便于实现网络中的实时传输,提高同步率。
此外,这一虚拟手术中的数据同步过程仅仅对手术工具模型中的变换矩阵和手术对象模型中发生形变的顶点等模型数据进行传输,而不需要将整个手术工具模型和手术对象模型进行传输,大大地降低了传输的数据量。
在另一个实施例中,如图5所示,上述虚拟手术中的数据同步系统还包括:
检测模块50,用于检测手术工具模型和手术对象模型是否发生交互,若是,则通知数据获取模块10进行手术工具模型的变换矩阵和手术对象模型中发生形变的顶点的计算,若否,则
该数据获取模块10还用于计算手术工具模型的变换矩阵。
本实施例中,检测模块50对手术工具模型和手术对象模型进行碰撞检测,以判断是否发生了交互,若是,则说明手术工具模型的位置以及手术对象模型发生了变化,因此,需要数据获取模块10对其进行计算,以得到发生了变化的模型数据,若检测模块50判断到手术工具模型和手术对象模型并未发生碰撞,则只需数据获取模块10获取到手术工具模型中的变换矩阵即可。
编码模块20,用于对模型数据进行编码得到对应的编码数据。
本实施例中,为与网络传输中的应用层相适应,应当对模型数据进行编码,获取到的模型数据通常是以字符串的形式进行存储的,因此编码模块20可将字符串进行分组,在字符串的分组中还应当将模型数据所对应的字符串与长度标记相关联,该长度标记用于标识分组中模型数据所对应的字符串的长度,实现了传输数据的一致性和连续性,并保证后续同步过程中数据解析的正确性。进一步的,编码模块20可将分组中的长度标记设定为固定的字节长度,例如,长度标记可为4字节长度,以进一步保证数据解析的正确性。例如,分组中所形成的数据格式可以为[Item长度+Item字符串],多个分组依次连接便构成了用于进行网络传输的编码数据,该编码数据实质为字符串流。每一分组中模型数据所对应的字符串长度是由存储的数据量决定的,也就是由手术工具模型的变换矩阵和手术对象模型中的形变顶点的数量决定。
在一个实施例中,如图6所示,上述编码模块20包括:
转换单元210,用于将模型数据转换为字符串。
构造单元230,用于根据字符串的存储地址将该地址对应的字符串构造成编码数据,并将编码数据中字符串的长度与字符串关联。
本实施例中,虚拟手术中获取的发生了变化的模型数据是以字符串的形式有序存储的,构造单元230根据存储地址依次读取出对应的字符串,每一存储地址所对应的字符串即可作为一个分组,在每一分组中将该字符串与其对应的长度相关联形成编码数据。在一个实施例中,存储地址为字符串存储于缓冲区的地址。
连接单元250,用于连接构造的编码数据。
本实施例中,连接单元250将多个构造的编码数据依次首尾相接得到包含多个编码数据组成的字符串流,进而方便数据在网络中的传输。
在一个实施例中,连接单元250还用于获取构造的编码数据的长度,分别将开始标识符、获取的长度、校验和以及构造的编码数据依次连接。
本实施例中,每一构造的编码数据对应了一个分组,即分组的长度即为构造的编码数据的长度。开始标识符为预定长度的字符,例如,可为1字节,设置于多个编码数据组成的字符串流的前端。校验和用于验证接收到的字符串流的正确性和完整性。具体的,最终连接单元250连接形成的字符串流所对应的格式样例为:开始标识符+获取的长度+校验和+[Item1长度+Item1字符串]+[Item2长度+Item2字符串]+……+[ItemN长度+ItemN字符串],其中,[ItemN长度+ItemN字符串]为第N个分组中编码数据对应的字符串及其长度。
发送模块30,用于读取编码数据并发送。
本实施例中,发送模块30读取编码数据之后,通过RTP协议(Real-timeTransportProtocol,实时传输协议)、UDP协议(UserDatagramProtocol,用户数据包协议)或者TCP协议(TransmissionControlProtocol,传输控制协议)进行编码数据的传输。进一步的,由于通过UDP协议能够能够保证接收到完整的数据包,因此,发送模块30通过UDP协议进行编码数据的传输保证了传输的编码数据的正确性和完整性。
在一个实施例中,在对编码数据的发送过程中,发送模块30可设定时间间隔,即每隔一定的时间间隔便进行一次编码数据的发送,例如,该时间间隔可为40ms;相对的,在虚拟手术中进行同步的接收端也设定时间间隔,每隔一个相应的时间间隔便进行一次编码数据的接收,实现数据的周期性传输。
在另一个实施例中,如图7所示,上述虚拟手术中的数据同步系统还包括缓存模块60以及接收模块70,其中:
缓存模块60,用于缓存编码数据。
本实施例中,缓存模块60将编码数据存储于缓冲区中,以待发送,且通过存储于缓冲区这一缓存机制进行编码数据的存储,也进一步提高了编码数据的存取速度,以提高编码数据的同步率。
接收模块70,用于接收发送的编码数据,并缓存。
本实施例中,虚拟手术中进行同步的接收端不断接收编码数据,在接收模块70接收到虚拟手术的操作端所发送的编码数据之后,也将数据存入缓冲区中。虚拟手术的操作端和编码数据的接收端均对编码数据进行了缓存,通过这一双缓冲过程,无论以何种协议进行编码数据的传输,均能够保证整个数据同步过程不会受到网络带宽和性能波动的影响,并且实现了最大限度地利用网络带宽,进而提高了虚拟手术中的同步率,满足虚拟手术中较高的交互碰撞检测采样率。
模型更新模块40,用于通过接收的编码数据进行重建得到发生变化的模型数据,并更新于虚拟手术中。
本实施例中,模型更新模块40对接收的编码数据进行解析,以重建得到虚拟手术操作端中发生了变化的模型数据,并将重建得到的模型数据更新到接收端所同步显示的虚拟手术中。
具体的,连接单元250将开始标识符、获取的长度、校验和以及构造的编码数据依次连接起来,在后续的解析过程中,模型更新模块40将首先读取开始标识符,通过开始标识符将获知当前接收的字符串流开始进行解析,然后根据与开始标识符相连接的获取的长度可以获知字符串流中分组的长度,此时读取校验和,并检验字符串流的正确性,如果发生错误则将其丢弃,验证了字符串流的正确性之后,根据读取到的获取的长度进入循环,在循环中依次解析对字符串流中的分组,以重建发生交互的模型数据,其中,循环次数即为获取的长度。在循环解析的过程中,若读取到字符串流中的末端数据不完整,则暂停对该末端数据的解析,待接收完毕之后继续解析。
如图8至9所示,将上述虚拟手术的数据同步方法及系统应用于虚拟顾客机器人手术模型训练时,对手术工具模型与手术对象模型之间的交互碰撞为100次/秒,在运行过程中,无论使用10M的交换机还是100M的交换机进行传输均能够正确地进行数据同步。
上述虚拟手术中的数据同步方法及系统中,获取虚拟手术中发生变化的模型数据,将模型数据所对应的编码数据发送出去,以将发生了变化的模型数据同步到接收端,并更新于虚拟手术中,由于仅发送发生了变化的模型数据,减少了数据传输量,进而提高虚拟手术中的同步率。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种虚拟手术中的数据同步方法,包括如下步骤:
检测手术工具模型和手术对象模型是否发生交互,若是,则计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点,以获取虚拟手术中发生变化的模型数据;
对所述模型数据进行编码得到对应的编码数据,其中将模型数据转换为字符串,将字符串进行分组,在字符串的分组中将模型数据所对应的字符串与长度标记相关联,该长度标记用于标识分组中模型数据所对应的字符串的长度,每一分组中模型数据所对应的字符串长度由手术工具模型的变换矩阵和手术对象模型中的形变顶点的数量决定;
读取所述编码数据并发送;
通过接收的编码数据进行重建得到发生变化的模型数据,并更新于所述虚拟手术中,使得虚拟手术中数据同步的接收端所展示的虚拟手术过程拥有三维效果。
2.根据权利要求1所述的虚拟手术中的数据同步方法,其特征在于,当检测所述手术工具模型和手术对象模型未发生交互,则计算所述手术工具模型的变换矩阵。
3.根据权利要求1所述的虚拟手术中的数据同步方法,其特征在于,所述对所述模型数据进行编码得到对应的编码数据的步骤还包括:
根据所述字符串在内存中的地址将所述地址对应的字符串构造成编码数据,并将所述编码数据中字符串的长度与所述字符串关联;
连接所述构造的编码数据。
4.根据权利要求3所述的虚拟手术中的数据同步方法,其特征在于,所述连接所述构造的编码数据的步骤为:
获取所述构造的编码数据的长度;
分别将开始标识符、获取的长度、校验和以及所述构造的编码数据依次连接。
5.根据权利要求1所述的虚拟手术中的数据同步方法,其特征在于,所述对所述模型数据进行编码得到对应的编码数据的步骤之后还包括:
缓存所述编码数据;
所述读取所述编码数据并发送的步骤之后还包括:
接收所述发送的编码数据,并缓存。
6.一种虚拟手术中的数据同步系统,其特征在于,包括:
数据获取模块,用于获取虚拟手术中发生变化的模型数据;
编码模块,用于对所述模型数据进行编码得到对应的编码数据,其中将模型数据转换为字符串,将字符串进行分组,在字符串的分组中将模型数据所对应的字符串与长度标记相关联,该长度标记用于标识分组中模型数据所对应的字符串的长度,每一分组中模型数据所对应的字符串长度由手术工具模型的变换矩阵和手术对象模型中的形变顶点的数量决定;
发送模块,用于读取所述编码数据并发送;
模型更新模块,用于通过接收的编码数据进行重建得到发生变化的模型数据,并更新于所述虚拟手术中,使得虚拟手术中数据同步的接收端所展示的虚拟手术过程拥有三维效果;
所述系统还包括:
检测模块,用于检测所述手术工具模型和手术对象模型是否发生交互,若是,则通知所述数据获取模块计算手术工具模型的变换矩阵和手术对象模型中发生形变的顶点,以获取虚拟手术中发生变化的模型数据。
7.根据权利要求6所述的虚拟手术中的数据同步系统,其特征在于,
所述检测模块,还当检测所述手术工具模型和手术对象模型未发生交互,则通知所述数据获取模块计算所述手术工具模型的变换矩阵。
8.根据权利要求6所述的虚拟手术中的数据同步系统,其特征在于,所述编码模块包括:
转换单元,用于将模型数据转换为字符串;
构造单元,用于根据所述字符串的存储地址将所述地址对应的字符串构造成编码数据,并将所述编码数据中字符串的长度与所述字符串关联;
连接单元,用于连接所述构造的编码数据。
9.根据权利要求8所述的虚拟手术中的数据同步系统,其特征在于,所述连接单元还用于获取构造的编码数据的长度,分别将开始标识符、获取的长度、校验和以及所述构造的编码数据依次连接。
10.根据权利要求6所述的虚拟手术中的数据同步系统,其特征在于,还包括:
缓存模块,用于缓存所述编码数据;
接收模块,用于接收所述发送的编码数据,并缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110412234.3A CN103166987B (zh) | 2011-12-12 | 2011-12-12 | 虚拟手术中的数据同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110412234.3A CN103166987B (zh) | 2011-12-12 | 2011-12-12 | 虚拟手术中的数据同步方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103166987A CN103166987A (zh) | 2013-06-19 |
CN103166987B true CN103166987B (zh) | 2016-06-15 |
Family
ID=48589725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110412234.3A Active CN103166987B (zh) | 2011-12-12 | 2011-12-12 | 虚拟手术中的数据同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103166987B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015023831A1 (en) * | 2013-08-16 | 2015-02-19 | Intuitive Surgical Operations, Inc. | System and method for coordinated motion among heterogeneous devices |
CN105321415A (zh) * | 2014-08-01 | 2016-02-10 | 卓思生命科技有限公司 | 一种手术模拟系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184002A (zh) * | 2007-12-14 | 2008-05-21 | 国家广播电影电视总局广播科学研究院 | 一种点对点流量深度监测方法和设备 |
CN101286188A (zh) * | 2008-04-03 | 2008-10-15 | 深圳先进技术研究院 | 一种虚拟仿真系统中力觉反馈的计算方法 |
CN201903986U (zh) * | 2010-12-22 | 2011-07-20 | 中国科学院深圳先进技术研究院 | 机器人模拟训练系统 |
CN102254476A (zh) * | 2011-07-18 | 2011-11-23 | 广州赛宝联睿信息科技有限公司 | 内窥镜微创手术模拟训练方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10580325B2 (en) * | 2010-03-24 | 2020-03-03 | Simbionix Ltd. | System and method for performing a computerized simulation of a medical procedure |
-
2011
- 2011-12-12 CN CN201110412234.3A patent/CN103166987B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101184002A (zh) * | 2007-12-14 | 2008-05-21 | 国家广播电影电视总局广播科学研究院 | 一种点对点流量深度监测方法和设备 |
CN101286188A (zh) * | 2008-04-03 | 2008-10-15 | 深圳先进技术研究院 | 一种虚拟仿真系统中力觉反馈的计算方法 |
CN201903986U (zh) * | 2010-12-22 | 2011-07-20 | 中国科学院深圳先进技术研究院 | 机器人模拟训练系统 |
CN102254476A (zh) * | 2011-07-18 | 2011-11-23 | 广州赛宝联睿信息科技有限公司 | 内窥镜微创手术模拟训练方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103166987A (zh) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105187227B (zh) | 一种应用rmap协议实现can总线设备即插即用的装置 | |
CN103248440B (zh) | 终端测试系统及方法 | |
US10021182B2 (en) | Method and apparatus for data synchronization | |
CN102820959A (zh) | 在Modbus主站与从站之间进行大数据量通信的方法 | |
CN103929293A (zh) | 非对称延迟的时间同步方法及系统 | |
CN112566282B (zh) | 一种物联网信息传递方法及平台 | |
CN104239254B (zh) | 串行异步通讯数据传输方法 | |
CN105515708B (zh) | 基于fc网络的一种时钟同步精度测试装置及方法 | |
CN110324115A (zh) | 一种数据传输方法、装置、存储介质及终端设备 | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN104866399B (zh) | Um-bus总线通道故障检测控制器及检测方法 | |
CN103166987B (zh) | 虚拟手术中的数据同步方法及系统 | |
CN104301632B (zh) | 高尔夫比赛字幕快速制作系统和方法 | |
CN104809250A (zh) | 一种松散式数据一致性校验方法 | |
CN103186249B (zh) | 远程管理系统及远程管理方法 | |
CN101437239A (zh) | 基于线性预测滤波的实时传感器信号网络传输方法 | |
CN103840871B (zh) | 无线网络中三维模型拓扑数据鲁棒传输的编码和重构方法 | |
CN1988664A (zh) | 基于多参考预测链编码的无线视频传输方法 | |
CN103200127A (zh) | 一种板间串行通信系统及方法 | |
CN107959650A (zh) | 一种面向低码率bch码的盲帧同步方法 | |
CN108040041A (zh) | 一种基于业务驱动的图像差异传输协议设计系统及方法 | |
CN103595996B (zh) | 一种适用于真三维显示系统的多视点数据传输方法 | |
US20090196307A1 (en) | Transmitter apparatus, receiver apparatus, moving image and audio transmission evaluation method, and computer readable storage medium storing program thereof | |
CN104869160A (zh) | 一种基于云平台的分布式虚拟现实系统 | |
CN104780180A (zh) | 一种基于移动终端的虚拟现实平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |