CN114615349A - 云vr交互控制数据传输方法、装置、智能终端及存储介质 - Google Patents
云vr交互控制数据传输方法、装置、智能终端及存储介质 Download PDFInfo
- Publication number
- CN114615349A CN114615349A CN202210130506.9A CN202210130506A CN114615349A CN 114615349 A CN114615349 A CN 114615349A CN 202210130506 A CN202210130506 A CN 202210130506A CN 114615349 A CN114615349 A CN 114615349A
- Authority
- CN
- China
- Prior art keywords
- control data
- data
- cloud
- interactive control
- interaction
- 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.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 118
- 230000003993 interaction Effects 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000002452 interceptive effect Effects 0.000 claims abstract description 187
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 5
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 abstract description 3
- 230000000694 effects Effects 0.000 description 10
- 230000003238 somatosensory effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000010399 physical interaction Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/23—Bit dropping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/41—Flow control; Congestion control by acting on aggregated flows or links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种云VR交互控制数据传输方法、装置、智能终端及存储介质,上述方法包括:接收交互控制数据;基于生成所述交互控制数据的VR终端,获得所述交互控制数据对应的类别;基于所述类别,获得传输所述交互控制数据的传输层协议;基于所述传输层协议,传输所述交互控制数据。与现有技术相比,本发明针对云VR中交互控制数据的特性,建立多个传输通道,采用不同的传输方式,同时兼顾传输VR交互控制数据低延时和可靠性,即使在低带宽的网络条件下,也能保证VR设备的交互性,防止出现图像拖尾、视频卡顿等严重影响用户体验的情况。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及的是一种云VR交互控制数据传输方法、装置、智能终端及存储介质。
背景技术
目前,虚拟现实技术VR(Virtual Reality,虚拟现实)多采用云VR机制,云VR将内容存储和渲染放置到云端进行,本地仅需完成解码和显示,从而降低了对设备性能的要求,有效降低了成本。VR终端生成交互控制数据并发送至服务器,服务器从VR系统中获取待渲染数据,由服务器中的云渲染平台根据交互控制数据进行实时渲染,将渲染后的数据发送至VR终端。
目前,交互控制数据在网络中传输时,由于网路原因,传输时延较高,导致应用到云VR中,用户在体验过程中出现画面滞后、控制事件响应慢,使得VR设备的交互性大打折扣。
因此,现有技术还有待改进和发展。
发明内容
本发明的主要目的在于提供一种云VR交互控制数据传输方法、装置、智能终端及存储介质,旨在解决现有技术中由于网络原因导致交互控制数据时延较高、VR交互性差的问题。
为了实现上述目的,本发明提供了一种云VR交互控制数据传输方法,其中,上述方法包括:
接收交互控制数据;
获取所述交互控制数据对应的类别;
基于所述类别,获得传输所述交互控制数据的传输层协议;
基于所述传输层协议,传输所述交互控制数据。
可选的,所述基于所述类别,获得传输所述交互控制数据的传输层协议,包括:
若所述类别为指令数据,所述传输层协议为TCP协议;
若所述类别为头部交互数据或身体交互数据,所述传输层协议为UDP协议。
可选的,若所述类别为头部交互数据或身体交互数据,所述传输所述交互控制数据,包括:
基于已接收的反映网络传输状态的统计信息,判断网络传输状态;
若网络传输状态为网络阻塞,累计接收到设定个数的所述交互控制数据后,将所有的所述交互控制数据组合为数据包,传输所述数据包;
否则传输所述交互控制数据。
可选的,所述将所有的所述交互控制数据组合为数据包,传输所述数据包后,还包括:
对所述设定个数翻倍并更新。
可选的,若所述类别为身体交互数据且所述数据包的长度大于最大传输单元,所述将所有的所述交互控制数据组合为数据包之后,还包括:
丢弃所述数据包;
将所有的所述交互控制数据按时间排序形成数据序列;
间隔丢弃所述数据序列中的交互控制数据;
将所述数据序列组合为数据包。
可选的,若所述类别为头部交互数据,云端接收到所述交互控制数据后,还包括:
基于所述交互控制数据的序号,根据交互控制数据的完整性判断规则获得判断结果;
若所述判断结果为交互控制数据丢失,获取已丢失的交互控制数据的序号,获取位于该序号前已缓存的设定数量的交互控制数据,基于缓存的交互控制数据,根据卡尔曼滤波算法重建丢失的交互控制数据。
为了实现上述目的,本发明第二方面还提供了一种云VR交互控制数据传输装置,包括:
数据接收模块,用于接收交互控制数据;
类别判定模块,用于获取所述交互控制数据对应的类别;
协议确定模块,用于基于所述类别,获得传输所述交互控制数据的传输层协议;
传输模块,用于基于所述传输层协议,传输所述交互控制数据。
可选的,还包括重建模块,用于基于缓存的交互控制数据,根据卡尔曼滤波算法重建丢失的交互控制数据。
为了实现上述目的,本发明第三方面还提供了一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的云VR交互控制数据传输程序,上述云VR交互控制数据传输程序被上述处理器执行时实现任意一项上述云VR交互控制数据传输方法的步骤。
为了实现上述目的,本发明第四方面还提供了一种计算机可读存储介质,上述计算机可读存储介质上存储有云VR交互控制数据传输程序,上述云VR交互控制数据传输程序被处理器执行时实现任意一项上述云VR交互控制数据传输方法的步骤。
由上述可见,本发明的云VR交互控制数据传输方法、装置、智能终端及存储介质,通过将交互控制数据划分为不同的类别,并对不同类别的交互控制数据采用不同的传输层协议,实现动态灵活地调整交互控制数据的传输方式,网络传输更加稳定、减少交互控制数据的时延,VR交互效果更好。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明提供的云VR交互控制数据传输方法流程示意图;
图2是图1实施例步骤S400的具体流程示意图;
图3是图2实施例步骤S420的具体流程示意图;
图4是图1实施例的云端重建交互控制数据的流程示意图;
图5是本发明实施例提供的云VR交互控制数据传输装置的结构示意图;
图6是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
按照服务运行的位置,VR(Virtual Reality,虚拟现实)分为本地VR和云VR两类。本地VR把内容存储和渲染放在本地完成,这种解决方案要求本地设备有相当高的计算能力,如高性能的PC、VR一体机等等,这将给用户带来高昂的成本。云VR则将内容存储和渲染放置到云端进行,本地仅需完成解码和显示,从而降低了对设备性能的要求,有效降低了成本。目前多采用云VR机制,然而目前交互控制数据在网络中传输时,云VR平台传输端到端时延比较高,导致流畅性比较差,用户在体验过程中出现画面滞后、控制事件响应慢。
本发明的云VR交互控制数据传输方法,通过将交互控制数据划分为不同的类别,并对不同类别的交互控制数据采用不同的传输层协议,实现动态灵活地调整交互控制数据的传输方式,网络传输更加稳定、减少交互控制数据的时延,VR交互效果更好。
示例性方法
如图1所示,本发明实施例提供一种云VR交互控制数据传输方法,具体的,上述方法包括如下步骤:
步骤S100:接收交互控制数据;
具体地,交互控制数据由VR终端和云端生成,VR终端生成交互控制数据后,需要通过无线或有线方式将交互控制数据传输至云端,云端生成的交互控制数据需要传输至VR终端。通常的,VR终端上会生成位置数据、姿态数据、控制数据等上述数据项中的一种数据或多种数据,上述数据项中的单项数据或多项数据的组合均为交互控制数据。VR终端的具体设备不限,可以是VR头盔、VR手柄、体感交互设备(如体感座椅、跑步机、体感衣服、空间定位设备、动作捕捉设备等)等;云端生成的交互控制数据用于控制VR终端实现某些效果,例如云端生成的震动反馈数据可以实现VR终端的体感震动效果。
步骤S200:获取交互控制数据对应的类别;
具体地,由于不同VR终端设备产生的交互控制数据对于VR交互效果的重要性是不同的,有些交互控制数据不能丢失、有些交互控制数据必须保证低时延。也就是说,不同VR终端生成的交互控制数据,在传输时对于时延和丢包率的要求是不同的。根据对时延、丢包率的不同要求,本发明将交互控制数据分为三种类别:头部交互数据、身体交互数据和指令数据。
其中头部交互数据是指在VR使用者头部区域采集的或者作用于VR使用者头部区域的感应数据、捕捉数据、反馈数据等数据项中的一种数据或多种数据的组合,主要包括位置数据、姿态数据。由于用户的VR视角(FOV)的画面渲染直接由这类数据决定,如果这类数据传输中时延高,会给用户带来晕眩感,因此需要尽可能的缩小这类数据的传输时延;
身体交互数据是指在VR使用者头部区域以外采集的或者作用于VR使用者头部区域以外的感应数据、捕捉数据、反馈数据等数据项中的一种数据或多种数据的组合。主要是体感交互数据,包括双手、双脚、手持控制器、身体躯干的位置数据和姿态数据。由于这类数据并不会影响到VR视角,因此,即使有时延或者数据丢失现象,也不会造成使用时的晕眩感,也就是说,身体交互数据可以容许一定的时延或者丢失;
指令数据主要由VR控制器按键生成,以及云端生成的VR终端的震动反馈数据,由于人存在0.2秒左右的反应时间,因此指令数据可以存在100ms左右的延时,不会影响操作体验,但是不能丢失,否则会出现控制事件无响应或者控制事件响应错位,使得VR设备的交互性大打折扣。
因此,将交互控制数据按照上述类别进行分类后,根据生成交互控制数据的来源,即来自于哪些VR终端,可以获得交互控制数据对应的类别。
可选的,云端生成的交互控制数据,也可以根据作用于目标VR终端产生的效果区域,来对该交互控制数据进行分类。例如:云端生成的震动反馈数据通常作用在VR头盔上,可以将该震动反馈数据划分为头部交互数据,以实现更好的交互效果。
步骤S300:基于所述类别,获得传输交互控制数据的传输层协议;
具体地,现有的云VR传输关注焦点主要在于云端生成视频的传输效率上,并没有关注VR设备产生的交互控制数据的传输效率。然而交互控制数据实际传输过程中,常由于网络原因导致数据延时和丢包,直接影响到云端VR视频的及时性和视频效果。因此,本发明在对交互控制数据按类别进行分类的基础上,对不同的交互控制数据采用不同的传输层协议,减轻网络传输压力,实现交互控制数据低时延传输、保证云视频的VR效果。
当交互控制数据对应的类别为头部交互数据或身体交互数据时,这两类数据的特点是高频、小包。所述高频是指这两类数据产生的频率大约等于VR画面刷新渲染的频率,即不低于60hz,一般90~100hz左右,甚至可达1000hz。所述小包是指这两类数据只是一个6维浮点坐标,大小为24个字节。因此,这两类数据生成频率高,虽然单个数据包很小但是数据包数量巨大,巨量的这类小包数据采用现有的TCP传输时很容易受到网络抖动影响造成网络阻塞、网络延时。因此,基于上述原因,本发明传输这两类数据时传输层协议选择UDP协议。相对于TCP协议,UDP协议传输效率高,更加适用于对高速传输和实时性有较高要求的通信或广播通信。
当交互控制数据对应的类别为指令数据时,由于指令数据可以接受一定的时延但是不能丢失,相比于头部交互数据和身体交互数据,数据生成频率远远低于上述两类数据。因此传输指令数据时,传输层协议选择TCP协议。TCP能提供可靠的服务,通过TCP连接传送的数据,无差错、不丢失、不重复、且按序到达。
因此,本发明在传输交互控制数据时,建立了多个传输通道,利用不同的传输层协议的特点来传输不同类别的交互控制数据,减轻网络压力并使得交互控制数据传输更加高效。
在另一些实施场景中,对于头部交互数据或身体交互数据,采用基于UDP的数据传输协议(UDP-based Data Transfer Protocol,简称UDT)传输协议来替代UDP协议。
步骤S400:基于所述传输层协议,传输所述交互控制数据。
具体地,确定好采用的传输层协议后,将VR终端生成的交互控制数据传输至云端;将云端生成的交互控制数据传输至VR终端。
综上所述,本发明的云VR交互控制数据传输方法包括:接收交互控制数据;基于生成所述交互控制数据的VR终端,获得所述交互控制数据对应的类别;基于所述类别,获得传输所述交互控制数据的传输层协议;基于所述传输层协议,传输所述交互控制数据。通过将交互控制数据划分为不同的类别,并对不同类别的交互控制数据采用不同的传输层协议,实现动态灵活地调整交互控制数据的传输方式,网络传输更加稳定、减少交互控制数据的时延,VR交互效果更好。
若交互控制数据的类别为头部交互数据或身体交互数据,上述步骤S400传输交互控制数据时,在一些实施例中,更具体地包括如图2所示的步骤:
步骤S410:基于已接收的反映网络传输状态的统计信息,判断网络传输状态;
具体地,将交互控制数据传输至云端后,云端统计接收到的交互控制数据的数据包信息,并计算出网络延时和丢包率,并反馈上述网络延时和丢包率等信息。当丢包率或网络延时大于设定阈值时,则判定网络传输发生了阻塞,即网络传输状态为网络阻塞。关于网络延时和丢包率的计算方法,可以参考现有技术中的计算方法,在此不再赘述。至于设定阈值,可以根据当前使用的网络速度、信号状况来预先设定;也可以统计网络阻塞出现的频率、网络延时的程度来对设定阈值进行更改。
步骤S420:若网络传输状态为网络阻塞,累计接收到设定个数的交互控制数据后,将所有的所述交互控制数据组合为数据包,传输所述数据包;
步骤S430:否则传输所述交互控制数据。
具体地,基于头部交互数据和身体交互数据等交互控制数据的特性,在使用UDP传输协议进行传输时如果仍出现网络阻塞,本发明进一步地将多个交互控制数据包组合为一个数据包,减少网络传输的传输频率,以减轻网络传输压力和改善网络时延。数据包中组合交互控制数据的个数可以预先设定,本实施例中设定个数为2,相当于传输频率减半。如果网络传输时没有出现网络阻塞,则及时传输交互控制数据。
进一步的,将多个交互控制数据组合为数据包后,仍可能未改善网络传输状态,可以对多个控制数据组合为数据包并传输后,并将设定个数翻倍并更新设定个数,使得一个数据包中包含更多的交互控制数据。例如设定个数初始为2,将两个交互控制数据组合为数据包后,将设定个数更新为4,下一次云端仍反馈网络阻塞时就将四个交互控制数据组合为数据包进行发送,并更新设定个数为8,以此类推,设定个数呈几何级数递增,以实现改善网络传输状态的目的。
由于网络传输的数据包长度不是无限制的,长度需要小于最大传输单元。在对设定个数几何级数增长后,组合的数据包的长度可能会大于最大传输单元。如果交互控制数据的类别是身体交互数据,这类数据的特点是即使存在数据丢失现象,也不会影响VR交互效果。因此,对于身体交互数据,在一些实施例中,在步骤S420中将所有的所述交互控制数据组合为数据包之后,还包括如图3所示的步骤:
步骤S421:丢弃所述数据包;
步骤S422:将所有的交互控制数据按时间排序形成数据序列;
步骤S423:间隔丢弃所述数据序列中的交互控制数据;
步骤S424:将所述数据序列组合为数据包。
具体地,由于组合的数据包超过了最大传输单元,首先丢弃当前的数据包,需要重新打包数据包。即把交互控制数据按照时间排序,形成数据序列,再将数据序列中的交互控制数据间隔丢弃,以缩减数据包的长度。例如丢弃数据序列中序号为2、4、6...的交互控制数据,再对数量缩减后的数据序列进行组合,形成新的数据包。
通过采用UDP传输协议,可以显著地减小数据传输的时延。但是由于UDP传输协议的特性,也存在头部交互数据丢失的概率。然而由于头部交互数据与用户的VR视角(FOV)的画面渲染相关,需要尽可能保证头部交互数据的完整性,减少头部交互数据的丢失。因此,本发明进一步地在云端接收到交互控制数据后,对接收到的头部交互数据完整性进行判断,如果发生头部交互数据的丢失,对头部交互数据进行重建,以使得头部交互数据完整,保证VR交互效果。
对于头部交互数据,在一些实施例中,云端接收到所述交互控制数据后,还包括如图4所示的步骤:
步骤SA10:基于交互控制数据的序号,根据交互控制数据的完整性判断规则获得判断结果;
具体地,将包含头部交互控制数据的数据包发送至云端时,每一个数据包的头部都有一个依次递增的序列号,并且头部交互数据的产生频率、间隔时间都是固定值,即上述数据包的发送间隔时间是相同的。基于上述特性,当云端接收到交互控制数据后,可以根据交互控制数据的序列号来判断是否有交互控制数据丢包,例如接收到序号为17的交互控制数据后,在此之前收到的交互控制数据的序号为15,则可以判定序号为16的交互控制数据发生丢失。还可以根据如果等待接收序号为16的交互控制数据的时间超出上述的时间间隔,如等待时长达到1.5倍上述时间间隔,来判定序号为16的交互控制数据发生丢失。
步骤SA20:若所述判断结果为交互控制数据丢失,获取已丢失的交互控制数据的序号,获取位于该序号前已缓存的设定数量的交互控制数据,基于缓存的交互控制数据,根据卡尔曼滤波算法重建丢失的交互控制数据。
具体地,本实施例的云端基于先进先出的规则,始终缓存了设定数量的交互控制数据,例如设定数量为10,当前收到的交互控制数据的序号为20,则缓存了序号从10至19的交互控制数据。当判断交互控制数据丢失时,如步骤SA10所述,获得丢失的交互控制数据的序号,假如当前丢失的交互控制数据序号是20,则读取缓存中保存序号为10至19的交互控制数据,由于头部交互数据具体内容是基于时间序列的连续轨迹坐标,因此可以根据现有的卡尔曼滤波算法重建序号为20的交互控制数据,使得头部交互数据保持完整。
由上所述,本发明针对云VR中交互控制数据的特性,建立多个传输通道,采用不同的传输方式,同时兼顾传输VR交互控制数据低延时和可靠性,即使在低带宽的网络条件下,也能保证VR设备的交互性,防止出现图像拖尾、视频卡顿等严重影响用户体验的情况。
示例性设备
如图5中所示,对应于云VR交互控制数据传输方法,本发明实施例还提供一种云VR交互控制数据传输装置,该装置可以部署在本地或者云端,上述云VR交互控制数据传输装置包括:
数据接收模块600,用于接收交互控制数据;
具体地,当云VR交互控制数据传输装置部署在本地时,数据接收模块600用于接收VR终端产生的交互控制数据。VR终端的具体设备不限,可以是VR头盔、VR手柄、体感交互设备(如体感座椅、跑步机、体感衣服、空间定位设备、动作捕捉设备等)等;当云VR交互控制数据传输装置部署在云端时,数据接收模块600用于接收云端生成的用于控制VR终端实现某些效果的交互控制数据,例如云端生成的震动反馈数据,用于实现VR终端的体感震动效果。
类别判定模块610,用于获取交互控制数据对应的类别;
具体地,由于不同VR终端设备产生的交互控制数据对于VR交互效果的重要性是不同的,有些交互控制数据不能丢失、有些交互控制数据必须保证低时延。也就是说,不同VR终端生成的交互控制数据,在传输时对于时延和丢包率的要求是不同的。根据对时延、丢包率的不同要求,本发明将交互控制数据分为三种类别:头部交互数据、身体交互数据和指令数据。
其中头部交互数据是指在VR使用者头部区域采集的或者作用于VR使用者头部区域的感应数据、捕捉数据、反馈数据等数据项中的一种数据或多种数据的组合。
身体交互数据是指在VR使用者头部区域以外采集的或者作用于VR使用者头部区域以外的感应数据、捕捉数据、反馈数据等数据项中的一种数据或多种数据的组合。
指令数据主要由VR控制器按键生成,以及云端生成的VR终端的震动反馈数据。
因此,将交互控制数据按照上述类别进行分类后,根据生成交互控制数据的来源,即来自于哪些VR终端,可以获得交互控制数据对应的类别。
协议确定模块620,用于基于所述类别,获得传输所述交互控制数据的传输层协议;
具体地,当交互控制数据对应的类别为头部交互数据或身体交互数据时,传输这两类数据时传输层协议选择UDP协议。相对于TCP协议,UDP协议传输效率高,更加适用于对高速传输和实时性有较高要求的通信或广播通信。
当交互控制数据对应的类别为指令数据时,传输层协议选择TCP协议。TCP能提供可靠的服务,通过TCP连接传送的数据,无差错、不丢失、不重复、且按序到达。
传输模块630,用于基于所述传输层协议,传输所述交互控制数据。
具体地,确定好采用的传输层协议后,将VR终端生成的交互控制数据传输至云端;将云端生成的交互控制数据传输至VR终端。
可选的,还包括重建模块,用于基于缓存的交互控制数据,根据卡尔曼滤波算法重建丢失的交互控制数据。
本实施例中,上述云VR交互控制数据传输装置的具体功能可以参照上述云VR交互控制数据传输方法中的对应描述,在此不再赘述。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图6所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和云VR交互控制数据传输程序。该内存储器为非易失性存储介质中的操作系统和云VR交互控制数据传输程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该云VR交互控制数据传输程序被处理器执行时实现上述任意一种云VR交互控制数据传输方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图6中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的云VR交互控制数据传输程序,上述云VR交互控制数据传输程序被上述处理器执行时进行以下操作指令:
接收交互控制数据;
基于生成所述交互控制数据的VR终端,获得所述交互控制数据对应的类别;
基于所述类别,获得传输所述交互控制数据的传输层协议;
基于所述传输层协议,传输所述交互控制数据。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有云VR交互控制数据传输程序,上述云VR交互控制数据传输程序被处理器执行时实现本发明实施例提供的任意一种云VR交互控制数据传输方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.云VR交互控制数据传输方法,其特征在于,包括:
接收交互控制数据;
获取所述交互控制数据对应的类别;
基于所述类别,获得传输所述交互控制数据的传输层协议;
基于所述传输层协议,传输所述交互控制数据。
2.如权利要求1所述的云VR交互控制数据传输方法,其特征在于,所述基于所述类别,获得传输所述交互控制数据的传输层协议,包括:
若所述类别为指令数据,所述传输层协议为TCP协议;
若所述类别为头部交互数据或身体交互数据,所述传输层协议为UDP协议。
3.如权利要求1所述的云VR交互控制数据传输方法,其特征在于,若所述类别为头部交互数据或身体交互数据,所述传输所述交互控制数据,包括:
基于已接收的反映网络传输状态的统计信息,判断网络传输状态;
若网络传输状态为网络阻塞,累计接收到设定个数的所述交互控制数据后,将所有的所述交互控制数据组合为数据包,传输所述数据包;
否则传输所述交互控制数据。
4.如权利要求3所述的云VR交互控制数据传输方法,其特征在于,所述将所有的所述交互控制数据组合为数据包,传输所述数据包后,还包括:
对所述设定个数翻倍并更新。
5.如权利要求4所述的云VR交互控制数据传输方法,其特征在于,若所述类别为身体交互数据且所述数据包的长度大于最大传输单元,所述将所有的所述交互控制数据组合为数据包之后,还包括:
丢弃所述数据包;
将所有的所述交互控制数据按时间排序形成数据序列;
间隔丢弃所述数据序列中的交互控制数据;
将所述数据序列组合为数据包。
6.如权利要求1所述的云VR交互控制数据传输方法,其特征在于,若所述类别为头部交互数据,云端接收到所述交互控制数据后,还包括:
基于所述交互控制数据的序号,根据交互控制数据的完整性判断规则获得判断结果;
若所述判断结果为交互控制数据丢失,获取已丢失的交互控制数据的序号,获取位于该序号前已缓存的设定数量的交互控制数据,基于缓存的交互控制数据,根据卡尔曼滤波算法重建丢失的交互控制数据。
7.云VR交互控制数据传输装置,其特征在于,所述装置包括:
数据接收模块,用于接收交互控制数据;
类别判定模块,用于获取所述交互控制数据对应的类别;
协议确定模块,用于基于所述类别,获得传输所述交互控制数据的传输层协议;
传输模块,用于基于所述传输层协议,传输所述交互控制数据。
8.如权利要求7所述的云VR交互控制数据传输装置,其特征在于,还包括重建模块,用于基于缓存的交互控制数据,根据卡尔曼滤波算法重建丢失的交互控制数据。
9.智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的云VR交互控制数据传输程序,所述云VR交互控制数据传输程序被所述处理器执行时实现如权利要求1-6任意一项所述云VR交互控制数据传输方法的步骤。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有云VR交互控制数据传输程序,所述云VR交互控制数据传输程序被处理器执行时实现如权利要求1-6任意一项所述云VR交互控制数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130506.9A CN114615349A (zh) | 2022-02-11 | 2022-02-11 | 云vr交互控制数据传输方法、装置、智能终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210130506.9A CN114615349A (zh) | 2022-02-11 | 2022-02-11 | 云vr交互控制数据传输方法、装置、智能终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114615349A true CN114615349A (zh) | 2022-06-10 |
Family
ID=81860043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210130506.9A Pending CN114615349A (zh) | 2022-02-11 | 2022-02-11 | 云vr交互控制数据传输方法、装置、智能终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114615349A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079840A (zh) * | 2007-02-12 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种数据传输系统及方法 |
CN101488967A (zh) * | 2009-01-14 | 2009-07-22 | 深圳市同洲电子股份有限公司 | 一种视频传输方法、嵌入式监控终端及监控平台服务器 |
CN106310656A (zh) * | 2016-08-30 | 2017-01-11 | 暴风集团股份有限公司 | 一种采用虚拟手柄控制游戏的方法 |
CN107295036A (zh) * | 2016-03-31 | 2017-10-24 | 华为技术有限公司 | 一种数据发送方法及数据合并设备 |
-
2022
- 2022-02-11 CN CN202210130506.9A patent/CN114615349A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079840A (zh) * | 2007-02-12 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 一种数据传输系统及方法 |
CN101488967A (zh) * | 2009-01-14 | 2009-07-22 | 深圳市同洲电子股份有限公司 | 一种视频传输方法、嵌入式监控终端及监控平台服务器 |
CN107295036A (zh) * | 2016-03-31 | 2017-10-24 | 华为技术有限公司 | 一种数据发送方法及数据合并设备 |
CN106310656A (zh) * | 2016-08-30 | 2017-01-11 | 暴风集团股份有限公司 | 一种采用虚拟手柄控制游戏的方法 |
Non-Patent Citations (1)
Title |
---|
许刘泽: "高效云化虚拟现实:系统架构,优化及应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 April 2021 (2021-04-15), pages 3 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7783773B2 (en) | Glitch-free media streaming | |
CN104394486B (zh) | 一种基于云桌面的视频流处理方法及装置 | |
US7844848B1 (en) | Method and apparatus for managing remote display updates | |
CN108810636A (zh) | 视频播放方法、设备及系统 | |
CN109819322A (zh) | 视频传输方法、装置、计算机可读存储介质及电子设备 | |
US9002969B2 (en) | Distributed multimedia server system, multimedia information distribution method, and computer product | |
KR20120082434A (ko) | 짧은 대기 시간의 전송 프로토콜을 위한 방법 및 시스템 | |
Akyildiz et al. | Holographic-type communication: A new challenge for the next decade | |
CN109074152B (zh) | 一种虚拟现实图像发送方法及装置 | |
KR20230058493A (ko) | 데이터 전송 방법 및 장치, 컴퓨터가 판독 가능한 저장 매체, 전자 디바이스 그리고 컴퓨터 프로그램 제품 | |
CN105979216A (zh) | 一种感兴趣区域的视频传输方法及装置 | |
CN113992967A (zh) | 一种投屏数据传输方法、装置、电子设备及存储介质 | |
CN113068001B (zh) | 基于级联摄像机的数据处理方法、装置、设备和介质 | |
CN108989845A (zh) | 一种基于spice协议的视频传输方法 | |
KR101795537B1 (ko) | 네트워크 환경 적응형 클라우드 스트리밍 서비스 제공시스템 및 그 방법 | |
CN110012267A (zh) | 无人机控制方法及音视频数据传输方法 | |
CN109120687B (zh) | 数据包发送方法、装置、系统、设备及存储介质 | |
CN108668138A (zh) | 一种视频下载方法以及用户终端 | |
WO2017150792A1 (en) | Apparatus and method for providing contents using web-based virtual desktop protocol | |
WO2024109810A1 (zh) | 虚拟桌面性能探测方法、装置、设备及存储介质和程序 | |
CN117692704A (zh) | 一种虚拟场景展示方法及系统 | |
Lan et al. | Research on technology of desktop virtualization based on SPICE protocol and its improvement solutions | |
CN113442856A (zh) | 基于自适应平台和ros2的控制方法、装置及存储介质 | |
CN114615349A (zh) | 云vr交互控制数据传输方法、装置、智能终端及存储介质 | |
US20040083488A1 (en) | Receiving apparatus, data communication system, and method for data communication |
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 |