CN111065053A - 一种视频串流的系统及方法 - Google Patents
一种视频串流的系统及方法 Download PDFInfo
- Publication number
- CN111065053A CN111065053A CN201811203106.6A CN201811203106A CN111065053A CN 111065053 A CN111065053 A CN 111065053A CN 201811203106 A CN201811203106 A CN 201811203106A CN 111065053 A CN111065053 A CN 111065053A
- Authority
- CN
- China
- Prior art keywords
- positioning data
- data
- positioning
- timestamp
- streaming
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种视频串流的系统及系统,其中,该方法包括如下步骤:获取定位追踪装置采集的定位数据;根据获取的定位数据获得预测定位数据;将预测定位数据发送给应用平台软件进行画面渲染;获取渲染好的画面,发送给VR设备进行显示。该方法能准确预测定位数据,减少数据抖动和延迟。
Description
技术领域
本发明涉及一种视频串流的系统;尤其涉及一种面向虚拟现实应用的视频串流的系统;同时涉及该系统实现的定位同步方法,属于虚拟现实技术领域。
背景技术
视频串流(video streaming)是指将一连串的视频数据压缩之后分段传送,在网络上即时传输影音以供观赏的视频播放技术。曾经流行的QuickTime Player、Real Player等播放器就采用了视频串流技术。目前,随着网络游戏、游戏直播等产业的深入发展,视频串流得到了越来越广的应用。
虚拟现实(Virtual Reality,简称VR)是指采用计算机技术为核心,利用现代高科技手段生成一种虚拟环境,用户借助特殊的输入/输出设备,通过视觉、听觉和触觉等获得与真实世界相同的感受。虚拟现实技术是一种综合应用计算机图形学、人机接口技术、传感器技术以及人工智能等技术,制造逼真的人工模拟环境,并能有效地模拟人在自然环境中的各种感知的高级的人机交互技术。
头戴式显示器(简称头显)是用于虚拟现实显示的核心设备之一,主要分为三类:第一类是PC头显,需要用数据线连接头显和PC,此种头显可以在PC上显示头显上的画面;第二类是一体式头显,它本质上是一个具有运行存储能力、显示能力和定位能力的VR设备,无需外接设备,因此也称为VR一体机;第三类是移动式头显,通过一个VR盒子配合移动终端使用。
现有的VR一体机中,用户通常只能使用头显预装的应用程序,而不能使用只能在PC头显上使用的应用程序,例如运行在Steam VR平台上的视频和游戏等,限制了其应用范围。针对现有技术的不足,有人尝试在VR一体机中应用视频串流技术播放Steam VR平台上的视频和游戏。但是,如果不加限制地将相关数据送入Steam VR平台,即每接收到一个相关数据就直接放入Steam VR平台,由于每个VR一体机的频率不同、传输延迟不同,最终可能导致画面延迟以及画面抖动等诸多问题。
发明内容
针对现有技术的不足,本发明所要解决的首要技术问题在于提供一种视频串流的系统。
本发明所要解决的另一技术问题在于提供一种视频串流的方法。
为实现上述发明目的,本发明采用下述的技术方案:
根据本发明实施例的第一方面,提供一种视频串流的系统,包括终端、VR设备、定位追踪装置;
其中,所述终端上安装有应用平台软件和串流软件的服务端;
所述定位追踪装置用于采集用户的定位数据;
所述VR设备用于将所述定位追踪装置采集的定位数据发送给所述串流软件的服务端;
所述串流软件的服务端用于根据所述VR设备发送的定位数据获得预测定位数据;
所述应用平台软件用于根据预测定位数据进行画面渲染。
其中较优地,所述VR设备上安装有串流软件的客户端,所述VR设备通过所述串流软件的客户端将定位追踪装置采集的定位数据发送给所述串流软件的服务端;
所述串流软件的服务端获取渲染好的画面,发送给串流软件的客户端,所述串流软件的客户端将画面发送给所述VR设备进行显示。
其中较优地,所述串流软件的服务端包括server驱动,定位预测单元位于所述server驱动中,用于根据所述VR设备发送的定位数据获得预测定位数据。
其中较优地,所述定位预测单元根据所述VR设备发送的定位数据获得预测定位数据,包括:
获取第一时间戳和第二时间戳,其中第一时间戳是串流软件的服务端收到第i定位数据的时刻,所述第二时间戳是串流软件的服务端收到第i+1定位数据的时刻;
获取所述串流软件的服务端收到所述定位数据的数据延迟;
获取第三时间戳,其中第三时间戳是所述应用平台软件从所述串流软件的服务端进行采样的时间;
根据所述第一时间戳和第一时间戳的定位数据、所述第二时间戳和第二时间戳的定位数据、数据延时,获得所述第三时间戳的预测定位数据。
根据本发明实施例的第二方面,提供一种视频串流的方法,包括如下步骤:
获取定位追踪装置采集的定位数据;
根据获取的定位数据获得预测定位数据;
将预测定位数据发送给应用平台软件进行画面渲染;
获取渲染好的画面,发送给VR设备进行显示。
其中较优地,获取定位追踪装置采集的定位数据是将定位追踪装置采集的定位数据发送到终端的串流软件的服务端,包括如下步骤:
通过定位追踪装置采集用户的定位数据;
将定位追踪装置采集的定位数据发送到VR设备上;
将VR设备获取的定位数据通过UDP发送到串流软件的服务端。
其中较优地,所述根据获取的定位数据获得预测定位数据包括如下步骤:
获取第一时间戳和第二时间戳,其中第一时间戳是串流软件的服务端收到第i定位数据的时刻,所述第二时间戳是串流软件的服务端收到第i+1定位数据的时刻;
获取所述串流软件的服务端收到所述定位数据的数据延迟;
获取第三时间戳,其中第三时间戳是应用平台软件从所述串流软件的服务端进行采样的时间;
根据所述第一时间戳和第一时间戳的定位数据、所述第二时间戳和第二时间戳的定位态数据、数据延时,获得所述第三时间戳的预测定位数据。
其中较优地,所述数据延迟,采用如下公式得到:
M=T0+(t2–t1)+ΔT;
其中,M为数据延迟;t1为传感器获取到定位数据的时刻;t2为将定位数据发送到串流软件的服务端的时刻;ΔT为网络延迟。
其中较优地,所述根据第一时间戳和第一时间戳的定位数据、第二时间戳和第二时间戳的定位数据、数据延时,获得第三时间戳的预测定位数据,采用如下公式:
其中,Vj′是Tj′时刻的预测定位数据;Ti是第一时间戳;Vi是第一时间戳的定位数据;Ti+1是第二时间戳;Vi+1是第二时间戳的定位数据;Tj′是第三时间戳;M是数据延迟。
其中较优地,所述将预测定位数据发送给应用平台软件进行画面渲染,包括如下步骤:
将预测定位数据发送给数据接口,经数据接口传送给所述应用平台软件中的VR应用;
根据所述VR应用得到的预定位态数据以及应用逻辑,确定应用引擎渲染的画面内容,进行画面的渲染。
根据本发明实施例的第三方面,提供一种实现视频串流的装置,包括处理器及存储器,所述处理器用于执行存储器中存储的视频串流的程序,以实现如上所述的视频串流的方法。
本发明所提供的视频串流的方法,通过计算串流软件的服务端接收到定位数据的数据延迟,根据定位追踪装置采集的定位数据,预测应用平台软件进行画面渲染时的定位数据,根据预测定位数据进行画面渲染,将渲染好的画面发送给VR设备进行画面显示。串流软件的服务端安装在PC终端,该方法使得负责运行VR应用的是PC机,VR设备要负责的仅仅是画面显示而已;因此即可通过PC的硬件进行画面处理,VR设备屏幕上就可以得到让人满意的画面,而且通过准确的预测定位数据,可以减少数据抖动和延迟,是画面质量更高。
附图说明
图1为本发明所提供的视频串流的系统的结构示意图;
图2为本发明所提供的视频串流的方法的流程图;
图3为本发明所提供的定位预测单元预测定位数据的流程图;
图4为本发明所提供的一个实施例中,VR应用的画面串流到VR设备中数据延迟的展示图。
具体实施方式
下面结合附图和具体实施例对本发明的技术内容进行详细具体的说明。
如图1所示,本发明所提供的视频串流的系统,包括终端、VR设备、定位追踪装置。
其中,终端上安装有应用平台软件和串流软件的服务端;在本发明所提供的实施例中,终端以PC(personal computer)为例进行说明,也可以为平板电脑、智能电视、智能手机等类似具有数据处理能力的终端。其中,示例性地,PC机上安装的应用平台软件为SteamVR平台软件(在智能手机上为相应的APP)。当然也可以是其他游戏平台例如VIVEPORT平台、HYPEREAL平台、蚁视VR游戏平台、大朋助手、腾讯WEGAME、OGP游戏平台等。SteamVR应用平台软件中的VR应用使用了应用引擎UE4(Unreal Engine 4)、U3D(Universal 3D)等,已经集成OpenVR提供的SDK,这样就可以在PC的显示器上看到应用的画面。终端上安装的串流软件的服务器端例如可以设置为NOLOHOME软件的A端。
串流软件的服务端包括两部分,一部分是控制界面,一部分是server驱动。其中,该server驱动优选为一个dll文件,但也可以是其它实现形式,例如SDK、API文件等等。应用平台软件,例如Steam VR平台软件在PC机上启动时,会相应加载上述的server驱动。
VR设备上安装有串流软件的客户端,例如可以设置为NOLOHOME软件的B端。VR设备可以为一体式VR设备,则串流软件的客户端安装在一体式VR设备的系统中,画面也是在一体式VR设备的显示屏上显示,传感器固装在一体式VR设备。VR设备可以为移动式VR设备,则串流软件的客户端安装在移动式VR设备的智能手机中,画面可以在移动式VR设备的智能手机上显示,也可以在移动式VR设备的显示屏上显示,传感器可以固装在移动式VR设备的外壳中也可以借用安装在移动式VR设备中智能手机的传感器。
上述PC机和VR设备之间采用有线/无线方式进行连接,其中在采取无线方式时,优选在WLAN(无线局域网)或者5G通信环境下运行。由于5G通信具有高速率、低延迟等特点,在5G通信环境下PC与VR设备所产生的实际延迟基本可以忽略不计。
优选地,现有的VR设备多数只能观看视频,即只有三自由度的姿态追踪(俯仰、横滚和偏航),如果需要进行六自由度的头手位置定位(包括俯仰、横滚和偏航和空间X、Y、Z坐标),则需要配备定位追踪装置。定位追踪装置可以包括手柄和一个安装在VR设备上的定位器,手柄把持在用户的手上,手柄可将定位数据传给定位器,定位器再将定位器的定位数据和手柄的定位数据传给VR设备,或者,手柄和定位器都将定位数据直接传给VR设备。定位器可以以内置或者外设的方式安装在VR设备上。当以内置的方式放置在VR设备上时,可以是在VR设备制造过程中就集成组装进定位器;当以外设的方式放置在VR设备上时,可以是通过无线或者有线方式外接在VR设备上。定位追踪装置与VR设备通过USB接口连接,用于采集用户头部和/或手部的定位数据。VR设备获取了定位追踪装置采集的定位数据,再将定位数据通过UDP发送给终端上的串流软件的服务端。终端上的串流软件的服务端将定位数据发送给应用平台软件,从而让应用平台软件渲染出实时画面。
为了有很好的使用体验,如果不加限制的把数据送入应用平台软件中,即每当一个数据被接收到就直接放入应用平台软件中,由于每个设备的频率不同(例如VR设备进行数据传输的频率为X,而应用平台软件采集数据的频率为Y,X不等于Y),延迟不同,最终导致画面延迟,以及画面抖动等问题。为了解决这个问题,必须对数据进行合理预估,从而使渲染出来的画面更加稳定平滑流畅。所以,本发明所提供的视频串流的系统,终端上安装有定位预测单元,定位预测单元以软件的形式设置在串流软件服务端的server驱动中。定位预测单元用于根据定位追踪装置采集的定位数据对应用平台软件进行画面渲染所需的定位数据进行预测,应用平台软件根据预测数据渲染出实时画面。通过定位预测单元获取预测定位数据,能较为准确的预测应用平台软件下一时刻的定位数据,从而减少数据抖动和延迟。终端再通过串流软件的服务端将渲染后的画面,经UDP方式通过串流软件的客户端传送给VR设备进行显示。这一处理过程在后续进行详细说明。
UDP(User Datagram Protocol)是开放式系统互联参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
在本发明所提供的实施例中,应用平台软件中的VR应用使用了应用引擎(UE4,U3D等),已经集成数据接口提供的SDK,例如OpenVR的SDK,这样就可以在PC的显示器上看到应用的画面了。
为了能够让VR应用的画面串流到VR设备中,按照图1所示的架构来实现该需求,在图1所示的串流架构中,需要实现的几个核心模块分别是:安装在终端的串流软件服务端的server驱动,VR设备,安装在VR设备上的串流软件的客户端,定位预测单元,定位追踪装置。其中,定位追踪装置用于采集的头部和/或手部的定位数据;VR设备用于获取采集的定位数据,并将数据传输给server驱动;串流软件的客户端和server驱动用于进行数据传输和处理。定位预测单元用于根据VR设备发送的定位数据,对应用平台软件进行画面渲染所需的定位数据进行预测。定位预测单元位于串流软件服务端的server驱动中。
图2所示是本发明提供的视频串流的方法的流程图,下面以实施例的方式具体地描述视频串流的整个过程。
S1,获取定位追踪装置采集的定位数据。
其中,获取定位追踪装置采集的定位数据,具体包括如下步骤:
S11,通过定位追踪装置采集用户的定位数据。
定位追踪装置可以包括安装在VR设备上的定位器、把持在用户手上的手柄等,通过获得定位器和/或手柄的定位数据,即可获得用户头部和/或手部的定位数据。定位器可以以内置或者外设的方式安装在VR设备上。当以内置的方式放置在VR设备上时,可以是在VR设备制造过程中就集成组装进定位器;当以外设的方式放置在VR设备上时,可以是通过无线或者有线方式外接在VR设备上。用户的定位数据可以通过专利申请号为201610917518.0的一种三维空间定位方法及系统获得,也可以使用其他现有已知的三维空间定位方法及系统获得,例如多相机多标记点的定位方法,SLAM的方法等。
S12,将定位追踪装置采集的定位数据发送到VR设备上。
VR设备可以通过OTG数据线等有线的方式读取定位数据,也可以通过蓝牙、wifi等无线方式读取定位数据。对于一体式VR设备,则数据直接发送到一体式VR设备的系统中;对于移动式VR设备,则数据可以发送到安装在移动式VR设备外壳中的智能手机上。
S13,将VR设备获取的定位数据通过UDP发送到串流软件的服务端。VR设备将获取的定位数据传输给安装在VR设备上的串流软件的客户端,再经UDP通过5G无线方式发送到安装在终端上的串流软件服务端的server驱动。经此步骤,串流软件的服务端获取到定位数据。
优选地,串流软件的服务端还可以获取控制信息,控制信息也可以通过串流软件的客户端,经UDP发送到串流软件服务端的server驱动。控制信息可以是来自于VR设备,也可以是来自于定位追踪装置。
S2,根据获取的定位数据获得预测定位数据。
为了有很好的使用体验,必须对VR设备发送的定位数据进行合理预估,从而使渲染出来的画面更加稳定平滑流畅。所以,本发明所提供的视频串流的系统,server驱动包括有定位预测单元,定位预测单元可以以软件的形式设置在串流软件服务端的server驱动中。定位预测单元根据获取的定位数据获得预测定位数据,具体包括如下步骤:
S21,获取第一时间戳和第二时间戳,其中第一时间戳是串流软件的服务端收到第i定位数据的时刻,所述第二时间戳是串流软件的服务端收到第i+1定位数据的时刻;
在本发明所提供的实施例中,定位预测单元获得第一时间戳Ti(i=1,2……N,N为正整数,N>=1),第一时间戳Ti是对收到的VR设备发送的第i个定位数据和收到该定位数据的时间进行签名得到的时间戳。定位预测单元获得第二时间戳Ti+1(i=1,2……N,N为正整数,N>=1),第二时间戳Ti+1是对收到的VR设备发送的第i+1个定位数据和收到该定位数据的时间进行签名得到的时间戳。
S22,获取串流软件的服务端收到定位数据的数据延迟M。
在实现不同设备间视频串流时,应用平台软件渲染时采集数据的频率是X赫兹;VR设备发送姿态数据的频率是Y赫兹。数据延迟M是动作产生到server驱动接收到姿态数据的总延迟。。
数据延迟M可通过下式得到:
M=T0+(t2–t1)+ΔT
其中,T0为动作产生到传感器获取该动作的延迟;t1为传感器获取到定位数据的时刻;t2为将定位数据发送到串流软件的服务端的时刻;ΔT为网络延迟。
如图4,是动作产生到server驱动得到数据过程中包含的所有数据延迟。
在本发明所提供的实施例中,在整个视频串流过程中,由于网络延迟造成的数据延迟ΔT固定,仅计算一次即可。获取由于网络延迟造成的数据延迟的过程,具体包括如下步骤:
S221,在第一发送时刻t3,串流软件的服务端的server驱动通过VR设备或者定位追踪装置发送请求数据。
S222,在第一接收时刻t4,串流软件的服务端的server驱动接收到VR设备或者定位追踪装置发送的回复消息。
S234,根据第一接收时刻和第一发送时刻,得到网络延迟。网络延迟采用如下公式:
通过server驱动和VR设备或定位追踪装置之间的请求及响应的时间即可得到网络延迟ΔT。
通过以上我们可以确定动作到server驱动的总延迟,即数据延迟M为:
M=20+(t2–t1)+(t4-t3)/2。
S23,获取第三时间戳,其中第三时间戳是应用平台软件从串流软件的服务端进行采样的时间。
VR设备进行数据传输的频率为X,而应用平台软件采集数据的频率为Y,X不等于Y。定位预测单元在获取VR设备发送给串流软件服务端的第i定位数据和第i+1定位数据和对应的第一时间戳Ti和第二时间戳Ti+1后,紧接着获取第三时间戳Vj′,第三时间戳Vj′为应用平台软件从串流软件的服务端进行采样的时刻。
S24,根据第一时间戳和第一时间戳的定位数据、第二时间戳和第二时间戳的定位数据、数据延时,获得第三时间戳的预测定位数据。
根据第一时间戳和第一时间戳获取的定位数据、第二时间戳和第二时间戳获取的定位数据、数据延时,获得第三时间戳的预测错误数据,采用如下公式:
其中,Vj′是Tj′时刻的预测定位数据;Ti是第一时间戳;Vi是第一时间戳的定位数据;Ti+1是第二时间戳;Vi+1是第二时间戳的定位数据;Tj′是第三时间戳;M是数据延迟。
通过以上方式,可以较为准确的预测Tj′时刻的姿态数据,从而减少数据抖动和延迟。
S3,将预测定位数据发送给应用平台软件进行画面渲染。
将预测得到的Tj′时刻的定位数据传给应用平台软件进行画面的渲染,再将渲染后的画面传送给VR设备进行显示。
其中,应用平台软件根据预测定位数据进行画面渲染,将渲染好的画面发送给VR设备进行画面显示,具体包括如下步骤:
S31,将预测定位数据发送给数据接口,经数据接口传送给应用平台软件中的VR应用。
将串流软件服务端的server驱动中定位预测单元获取的预测定位数据传给数据接口,应用平台软件SteamVR中的VR应用使用了应用引擎,已经集成数据接口OpenVR提供的SDK,数据接口OpenVR将姿态数据传给VR应用。
S32,根据VR应用得到的预测定位数据以及应用逻辑,确定应用引擎渲染的画面内容,进行画面的渲染。
根据VR应用得到的定位数据以及应用逻辑,传输给应用引擎用以得到确切的渲染画面内容,并进行画面的渲染。应用引擎为Unreal Engine 4,Universal 3D等。
优选地,串流软件服务端的server驱动获取的控制信息也发送给VR应用,进行画面渲染。将串流软件的服务端获取的控制信息发送给数据接口OpenVR,经数据接口OpenVR传送给VR应用。VR应用还根据得到的控制信息,传输给应用引擎用以得到确切的渲染画面内容,并进行画面的渲染。
在本发明所提供的实施例中,应用引擎渲染好的数据存放于显卡的显存中,例如Nvidia显卡的显存中,并且通知VR应用,画面已经渲染好了,VR应用通知数据接口OpenVR,数据接口OpenVR通知串流软件服务端的server驱动渲染完成的事件。
S4,获取渲染好的画面,发送给VR设备进行显示。
获取渲染好的画面,发送给VR设备进行显示,具体包括如下步骤:
S41,获取渲染好的画面对应的纹理数据,将一帧画面编码成多个数据包。
当串流软件server驱动得知画面渲染好的事件后,通过数据接口OpenVR传来的纹理地址,在显存中找到对应的纹理数据,即为一帧画面的数据,将一帧画面编码成多个数据包。
在本发明所提供的实施例中,采用英伟达提供的视频编解码的专用库,NvCodec库。
在进行初始化的时候,预先告知NvCodec库编码格式、画面格式。在本发明所提供的实施例中,使用H264对数据进行编码。关于画面格式,使用NV_ENC_BUFFER_FORMAT_ABGR格式的图像,在当前帧中,NvCodec库会按要求,将一帧画面编码成多个小的数据包。
S42,将编码的多个数据包发送给VR设备进行解码并显示。
完成编码后,串流软件服务端的server驱动将编码的多个数据包发送给VR设备上安装的串流软件的客户端,串流软件客户端再传输给VR设备,VR设备在接收到一个完整的帧画面数据后,对接收的数据包进行解码,在VR设备上形成一幅完整的图像并显示。
VR设备进行画面显示的方法和相关硬件可使用现有的可实现的任何一种方法和硬件,在此不做具体要求。
在本发明的实施例中,安装在终端上的串流软件的服务端还可以获取VR设备的发送的控制信息,该控制信息可以来自于VR设备,也可以来自于定位追踪装置;串流软件的服务端再将预测定位信息发送给应用平台软件进行画面渲染的同时,也将控制信息发送给应用平台软件进行画面渲染。
综上所述,本发明所提供的视频串流的方法,通过计算串流软件的服务端收到定位数据的数据延时,根据定位追踪装置采集的定位数据,预测应用平台软件进行画面渲染时的定位数据,根据预测数据进行画面渲染,将渲染好的画面发送给VR设备进行画面显示,该方法可以较为准确的预测定位数据,从而减少数据抖动和延迟。
本发明实施例还提供了一种实现视频串流的装置,该装置包括处理器和存储器,所述处理器用于执行存储器中存储的实现视频串流的程序,以实现如上所述的实现视频串流的方法。这里的存储器存储有一个或者多个程序。其中,存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。当存储器中所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的用于实现上述方法实施例中视频串流的方法的部分步骤或者全部步骤。
上面对本发明所提供的视频串流的系统及方法进行了详细的说明。对本领域的一般技术人员而言,在不背离本发明实质精神的前提下对它所做的任何显而易见的改动,都将构成对本发明专利权的侵犯,将承担相应的法律责任。
Claims (11)
1.一种视频串流的系统,其特征在于包括终端、VR设备、定位追踪装置;
其中,所述终端上安装有应用平台软件和串流软件的服务端;
所述定位追踪装置用于采集用户的定位数据;
所述VR设备用于将所述定位追踪装置采集的定位数据发送给所述串流软件的服务端;
所述串流软件的服务端用于根据所述VR设备发送的定位数据获得预测定位数据;
所述应用平台软件用于根据预测定位数据进行画面渲染。
2.如权利要求1所述的视频串流的系统,其特征在于:
所述VR设备上安装有串流软件的客户端,所述VR设备通过所述串流软件的客户端将定位追踪装置采集的定位数据发送给所述串流软件的服务端;
所述串流软件的服务端获取渲染好的画面,发送给串流软件的客户端,所述串流软件的客户端将画面发送给所述VR设备进行显示。
3.如权利要求2所述的视频串流的系统,其特征在于:
所述串流软件的服务端包括server驱动,定位预测单元位于所述server驱动中,用于根据所述VR设备发送的定位数据获得预测定位数据。
4.如权利要求3所述的视频串流的系统,其特征在于所述定位预测单元根据所述VR设备发送的定位数据获得预测定位数据,包括:
获取第一时间戳和第二时间戳,其中第一时间戳是串流软件的服务端收到第i定位数据的时刻,所述第二时间戳是串流软件的服务端收到第i+1定位数据的时刻;
获取所述串流软件的服务端收到所述定位数据的数据延迟;
获取第三时间戳,其中第三时间戳是所述应用平台软件从所述串流软件的服务端进行采样的时间;
根据所述第一时间戳和第一时间戳的定位数据、所述第二时间戳和第二时间戳的定位数据、数据延时,获得所述第三时间戳的预测定位数据。
5.一种视频串流的方法,其特征在于包括如下步骤:
获取定位追踪装置采集的定位数据;
根据获取的定位数据获得预测定位数据;
将预测定位数据发送给应用平台软件进行画面渲染;
获取渲染好的画面,发送给VR设备进行显示。
6.如权利要求5所述的视频串流的方法,其特征在于所述获取定位追踪装置采集的定位数据是将定位追踪装置采集的定位数据发送到终端的串流软件的服务端,包括如下步骤:
通过定位追踪装置采集用户的定位数据;
将定位追踪装置采集的定位数据发送到VR设备上;
将VR设备获取的定位数据通过UDP发送到串流软件的服务端。
7.如权利要求5所述的视频串流的方法,其特征在于所述根据获取的定位数据获得预测定位数据,包括如下步骤:
获取第一时间戳和第二时间戳,其中第一时间戳是串流软件的服务端收到第i定位数据的时刻,所述第二时间戳是串流软件的服务端收到第i+1定位数据的时刻;
获取所述串流软件的服务端收到所述定位数据的数据延迟;
获取第三时间戳,其中第三时间戳是应用平台软件从所述串流软件的服务端进行采样的时间;
根据所述第一时间戳和第一时间戳的定位数据、所述第二时间戳和第二时间戳的定位态数据、数据延时,获得所述第三时间戳的预测定位数据。
8.如权利要求7所述的视频串流的方法,其特征在于所述数据延迟,采用如下公式得到:
M=T0+(t2–t1)+ΔT;
其中,M为数据延迟;t1为传感器获取到定位数据的时刻;t2为将定位数据发送到串流软件的服务端的时刻;ΔT为网络延迟。
10.如权利要求5所述的视频串流的方法,其特征在于所述将预测定位数据发送给应用平台软件进行画面渲染,包括如下步骤:
将预测定位数据发送给数据接口,经数据接口传送给所述应用平台软件中的VR应用;
根据所述VR应用得到的预定位态数据以及应用逻辑,确定应用引擎渲染的画面内容,进行画面的渲染。
11.一种实现视频串流的装置,包括处理器及存储器,所述处理器用于执行存储器中存储的视频串流的程序,以实现如权利要求5-10任一项所述的视频串流的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811203106.6A CN111065053B (zh) | 2018-10-16 | 2018-10-16 | 一种视频串流的系统及方法 |
PCT/CN2019/111315 WO2020078354A1 (zh) | 2018-10-16 | 2019-10-15 | 视频串流系统、视频串流方法及装置 |
US17/286,387 US11500455B2 (en) | 2018-10-16 | 2019-10-15 | Video streaming system, video streaming method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811203106.6A CN111065053B (zh) | 2018-10-16 | 2018-10-16 | 一种视频串流的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111065053A true CN111065053A (zh) | 2020-04-24 |
CN111065053B CN111065053B (zh) | 2021-08-17 |
Family
ID=70296586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811203106.6A Active CN111065053B (zh) | 2018-10-16 | 2018-10-16 | 一种视频串流的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111065053B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120293618A1 (en) * | 2011-05-19 | 2012-11-22 | Sony Corporation | Image data transmission apparatus, image data transmission method and image data reception apparatus |
US20130127865A1 (en) * | 1999-05-25 | 2013-05-23 | Google Inc. | Methods for Generating Visual Data From Nodes Containing Identify Data for Individuals From a Set View Point |
CN105452935A (zh) * | 2013-05-30 | 2016-03-30 | 欧库勒斯虚拟现实有限责任公司 | 用于头戴式显示器的基于预测跟踪的感知 |
CN106998409A (zh) * | 2017-03-21 | 2017-08-01 | 华为技术有限公司 | 一种图像处理方法、头戴显示器以及渲染设备 |
CN206541288U (zh) * | 2017-01-07 | 2017-10-03 | 北京国承万通信息科技有限公司 | 一种虚拟现实系统、主机及头戴式显示设备 |
CN107315470A (zh) * | 2017-05-25 | 2017-11-03 | 腾讯科技(深圳)有限公司 | 图形处理方法、处理器和虚拟现实系统 |
CN107943287A (zh) * | 2017-11-16 | 2018-04-20 | 烽火通信科技股份有限公司 | 一种基于Android机顶盒系统解决VR画面抖动的系统及方法 |
-
2018
- 2018-10-16 CN CN201811203106.6A patent/CN111065053B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130127865A1 (en) * | 1999-05-25 | 2013-05-23 | Google Inc. | Methods for Generating Visual Data From Nodes Containing Identify Data for Individuals From a Set View Point |
US20120293618A1 (en) * | 2011-05-19 | 2012-11-22 | Sony Corporation | Image data transmission apparatus, image data transmission method and image data reception apparatus |
CN105452935A (zh) * | 2013-05-30 | 2016-03-30 | 欧库勒斯虚拟现实有限责任公司 | 用于头戴式显示器的基于预测跟踪的感知 |
CN206541288U (zh) * | 2017-01-07 | 2017-10-03 | 北京国承万通信息科技有限公司 | 一种虚拟现实系统、主机及头戴式显示设备 |
CN106998409A (zh) * | 2017-03-21 | 2017-08-01 | 华为技术有限公司 | 一种图像处理方法、头戴显示器以及渲染设备 |
CN107315470A (zh) * | 2017-05-25 | 2017-11-03 | 腾讯科技(深圳)有限公司 | 图形处理方法、处理器和虚拟现实系统 |
CN107943287A (zh) * | 2017-11-16 | 2018-04-20 | 烽火通信科技股份有限公司 | 一种基于Android机顶盒系统解决VR画面抖动的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111065053B (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10229651B2 (en) | Variable refresh rate video capture and playback | |
US10469820B2 (en) | Streaming volumetric video for six degrees of freedom virtual reality | |
US20210001216A1 (en) | Method and device for generating video frames | |
EP3180911B1 (en) | Immersive video | |
CN102591418B (zh) | 具有qos保证的可缩放多媒体计算机系统体系结构 | |
EP3606082A1 (en) | Panoramic video playback method and client terminal | |
WO2018059034A1 (zh) | 一种全景视频播放方法及装置 | |
GB2557416A (en) | Prioritizing tile-based virtual reality video streaming using adaptive rate allocation | |
CN107534775A (zh) | 用于应用流的预取的编码 | |
JP6379107B2 (ja) | 情報処理装置並びにその制御方法、及びプログラム | |
US20240098344A1 (en) | Video modification and transmission using tokens | |
Zerman et al. | User behaviour analysis of volumetric video in augmented reality | |
CN111064981B (zh) | 一种视频串流的系统及方法 | |
US11450053B1 (en) | Efficient 5G transmission of volumetric data using 3D character rigging techniques | |
CN111065053B (zh) | 一种视频串流的系统及方法 | |
WO2020078354A1 (zh) | 视频串流系统、视频串流方法及装置 | |
KR20200144702A (ko) | 증강 현실 미디어 콘텐츠의 적응적 스트리밍 시스템 및 적응적 스트리밍 방법 | |
CN114143568B (zh) | 一种用于确定增强现实直播图像的方法与设备 | |
CN111064985A (zh) | 一种实现视频串流的系统、方法及装置 | |
JP6533022B1 (ja) | 端末、サーバおよびプログラム | |
WO2018178748A1 (en) | Terminal-to-mobile-device system, where a terminal is controlled through a mobile device, and terminal remote control method | |
US20230122666A1 (en) | Cloud xr-based program virtualizing method | |
van Gemert | Dynamic Viewport-Adaptive Rendering in Distributed Interactive VR Streaming: Optimizing viewport resolution under latency and viewport orientation constraints | |
CN117596377A (zh) | 画面推流方法、装置、电子设备、存储介质及程序产品 | |
KR20230048900A (ko) | 가상 현실 서비스 제공 방법 및 시스템 |
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 |