CN115883811A - 一种姿态矫正方法、装置和存储介质 - Google Patents
一种姿态矫正方法、装置和存储介质 Download PDFInfo
- Publication number
- CN115883811A CN115883811A CN202111142260.9A CN202111142260A CN115883811A CN 115883811 A CN115883811 A CN 115883811A CN 202111142260 A CN202111142260 A CN 202111142260A CN 115883811 A CN115883811 A CN 115883811A
- Authority
- CN
- China
- Prior art keywords
- video data
- rendering
- hmd
- resolution
- hmd device
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种姿态矫正方法、装置和存储介质,所述方法包括:获取HMD设备的姿态信息和待处理视频数据;对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
Description
技术领域
本发明涉及虚拟现实领域,尤其涉及一种姿态矫正方法、装置和存储介质。
背景技术
在扩展现实(XR,eXtended reality)业务中,包括虚拟现实(VR,VirtualReality)和增强现实(AR,Augmented Reality),用户可以使用头戴式设备(HMD)进行多人XR游戏或XR视频直播。游戏或直播过程中根据头部和视角的转动需要更新头戴式设备中的显示画面,若头部运动过快,会造成场景渲染及其显示的延迟,即视角已经转过去了但是图像还没有渲染出来,或者渲染显示的是上一帧的图像,从而造成显示视角延迟或者画面抖动,用户体验感受较差。
发明内容
有鉴于此,本发明的主要目的在于提供一种姿态矫正方法、装置和存储介质。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种姿态矫正方法,应用于边缘服务器,所述方法包括:
获取头戴式显示(HMD)设备的姿态信息和待处理视频数据;
对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;
根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;
将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
上述方案中,所述对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据,包括:
确定所述HMD设备对应的渲染需求;
根据HMD设备对应的渲染需求对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和满足所述HMD设备的渲染需求的第二视频数据。
上述方案中,所述方法还包括:
获取所述HMD设备的编解码能力和分辨率需求;
根据所述编解码能力和分辨率需求,确定渲染需求。
上述方案中,所述根据所述姿态信息和所述第二视频数据,生成第三视频数据,包括:
对所述第二视频数据进行分片处理,得到至少一个分片视频数据;
根据所述姿态信息和所述至少一个分片视频数据,确定视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成所述第三视频数据。
上述方案中,所述将所述第一视频数据和所述第三视频数据发送给所述HMD设备,包括:
将所述第一视频数据和所述第三视频数据发送给分发设备;由所述分发设备将所述第一视频数据和所述第三视频数据发送给对应的HMD设备。
上述方案中,所述边缘服务器连接多个HMD设备;每个所述HMD设备对应相同或不同的渲染需求;所述第二视频数据的数量可以为一个或多个;
所述对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据,包括:
对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和至少两个第二视频数据;所述至少两个第二视频数据中每个所述第二视频数据对应不同的分辨率;
相应的,所述根据所述姿态信息和所述第二视频数据,生成第三视频数据,包括:
对每个所述第二视频数据进行分片处理,得到每个所述第二视频数据对应的至少一个分片视频数据;
根据每个所述HMD设备的姿态信息,及满足每个所述HMD设备的渲染需求的所述第二视频数据对应的至少一个分片视频数据,确定每个所述HMD设备对应的视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成每个所述HMD设备的第三视频数据。
本发明实施例提供了一种姿态矫正装置,应用于边缘服务器,所述装置包括:
获取模块,用于获取HMD设备的姿态信息和待处理视频数据;
第一处理模块,用于对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;
第二处理模块,用于根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;
发送模型,用于将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
上述方案中,所述第一处理模块,用于确定所述HMD设备对应的渲染需求;
根据HMD设备对应的渲染需求对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和满足所述HMD设备的渲染需求的第二视频数据。
上述方案中,所述获取模块,还用于获取所述HMD设备的编解码能力和分辨率需求;
所述第一处理模块,还用于根据所述编解码能力和分辨率需求,确定渲染需求。
上述方案中,所述第二处理模块,用于对所述第二视频数据进行分片处理,得到至少一个分片视频数据;
根据所述姿态信息和所述至少一个分片视频数据,确定视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成所述第三视频数据。
上述方案中,所述发送模块,用于将所述第一视频数据和所述第三视频数据发送给分发设备;由所述分发设备将所述第一视频数据和所述第三视频数据发送给对应的HMD设备。
上述方案中,所述边缘服务器连接多个HMD设备;每个所述HMD设备对应相同或不同的渲染需求;所述第二视频数据的数量可以为一个或多个;
所述第一处理模块,用于对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和至少两个第二视频数据;所述至少两个第二视频数据中每个所述第二视频数据对应不同的分辨率;
相应的,所述第二处理模块,用于对每个所述第二视频数据进行分片处理,得到每个所述第二视频数据对应的至少一个分片视频数据;
根据每个所述HMD设备的姿态信息,及满足每个所述HMD设备的渲染需求的所述第二视频数据对应的至少一个分片视频数据,确定每个所述HMD设备对应的视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成每个所述HMD设备的第三视频数据。
本发明实施例提供了一种姿态矫正装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现由上述服务器侧执行的任一项所述方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现由上述服务器侧执行的任一项所述方法的步骤。
本发明实施例所提供的一种姿态矫正方法、装置和存储介质,所述方法包括:获取HMD设备的姿态信息和待处理视频数据;对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲;如此,运用边缘处理器实现对待处理视频数据的渲染和相关处理,提高处理效率;并且,将低分辨率的第一视频数据作为背景流,将高分辨率的第三视频数据进行前景流,解决拆分姿态矫正中传输渲染视频数据占用带宽较大的问题,改善网络带宽的合理利用。
附图说明
图1为一种姿态矫正装置的结构示意图;
图2为本发明实施例提供的一种姿态矫正方法的流程示意图;
图3为本发明应用实施例提供的一种分片处理的示意图;
图4为本发明应用实施例提供的一种基于边缘计算的头戴式设备姿态矫正方法的流程示意图;
图5为本发明应用实施例提供的一种基于边缘计算的头戴式设备姿态矫正系统的示意图;
图6为本发明实施例提供的一种姿态矫正装置的结构示意图;
图7为本发明实施例提供的另一种姿态矫正装置的结构示意图。
具体实施方式
在结合实施例对本发明再作进一步详细的说明,先对相关技术进行说明。
如上所述,头部运动过快会造成场景渲染及其显示的延迟的问题。相关技术中提供一种时间扭曲(TW,Timewarp)技术,这是一种图像帧修正的技术,用来解决上述延迟问题。时间扭曲技术是在渲染好的一帧图像显示之前,根据场景被渲染之后头部又旋转角度加以矫正,得出相对当前头部位置更正确的一帧图像的技术,从而减少感知延迟。由于基础的时间扭曲技术是基于方向的扭曲,只纠正了头部的转动变化姿态,用较少的计算,不需要花费太多系统资源。
然而,如果渲染图像花的时间太长,那么就会发生丢帧的现象,这时就会产生显示画面颤动,因为当没有新的图像渲染出来时,视频适配器就会把一次的图像显示在显示屏上。如果这时画面相对于眼睛是移动的,那么就会感觉的画面显示在了错误的位置。相关技术进一步提供一种异步时间扭曲(ATW,Asynchronous Timewarp)技术用以解决上述的画面颤动问题。这是一种生成中间帧的技术,具体是在两个线程中完成TW的工作,一个线程负责渲染场景(Rendering Thread),另一个线程负责时间扭曲(ATW Thread)。在每一个垂直同步信号(VSYNC)之前,ATW线程根据渲染线程生成的最新一帧图像,进行时间扭曲生成新的一帧图像,然后显示出来。当不能保持足够帧率的时候,ATW能产生中间帧,从而有效减少画面的抖动。ATW技术让XR头戴式设备保持较低帧率运行看到了希望,在虚拟现实穿戴设备中应用ATW,人为地填充中间帧,即使在帧率下降的情况下,也不会使渲染质量有显著的下降。
为了进一步改善扩展现实内容显示的头动MTP(Motion-To-Photons)时延,加速扩展现实内容显示,可以利用改进的拆分渲染系统完成异步时间扭曲算法,渲染服务器和客户端头戴式设备(HMD)可以在无线介质上通信,允许服务器仅当需要渲染时才使用来自HMD的姿态信息,然后执行渲染线程,将渲染后的画面传输至HMD,HMD只需在渲染好的画面上利用设备最新采集的姿态信息执行时间扭曲线程,产生新的更加接近真实画面的图像帧。这种拆分式渲染系统可以有效减少扩展现实设备资源占用并提高了处理效率。
扩展现实内容在头戴式设备显示系统中比较重要的一项质量指标为MTP时延小于20ms,MTP延时指的是在运行VR场景的情况下,从用户的头部移动开始,一直到这一信号通过VR头盔输出的光学信号映射到人眼所需的时间。MTP时延。由于虚实渲染往往需要较长的处理时间,当头部和视角姿态发生变化时,HMD满足MTP指标就会面临较大的挑战。
在现有的技术方案中,利用拆分XR的异步时间扭曲算法,将渲染线程和时间扭曲线程分开,对处理资源要求高的渲染线程部署在服务器侧,计算量少的时间扭曲线程可以在终端设备侧完成,如图1所示,XR服务器中的游戏引擎实现渲染线程,HMD侧图像处理器(GPU,Graphics Processing Unit)实现时间扭曲线程(ATW),XR服务器将渲染后的视频帧发送给端侧HMD进行显示,可改善HMD端侧XR内容显示的延迟问题和画面抖动。但是,由于在该方案中渲染线程和时间扭曲线程在不同的处理端进行拆分,就会涉及HMD和服务器不同数据的交互,尤其是音视频数据的传输,对网络带宽的要求增大;面对多用户的分发需求时,服务器处理多路视频流不同姿态请求压力较大。
基于此,本发明实施例提供的方法,获取HMD设备的姿态信息和待处理视频数据;对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
图2为本发明实施例提供的一种姿态矫正方法的流程示意图;如图2所示,所述方法应用于边缘服务器,如移动边缘计算设备(MEC);所述方法包括:
步骤201、获取HMD设备的姿态信息和待处理视频数据;
步骤202、对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;
步骤203、根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;
步骤204、将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
本发明实施例中,所述边缘服务器可以连接一个或多个HMD设备。可以为每个HMD设备提供姿态矫正方法。即针对每个HMD设备可以运用步骤201-步骤204的方法实现姿态矫正。
所述方法可以应用于XR直播、XR游戏等场景。
所述待处理视频数据可以是待发送给HMD设备的视频数据;所述边缘服务器可以从要求发送视频数据的内容中心中获取。
所述内容中心中存储待发送给HMD设备的视频数据。
在一些实施例中,所述对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据,包括:
确定所述HMD设备对应的渲染需求;
根据HMD设备对应的渲染需求对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和满足所述HMD设备的渲染需求的第二视频数据。
实际应用时,为了得到HMD设备支持的分辨率的视频数据,可以先确定HMD设备的信息。
基于此,在一些实施例中,所述方法还包括:
获取所述HMD设备的编解码能力和分辨率需求;
根据所述编解码能力和分辨率需求,确定渲染需求。
具体来说,边缘服务器和HMD设备预先建立连接关系,即HMD设备注册到边缘服务器,可以在HMD设备注册到边缘服务器时,将HMD设备的配置文件中的信息(包括支持的编解码能力(或采用的编解码器)、可显示的分辨率等)发送到边缘服务器,实现同步管理。
边缘服务器获取HMD设备支持的编解码器(如确定支持H.264、H.265等)、显示分辨率,确定该HMD设备的渲染需求。
同时,所述边缘服务器还可预先确定分发规则,根据所述分发规则可确定将处理好的哪种分辨率的第三视频数据下发给哪个HMD设备。
所述分发规则,可以包括:至少一个HMD设备和每个所述HMD设备的渲染要求、分辨率要求、编解码器能力等。
所述分发规则,可以由边缘服务器与HMD设备在注册时协商确定,具体根据HMD设备的分辨率要求、编解码器能力确定。
关于边缘处理器获取所述HMD设备的编解码能力和分辨率需求的方法,可以由HMD设备将上述信息发送给边缘设备。
实际应用时,将所述第一视频数据和所述第三视频数据发送给所述HMD设备,也可以由与边缘服务器通信的分发设备实现。
基于此,在一些实施例中,所述将所述第一视频数据和所述第三视频数据发送给所述HMD设备,包括:
将所述第一视频数据和所述第三视频数据发送给分发设备;由所述分发设备将所述第一视频数据和所述第三视频数据发送给对应的HMD设备。
关于上述渲染要求、分辨率要求、编解码器能力等,也可以由边缘服务器与分发设备(如CDN)协商确定,此时,分发设备需要预先与HMD设备协商确定分发规则。
分发设备还可以作为中转方,将渲染要求、分辨率要求、编解码器能力等发送给边缘处理器。
在一些实施例中,所述根据所述姿态信息和所述第二视频数据,生成第三视频数据,包括:
对所述第二视频数据进行分片处理,得到至少一个分片视频数据;
根据所述姿态信息和所述至少一个分片视频数据,确定视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成所述第三视频数据。
这里,可以按照预设的分片规则对第二视频数据进行分片,得到多片的视频数据,结合姿态信息确定当前姿态对应的、也即视场角(FoV)的视频区域,将该区域内的视频、也即FoV的视频数据作为前景视频数据,即得到当前姿态对应第三视频数据。
所述分片规则可以包括参数定义、网格划分(如划分个数等)等,从而可以按照划分规则对第二视频数据进行划分,得到多个分片视频数据。
在一些实施例中,所述边缘服务器连接多个HMD设备;每个所述HMD设备对应相同或不同的渲染需求;所述第二视频数据的数量可以为一个或多个;
所述对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据,包括:
对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和至少两个第二视频数据;所述至少两个第二视频数据中每个所述第二视频数据对应不同的分辨率;
相应的,所述根据所述姿态信息和所述第二视频数据,生成第三视频数据,包括:
对每个所述第二视频数据进行分片处理,得到每个所述第二视频数据对应的至少一个分片视频数据;
根据每个所述HMD设备的姿态信息,及满足每个所述HMD设备的渲染需求的所述第二视频数据对应的至少一个分片视频数据,确定每个所述HMD设备对应的视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成每个所述HMD设备的第三视频数据。
具体来说,对所述待处理视频数据进行多分辨率渲染,可以得到多种分辨率的视频数据。
将高分辨率的视频数据作为前景流(即前景视频数据),将低分辨率的视频数据作为背景流(即背景视频数据)。
低分辨率的背景视频数据(即第一视频数据)作为主视频一直传输,而高分辨率的视频数据(即第二视频数据)进行分片和独立编码,生成局部的第三视频数据作为前景流,改善对网络带宽的合理利用。
边缘服务器利用其计算方面的优势,可以服务于多个HMD设备,即针对不同HMD设备的不同渲染需求,可以同时得到其所需的第一视频数据和第三视频数据。
本发明实施例提出一种姿态矫正方法,协同边缘节点和HMD设备,利用边缘节点中的边缘服务器(也称移动边缘计算(MEC))和分发设备(如内容分发网络(CDN,ContentDelivery Network))的媒体处理(如多分辨率渲染)及分发能力;一方面,在HMD设备的注册阶段,与边缘服务器协商确定HMD设备的渲染需求,基于渲染需求确定分片规则、分发规则;另一方面,边缘服务器可以实现多分辨率渲染,即针对同一视频数据渲染生成多分辨率视频数据,基于视场角(FoV)编码器将视频数据按照分片规则划分成特定大小和数量的分片(Tile),为用户的视场角(FoV)范围选择高分辨率的Tile,而FOV之外的视频画面选择低分辨的Tile进行传输(即FOV之外呈现第一视频数据,FOV内呈现第三视频数据),分发设备按照分发规则,将低分辨率的第一视频数据作为主视频一直传输,而高分辨率视频进行Tile划分并独立编码得到第三视频数据,可以改善对网络带宽的合理利用。
本发明实施例中还提供一种分发方法,所述方法应用于分发设备;所述分发方法包括:
接收来自边缘服务器的第一视频数据和第三视频数据;
根据所述第三视频数据的分辨率和预设的分发规则,将所述第一视频数据和所述第三视频数据发送给分辨率要求与所述第三视频数据的分辨率相匹配的HMD设备。
这里,所述分发规则,用于说明将处理好的哪种分辨率的第三视频数据下发给哪个HMD设备。
所述分发规则,可以包括:至少一个HMD设备和每个所述HMD设备的渲染要求、分辨率要求、编解码器能力等。
图3为本发明应用实施例提供的一种分片处理的示意图;如图3所示,边缘服务器可以采用等距矩形投影(ERP,Equirectangle projection)映射作为全景视频源的映射方式,通过视频编码器将整幅图像按照特定的分片(Tile)规则划分为多个Tile并编码高质量码流,即前景流(如上述第三视频数据);同时,为了保证用户转动的瞬间也能看到视频画面且考虑到用户转动时的视线相对比较模糊,边缘服务器额外传输一个低码率的全景视频数据,即背景流(如上述第一视频数据),用来显示用户视角外的画面,HMD设备根据当前网络条件自适应地选择下载和播放当前网络能够承载的最高比。分片规则不同导致用户视域内覆盖的Tile数目也不一样,通常用户视域内覆盖8-18个Tile不等。
本发明实施例中,HMD设备接收渲染后的FoV视频帧(即所述第三视频数据)进行时间扭曲线程的姿态矫正,显示更加接近真实情况的XR视频内容。为解决HMD设备多人XR游戏显示延迟和带宽占用问题,一方面,通过边缘服务器注册多个HMD设备,通过边缘服务器与分发设备指定视频的分辨率,根据各个HMD设备上传的姿态信息,实现各个视频流多分辨率渲染,然后缓存至CDN,由CDN按分发规则得到基于分片视频数据的不同分辨率组合的视频数据(即组合第一视频数据和第三视频数据),以更少带宽进行视频数据分发,节省下行分发带宽60%~80%;最后,通过HMD设备完成时间扭曲线程进行姿态矫正和直播画面显示。满足ATW算法中需要的多路音视频数据请求协商、缓存分发的功能,优化拆分XR渲染的方案,提升了功能的灵活性和通用性。
通过扩展设备应用至边缘服务器,利用边缘服务器拆分XR异步时间扭曲方案(即边缘服务器进行渲染、HMD设备进行时间扭曲),满足XR多种数据类型的交互传输,形成边端一体的XR系统,满足ATW算法中需要的多路音视频数据请求协商、缓存分发的功能;同时,利用更强的边缘计算能力实现多分辨率渲染,配合基于FOV的视频编解码方案以及分发规则,有效节省网络带宽,改善HMD终端拆分XR异步时间扭曲算法的带宽占用。
图4为本发明应用实施例提供的一种基于边缘计算的头戴式设备姿态矫正方法的流程示意图;如图4所示,在边缘服务器部姿态矫正方法的异步时间扭曲中的渲染线程,协同CDN的tile分发规则,配合HMD设备异步时间扭曲中的时间扭曲线程和FoV多分辨率显示,以改善拆分XR异步时间扭曲算法的下行带宽占用情况。
首先,异步时间扭曲(ATW)中的渲染线程在边缘服务器执行,边缘服务器获取待渲染视频数据;边缘服务器根据HMD设备上传的姿态信息(姿态信息,如设备转动方向、转动角度等)、HMD设备的分辨率信息进行多分辨率渲染(如2K和8K),渲染后得到不同分辨率的2D视频流;
通过分片规则对高分辨率的视频数据进行编解码处理后分发,即FOV视区内高分辨率的分片视频数据组合成前景流,其他区域为低分辨率的背景流;然后,HMD设备接收前景流,利用更新后的姿态信息(指上传视频数据到边缘服务器的时间点到边缘服务器下发视频数据的时间点之间变化的姿态),进行异步时间扭曲(ATW)中的时间扭曲线程,完成画面显示。
其中,渲染和分片处理可支持不同的编解码方式,比如,渲染待处理的视频数据可采用H.264、H.265编码方式,经过解码后为YUV格式,分片划分后采用H.265编码方式。
图5为本发明应用实施例提供的一种基于边缘计算的头戴式设备姿态矫正系统的示意图,如图5所示,该系统采用边端一体的形式,其中,HMD设备侧的客户端与边缘节点的边缘服务器通信,完成HMD设备的注册及能力协商,所述能力包括传输的数据格式(操作信息、音视频、深度信息、点云等),支持的编解码器(H.264、H.265等)。
协商一致后,边缘节点中的边缘服务器进行视频的编转码及异步时间扭曲中的多分辨率渲染,边缘服务器按照分片规则根据渲染后的视频数据进行tile划分;所述分片规则包括:tile传输的参数定义和网格划分功能,如划分个数等,以及编码分发功能。渲染完成的2D视频在HMD设备解码进行时间扭曲线程,完成姿态矫正显示。
本发明实施例中的方法中使用的或者系统包括的HMD设备可以包括:虚拟现实所使用的HMD设备、增强现实所使用的HMD设备;
虚拟现实所使用的HMD设备不受环境因素影响,其不涉及上传用户当前所处环境的视频数据,边缘服务器根据编解码能力和分辨率需求等确定渲染需求;
而增强现实所使用的HMD设备可能会受环境因素影响(如光照、所处平面、空间等),因此其可以上传用户当前所处环境的视频数据;边缘服务器根据用户当前所处环境的视频数据确定用户环境,结合用户环境、编解码能力和分辨率需求等确定渲染需求;
边缘服务器根据确定的渲染需求渲染来自内容中心(中心云节点)分发的视频数据,即边缘服务器处理内容中心中待发送给HMD设备的视频数据,经过边缘设备处理完视频数据后,通过网络分发给HMD设备。
本发明实施例提供的方法和系统可用于XR游戏、XR视频直播等场景,支持网络传输协议、如实时传输协议(RTP,Real-time Transport Protocol)/动态自适应流媒体(DASH,Dynamic Adaptive Streaming over HTTP)/基于HTTP的自适应码率流媒体传输协议(HLS,HTTP Live Streaming)等,使用渲染引擎设置渲染分辨率获得多分辨率渲染视频数据(如Unity或Unreal引擎),然后将原始低分辨全景视频作为背景流,FOV区域内的高分辨的分片视频数据进行组合,并在GPU中渲染生成基于FOV的前景视频数据,通过网络进行分发。
图6为本发明实施例提供的一种姿态矫正装置的结构示意图;所述装置应用于服务器,如图6所示,所述装置包括:
获取模块,用于获取HMD设备的姿态信息和待处理视频数据;
第一处理模块,用于对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;
第二处理模块,用于根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;
发送模型,用于将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
所述第一处理模块,用于确定所述HMD设备对应的渲染需求;
根据HMD设备对应的渲染需求对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和满足所述HMD设备的渲染需求的第二视频数据。
具体地,所述获取模块,还用于获取所述HMD设备的编解码能力和分辨率需求;
所述第一处理模块,用于根据所述编解码能力和分辨率需求,确定渲染需求。
具体地,所述第二处理模块,还用于对所述第二视频数据进行分片处理,得到至少一个分片视频数据;
根据所述姿态信息和所述至少一个分片视频数据,确定视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成所述第三视频数据。
具体地,所述发送模块,用于将所述第一视频数据和所述第三视频数据发送给分发设备;由所述分发设备将所述第一视频数据和所述第三视频数据发送给对应的HMD设备。
具体地,所述边缘服务器连接多个HMD设备;每个所述HMD设备对应相同或不同的渲染需求;所述第二视频数据的数量可以为一个或多个;
所述第一处理模块,用于对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和至少两个第二视频数据;所述至少两个第二视频数据中每个所述第二视频数据对应不同的分辨率;
相应的,所述第二处理模块,用于对每个所述第二视频数据进行分片处理,得到每个所述第二视频数据对应的至少一个分片视频数据;
根据每个所述HMD设备的姿态信息,及满足每个所述HMD设备的渲染需求的所述第二视频数据对应的至少一个分片视频数据,确定每个所述HMD设备对应的视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成每个所述HMD设备的第三视频数据。
需要说明的是:上述实施例提供的姿态矫正装置在实现相应姿态矫正方法时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将边缘服务器的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的装置与相应方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7为本发明实施例提供的一种姿态矫正装置的结构示意图;如图7所示,所述装置70包括:处理器701和用于存储能够在所述处理器上运行的计算机程序的存储器702;
所述处理器701用于运行所述计算机程序时,执行:获取HMD设备的姿态信息和待处理视频数据;
对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;
根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;
将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
在一实施例中,所述处理器701还用于运行所述计算机程序时,执行:确定所述HMD设备对应的渲染需求;
根据HMD设备对应的渲染需求对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和满足所述HMD设备的渲染需求的第二视频数据。
在一实施例中,所述处理器701还用于运行所述计算机程序时,执行:获取所述HMD设备的编解码能力和分辨率需求;
根据所述编解码能力和分辨率需求,确定渲染需求。
在一实施例中,所述处理器701还用于运行所述计算机程序时,执行:对所述第二视频数据进行分片处理,得到至少一个分片视频数据;
根据所述姿态信息和所述至少一个分片视频数据,确定视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成所述第三视频数据。
在一实施例中,所述处理器701还用于运行所述计算机程序时,执行:将所述第一视频数据和所述第三视频数据发送给分发设备;由所述分发设备将所述第一视频数据和所述第三视频数据发送给对应的HMD设备。
在一实施例中,所述处理器701还用于运行所述计算机程序时,执行:对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和至少两个第二视频数据;所述至少两个第二视频数据中每个所述第二视频数据对应不同的分辨率;
对每个所述第二视频数据进行分片处理,得到每个所述第二视频数据对应的至少一个分片视频数据;
根据每个所述HMD设备的姿态信息,及满足每个所述HMD设备的渲染需求的所述第二视频数据对应的至少一个分片视频数据,确定每个所述HMD设备对应的视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成每个所述HMD设备的第三视频数据。
所述处理器运行所述计算机程序时实现本发明实施例的各个方法中由边缘服务器的相应流程,为了简洁,在此不再赘述。
实际应用时,所述装置70还可以包括:至少一个网络接口703。所述装置70中的各个组件通过总线系统704耦合在一起。可理解,总线系统704用于实现这些组件之间的连接通信。总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统704。其中,所述处理器701的个数可以为至少一个。网络接口703用于装置70与其他设备之间有线或无线方式的通信。
本发明实施例中的存储器702用于存储各种类型的数据以支持装置70的操作。
上述本发明实施例揭示的方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(DSP,DiGital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,装置70可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序;所述计算机程序被处理器运行时,执行:获取HMD设备的姿态信息和待处理视频数据;对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
所述计算机程序被处理器运行时实现本发明实施例的各个方法中由服务器实现的相应流程,为了简洁,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种姿态矫正方法,其特征在于,应用于边缘服务器,所述方法包括:
获取头戴式显示HMD设备的姿态信息和待处理视频数据;
对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;
根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;
将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
2.根据权利要求1所述的方法,其特征在于,所述对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据,包括:
确定所述HMD设备对应的渲染需求;
根据HMD设备对应的渲染需求对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和满足所述HMD设备的渲染需求的第二视频数据。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述HMD设备的编解码能力和分辨率需求;
根据所述编解码能力和分辨率需求,确定渲染需求。
4.根据权利要求1所述的方法,其特征在于,所述根据所述姿态信息和所述第二视频数据,生成第三视频数据,包括:
对所述第二视频数据进行分片处理,得到至少一个分片视频数据;
根据所述姿态信息和所述至少一个分片视频数据,确定视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成所述第三视频数据。
5.根据权利要求1所述的方法,其特征在于,所述将所述第一视频数据和所述第三视频数据发送给所述HMD设备,包括:
将所述第一视频数据和所述第三视频数据发送给分发设备;由所述分发设备将所述第一视频数据和所述第三视频数据发送给对应的HMD设备。
6.根据权利要求1所述的方法,其特征在于,所述边缘服务器连接多个HMD设备;每个所述HMD设备对应相同或不同的渲染需求;所述第二视频数据的数量可以为一个或多个;
所述对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据,包括:
对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和至少两个第二视频数据;所述至少两个第二视频数据中每个所述第二视频数据对应不同的分辨率;
相应的,所述根据所述姿态信息和所述第二视频数据,生成第三视频数据,包括:
对每个所述第二视频数据进行分片处理,得到每个所述第二视频数据对应的至少一个分片视频数据;
根据每个所述HMD设备的姿态信息,及满足每个所述HMD设备的渲染需求的所述第二视频数据对应的至少一个分片视频数据,确定每个所述HMD设备对应的视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成每个所述HMD设备的第三视频数据。
7.一种姿态矫正装置,其特征在于,应用于边缘服务器,所述装置包括:
获取模块,用于获取HMD设备的姿态信息和待处理视频数据;
第一处理模块,用于对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和第二视频数据;所述第一视频数据的分辨率低于所述第二视频数据;
第二处理模块,用于根据所述姿态信息和所述第二视频数据,生成第三视频数据;所述第三视频数据为所述第二视频数据部分区域内的视频数据;
发送模型,用于将所述第一视频数据和所述第三视频数据发送给所述HMD设备;所述HMD设备根据所述第一视频数据和所述第三视频数据进行时间扭曲。
8.根据权利要求7所述的装置,其特征在于,所述第一处理模块,用于确定所述HMD设备对应的渲染需求;
根据HMD设备对应的渲染需求对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和满足所述HMD设备的渲染需求的第二视频数据。
9.根据权利要求8所述的装置,其特征在于,所述获取模块,还用于获取所述HMD设备的编解码能力和分辨率需求;
所述第一处理模块,还用于根据所述编解码能力和分辨率需求,确定渲染需求。
10.根据权利要求7所述的装置,其特征在于,所述第二处理模块,用于对所述第二视频数据进行分片处理,得到至少一个分片视频数据;
根据所述姿态信息和所述至少一个分片视频数据,确定视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成所述第三视频数据。
11.根据权利要求7所述的装置,其特征在于,所述发送模块,用于将所述第一视频数据和所述第三视频数据发送给分发设备;由所述分发设备将所述第一视频数据和所述第三视频数据发送给对应的HMD设备。
12.根据权利要求7所述的装置,其特征在于,所述边缘服务器连接多个HMD设备;每个所述HMD设备对应相同或不同的渲染需求;所述第二视频数据的数量可以为一个或多个;
所述第一处理模块,用于对所述待处理视频数据进行多分辨率渲染,得到渲染后的第一视频数据和至少两个第二视频数据;所述至少两个第二视频数据中每个所述第二视频数据对应不同的分辨率;
相应的,所述第二处理模块,用于对每个所述第二视频数据进行分片处理,得到每个所述第二视频数据对应的至少一个分片视频数据;
根据每个所述HMD设备的姿态信息,及满足每个所述HMD设备的渲染需求的所述第二视频数据对应的至少一个分片视频数据,确定每个所述HMD设备对应的视线范围内的分片视频数据;
根据所述视线范围内的分片视频数据生成每个所述HMD设备的第三视频数据。
13.一种姿态矫正装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111142260.9A CN115883811A (zh) | 2021-09-28 | 2021-09-28 | 一种姿态矫正方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111142260.9A CN115883811A (zh) | 2021-09-28 | 2021-09-28 | 一种姿态矫正方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115883811A true CN115883811A (zh) | 2023-03-31 |
Family
ID=85763408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111142260.9A Pending CN115883811A (zh) | 2021-09-28 | 2021-09-28 | 一种姿态矫正方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883811A (zh) |
-
2021
- 2021-09-28 CN CN202111142260.9A patent/CN115883811A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10712565B2 (en) | Method and system for streaming information in wireless virtual reality | |
EP3606082B1 (en) | Panoramic video playback method and client terminal | |
US11706403B2 (en) | Positional zero latency | |
WO2022100522A1 (zh) | 一种视频编码方法、视频解码方法、装置、电子设备、存储介质及计算机程序产品 | |
EP3264370B1 (en) | Media content rendering method, user equipment, and system | |
CN113347405B (zh) | 缩放相关的方法和装置 | |
US20180152690A1 (en) | Systems and method for virtual reality video conversion and streaming | |
JP6030230B2 (ja) | パノラマベースの3dビデオコーディング | |
EP2384001A1 (en) | Providing of encoded video applications in a network environment | |
JP2021503777A (ja) | ビデオエンコーダレンダリング向けのゲームエンジンアプリケーション | |
US11159823B2 (en) | Multi-viewport transcoding for volumetric video streaming | |
CN108810427B (zh) | 基于视点的全景视频内容表示的方法及装置 | |
WO2022022348A1 (zh) | 视频压缩方法、解压方法、装置、电子设备及存储介质 | |
US20200404241A1 (en) | Processing system for streaming volumetric video to a client device | |
CN113438495A (zh) | Vr直播方法、装置、系统、设备及存储介质 | |
US20150022548A1 (en) | Graphics server for remotely rendering a composite image and method of use thereof | |
CN114728202A (zh) | 在服务器处重叠编码与传输 | |
CN115883811A (zh) | 一种姿态矫正方法、装置和存储介质 | |
CN113286149B (zh) | 一种云会议自适应多层视频编码方法、系统和存储介质 | |
US11985181B2 (en) | Orchestrating a multidevice video session | |
CN115567756A (zh) | 基于视角的vr视频系统和处理方法 | |
Zeng et al. | A new architecture of 8k vr fov video end-to-end technology | |
Gül et al. | Interactive volumetric video from the cloud | |
Gudumasu et al. | Adaptive Volumetric Video Streaming Platform | |
EP4013059A1 (en) | Changing video tracks in immersive videos |
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 |