CN112738534B - 数据处理方法及系统、服务器和存储介质 - Google Patents

数据处理方法及系统、服务器和存储介质 Download PDF

Info

Publication number
CN112738534B
CN112738534B CN201911032846.2A CN201911032846A CN112738534B CN 112738534 B CN112738534 B CN 112738534B CN 201911032846 A CN201911032846 A CN 201911032846A CN 112738534 B CN112738534 B CN 112738534B
Authority
CN
China
Prior art keywords
data
image
frame
video
acquisition
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
Application number
CN201911032846.2A
Other languages
English (en)
Other versions
CN112738534A (zh
Inventor
盛骁杰
魏开进
李晓阳
凌康
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201911032846.2A priority Critical patent/CN112738534B/zh
Priority to PCT/CN2020/124278 priority patent/WO2021083178A1/zh
Publication of CN112738534A publication Critical patent/CN112738534A/zh
Application granted granted Critical
Publication of CN112738534B publication Critical patent/CN112738534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/271Image signal generators wherein the generated image signals comprise depth maps or disparity maps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/04Synchronising

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

数据处理方法及系统、服务器和存储介质,所述方法包括:接收数据处理设备上传的多个同步视频帧的帧图像作为图像组合;确定所述图像组合相应的参数数据;确定所述图像组合中各帧图像的深度数据;基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据;将所述多角度自由视角视频数据插入至播放控制设备的待播放数据流以用于通过播放终端进行播放。上述方案可以满足多角度自由视角视频低时延播放和实时互动的需求。

Description

数据处理方法及系统、服务器和存储介质
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据处理方法及系统、服务器和存储介质。
背景技术
随着互联技术的不断发展,越来越多的视频平台不断通过提供更高清晰度或者观看流畅度更高的视频,来提高用户的观看体验。
然而,针对现场体验感比较强的视频,例如一场体育比赛的视频,用户在观看过程中往往只能通过一个视点位置观看比赛,无法自己自由切换视点位置,来观看不同视角位置处的比赛画面或比赛过程,也就无法体验在现场一边移动视点一边看比赛的感觉。
6自由度(6Degree of Freedom,6DoF)技术就是为了提供高自由度观看体验的一种技术,用户可以在观看中通过交互手段,来调整视频观看的视角,从用户想观看的自由视点角度进行观看,从而大幅度的提升观看体验。
为实现6DoF场景,目前有Free-D回放技术和光场渲染技术。其中,Free-D回放技术是通过多角度拍摄获取场景的点云数据对6DoF图像进行表达,而光场渲染技术是通过密集光场的焦距和空间位置变化获得像素的景深信息和三维位置信息,进而对6DoF图像进行表达。
无论是Free-D回放技术还是光场渲染技术,对存储量和运算量的需求都非常大,因此需要在现场布置大量服务器进行处理,造成实施成本过高,限制条件过多,无法快速处理数据,难以实现低时延的播放,从而不能满足用户观看和互动的需求,不利于推广普及。
发明内容
有鉴于此,本发明实施例提供一种数据处理方法及系统、服务器和存储介质,提升数据处理速度,满足对多角度自由视角视频的低时延播放和实时互动的需求。
本发明实施例提供了一种数据处理方法,包括:
接收数据处理设备上传的多个同步视频帧的帧图像作为图像组合;确定所述图像组合相应的参数数据;确定所述图像组合中各帧图像的深度数据;基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,其中,所述多角度自由视角视频数据包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据;将所述多角度自由视角视频数据插入至播放控制设备的待播放数据流以用于通过播放终端进行播放。
可选地,所述数据处理设备通过以下方式获得用于上传的多个同步视频帧:所述数据处理设备基于视频帧截取指令,从现场采集区域不同位置实时同步采集并上传的多路视频数据流中,截取指定帧时刻的视频帧得到用于上传的多个同步视频帧的帧图像,其中,所述多个同步视频帧的拍摄视角不同。
可选地,所述基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,包括:根据所述预设的虚拟视点路径中各虚拟视点的虚拟参数数据以及所述图像组合相应的参数数据之间的关系,将所述图像组合中预设的帧图像的深度数据分别映射至相应的虚拟视点;根据分别映射至相应的虚拟视点的预设帧图像的像素数据和深度数据,以及预设的虚拟视点路径,进行帧图像重建,获得相应的多角度自由视角视频数据。
可选地,所述方法还包括:基于所述图像组合的像素数据和深度数据,生成所述图像组合相应的拼接图像,所述拼接图像包括第一字段和第二字段,其中,所述第一字段包括所述图像组合中预设帧图像的像素数据,所述第二字段包括所述图像组合的深度数据;存储所述图像组合的拼接图像及所述图像组合相应的参数数据。
可选地,所述方法还包括:基于收到的来自交互终端的图像重建指令,确定交互时刻的交互帧时刻信息,将对应交互帧时刻的相应图像组合预设帧图像的拼接图像及相应图像组合相应的参数数据发送至所述交互终端,使得所述交互终端基于交互操作所确定的虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据及对应的参数数据,将选择的像素数据和深度数据进行组合渲染,重建得到所述交互帧时刻虚拟视点位置对应的多角度自由视角视频数据并进行播放。
本发明实施例还提供了一种服务器,与数据处理设备建立通信连接,所述服务器包括:数据接收单元,适于接收所述数据处理设备上传的多个同步视频帧的帧图像作为图像组合;参数数据计算单元,适于确定所述图像组合相应的参数数据;深度数据计算单元,适于确定所述图像组合中各帧图像的深度数据;视频数据获取单元,适于基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,其中,所述多角度自由视角视频数据包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据;第一数据传输单元,适于将所述多角度自由视角视频数据插入至播放控制设备的待播放数据流以用于通过播放终端进行播放。
可选地,所述多个同步视频帧为所述数据处理设备基于视频帧截取指令,在从现场采集区域不同位置实时同步采集并上传的多路视频数据流中对指定帧时刻的视频帧截取得到,其中,所述多个同步视频帧的拍摄角度不同。
可选地,所述视频数据获取单元包括:数据映射子单元,适于根据所述预设的虚拟视点路径中各虚拟视点的虚拟参数数据以及所述图像组合相应的参数数据之间的关系,将所述图像组合中预设的帧图像的深度数据分别映射至相应的虚拟视点;数据重建子单元,适于根据分别映射至相应的虚拟视点的预设帧图像的像素数据和深度数据,以及预设的虚拟视点路径,进行帧图像重建,获得相应的多角度自由视角视频数据。
可选地,所述服务器还包括:拼接图像生成单元,适于基于所述图像组合中预设帧图像的像素数据和深度数据,生成所述图像组合相应的拼接图像,所述拼接图像包括第一字段和第二字段,其中,所述第一字段包括所述图像组合中预设帧图像的像素数据,所述第二字段包括所述图像组合中预设帧图像的深度数据;数据存储单元,适于存储所述图像组合的拼接图像及所述图像组合相应的参数数据。
可选地,所述服务器还包括:数据提取单元,适于基于收到的来自交互终端的图像重建指令,确定交互时刻的交互帧信息,提取对应交互帧时刻的相应图像组合中预设帧图像的拼接图像及相应图像组合相应的参数数据;第二数据传输单元,适于将所述数据提取单元提取的所述拼接图像以及相应图像组合相应的参数数据传输至所述交互终端,使得所述交互终端基于交互操作所确定的虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据及对应的参数数据,将选择的像素数据和深度数据进行组合渲染,重建得到交互帧时刻的虚拟视点位置对应的多角度自由视角视频数据并进行播放。
本发明实施例还提供了一种数据处理系统,包括:数据处理设备、服务器、播放控制设备以及播放终端,其中:所述数据处理设备,适于基于视频帧截取指令,从现场采集区域不同位置实时同步采集的多路视频数据流中对指定帧时刻的视频帧截取得到多个同步视频帧,将获得的所述指定帧时刻的多个同步视频帧上传至所述服务器;所述服务器,适于将接收所述数据处理设备上传的指定帧时刻的多个同步视频帧的帧图像作为图像组合,确定所述图像组合相应的参数数据及所述图像组合中各帧图像的深度数据,并基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,所述多角度自由视角视频数据包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据;所述播放控制设备,适于将所述多角度自由视角视频数据插入待播放数据流;所述播放终端,适于接收来自所述播放控制设备的待播放数据流并进行实时播放。
可选地,所述服务器还适于基于所述图像组合中预设帧图像的像素数据和深度数据,生成所述图像组合中预设帧时刻的拼接图像,所述拼接图像包括第一字段和第二字段,其中,所述第一字段包括所述图像组合中预设帧图像的像素数据,所述第二字段包括所述图像组合中预设帧图像的深度数据的第二字段,并存储所述图像组合的拼接图像及所述图像组合相应的参数数据。
可选地,所述数据处理系统还包括:交互终端,适于基于触发操作,确定交互帧时刻信息,向服务器发送包含交互帧时刻信息的图像重建指令,接收从所述服务器返回的对应交互帧时刻的图像组合中预设帧图像的拼接图像及对应的参数数据,并基于交互操作确定虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据及对应的参数数据,将选择的像素数据和深度数据进行组合渲染,重建得到所述交互帧时刻虚拟视点位置对应的多角度自由视角视频数据并进行播放。
可选地,所述播放终端与所述交互终端为同一终端设备。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行前述任一实施例所述方法的步骤。
本发明实施例还提供了一种服务器,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行前述任一实施例所述方法的步骤。
采用本发明实施例中的远程数据处理方案,可以接收数据处理设备上传的多个同步视频帧的帧图像作为图像组合,然后确定所述图像组合相应的参数数据和所述图像组合中各帧图像的深度数据,基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的深度数据和像素数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,并将所述多角度自由视角视频数据插入至播放控制设备的待播放数据流以用于通过播放终端进行播放。由上可知,可以采用分布式系统架构中的数据处理设备处理指定视频帧的截取以及服务器对预设帧图像进行截取后的多角度自由视角视频的重建,可以避免在现场布置大量服务器进行处理,也可以避免将采集阵列的采集设备采集到的视频数据流直接上传,因此可以节省大量的传输资源及服务器处理资源,且在网络传输带宽有限的情况下,使得指定视频帧的多角度自由视角视频可以实时重建,实现多角度自由视角视频的低时延播放,减小网络传输带宽的限制,因而可以降低实施成本,减少限制条件,易于实现,满足多角度自由视角视频低时延播放和实时互动的需求。
进一步地,基于接收到来自交互终端的图像重建指令,可以将交互帧时刻的拼接图像及相应图像组合相应的参数数据发送至所述交互终端,使得所述交互终端基于交互操作所确定的虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据,将选择的像素数据和深度数据进行组合渲染,重建得到所述交互帧时刻的虚拟视点位置对应的多角度自由视角视频数据并进行播放,从而可以基于来自交互终端的图像重建指令随时生成用户所指示的交互帧时刻的虚拟视点位置对应的多角度自由视角视频数据,可以进一步提升用户互动体验。
附图说明
图1是本发明实施例中一种数据处理系统的结构示意图;
图2是本发明实施例中一种数据处理方法的流程图;
图3是本发明实施例中一种应用场景中数据处理系统的结构示意图;
图4是本发明实施例中一种交互终端的交互界面示意图;
图5是本发明实施例中一种服务器的结构示意图;
图6是本发明实施例中一种数据交互方法的流程图;
图7是本发明实施例中另一种数据处理系统的结构示意图;
图8是本发明实施例中另一种应用场景中数据处理系统的结构示意图;
图9是本发明实施例中一种交互终端的结构示意图;
图10是本发明实施例中另一种交互终端的交互界面示意图;
图11是本发明实施例中另一种交互终端的交互界面示意图;
图12是本发明实施例中另一种交互终端的交互界面示意图;
图13是本发明实施例中另一种交互终端的交互界面示意图;
图14是本发明实施例中另一种交互终端的交互界面示意图;
图15是本发明实施例中另一种数据处理方法的流程图;
图16是本发明实施例中一种截取压缩视频数据量中同步的视频帧的方法的流程图;
图17是本发明实施例中另一种数据处理方法的流程图;
图18是本发明实施例中一种数据处理设备的结构示意图;
图19是本发明实施例中另一种数据处理系统的结构示意图;
图20是本发明实施例中一种数据同步方法的流程图;
图21是本发明实施例中一种拉流同步的时序图;
图22是本发明实施例中另一种截取压缩视频数据量中同步的视频帧的方法的流程图;
图23是本发明实施例中另一种数据处理设备的结构示意图;
图24是本发明实施例中一种数据同步系统的结构示意图;
图25是本发明实施例中一种应用场景中的数据同步系统的结构示意图;
图26是本发明实施例中一种深度图生成方法的流程图;
图27是本发明实施例中一种服务器的结构示意图;
图28是本发明实施例中一种服务器集群进行深度图处理的示意图;
图29是本发明实施例中一种虚拟视点图像生成方法的流程图;
图30是本发明实施例中一种GPU进行组合渲染的方法的流程图;
图31是本发明实施例中一种空洞填补方法的示意图;
图32是本发明实施例中一种虚拟视点图像生成系统的结构示意图;
图33是本发明实施例中一种电子设备的结构示意图。
图34是本发明实施例中另一种数据同步系统的结构示意图;
图35是本发明实施例中另一种数据同步系统的结构示意图;
图36是本发明实施例中一种采集设备的结构示意图。
图37是本发明实施例中一种应用场景中采集阵列的示意图。
图38是本发明实施例中另一种数据处理系统的结构示意图。
图39是本发明实施例中另一种交互终端的结构示意图。
图40是本发明实施例中另一种交互终端的交互界面示意图。
图41是本发明实施例中另一种交互终端的交互界面示意图。
图42是本发明实施例中另一种交互终端的交互界面示意图。
图43是本发明实施例中一种交互终端的连接示意图。
图44是本发明实施例中一种交互终端的交互操作示意图。
图45是本发明实施例中另一种交互终端的交互界面示意图。
图46是本发明实施例中另一种交互终端的交互界面示意图。
图47是本发明实施例中另一种交互终端的交互界面示意图。
图48是本发明实施例中另一种交互终端的交互界面示意图。
具体实施方式
在传统的直播、转播和录播等播放场景中,如前所述,用户在观看过程中往往只能通过一个视点位置观看比赛,无法自己自由切换视点位置,来观看不同视角位置处的比赛画面或比赛过程,也就无法体验在现场一边移动视点一边看比赛的感觉。
采用6自由度(6Degree of Freedom,6DoF)技术可以提供高自由度观看体验,用户可以在观看过程中通过交互手段,来调整视频观看的视角,从想观看的自由视点角度进行观看,从而大幅度的提升观看体验。
为实现6DoF场景,目前有Free-D回放技术、光场渲染技术及基于深度图的6DoF视频生成技术等。其中,Free-D回放技术是通过多角度拍摄获取场景的点云数据对6DoF图像进行表达,而光场渲染技术是通过密集光场的焦距和空间位置变化获得像素的景深信息和三维位置信息,进而对6DoF图像进行表达。基于深度图的6DoF视频生成方法是基于所述虚拟视点位置及对应组的纹理图和深度图对应的参数数据,将用户交互时刻所述视频帧的图像组合中相应组的纹理图和深度图进行组合渲染,进行6DoF图像或视频的重建。
例如,在现场使用Free-D回放方案时,需要采用大量相机进行原始数据采集,并通过数字分量串行接口(Serial Digital Interface,SDI)采集卡汇总到现场的计算机房,然后通过现场机房中的计算服务器对原始数据进行处理,获得对空间所有点的三维位置以及像素信息进行表达的点云数据,并重建6DoF场景。这种方案使得现场采集、传输和计算的数据量极大,尤其对于直播和转播这类对传输网络以及计算服务器有很高要求的播放场景,6DoF重建场景实施成本过高,限制条件过多。并且,目前并没有很好的技术标准和工业级软硬件对点云数据进行支持,因此,从现场的原始数据采集到最终6DoF重建场景,需要花费较长的数据处理时间,从而不能满足多角度自由视角视频的低时延播放和实时互动的需求。
又例如,在现场使用光场渲染方案时,需要通过密集光场的焦距和空间位置变化获得像素的景深信息和三维位置信息,由于密集光场获取的光场图像分辨率过大,往往需要分解成几百张常规的二维图片,因此,这种方案也使得现场采集、传输和计算的数据量极大,对于现场的传输网络以及计算服务器有很高的要求,实施成本过高,限制条件过多,无法快速处理数据。并且,通过光场图像重建6DoF场景的技术手段仍然在实验探索中,目前无法有效地满足多角度自由视角视频的低时延播放和实时互动的需求。
综上所述,无论是Free-D回放技术还是光场渲染技术,对存储量和运算量的需求都非常大,因此需要在现场布置大量服务器进行处理,造成实施成本过高,限制条件过多,无法快速处理数据,从而不能满足观看和互动的需求,不利于推广普及。
基于深度图的6DoF视频重建方法虽然可以减小视频重建过程中的数据运算量,但由于网络传输带宽、设备解码能力等多种因素的约束,也难以满足多角度自由视角视频的低时延播放及实时互动的需求。
针对上述问题,本发明一些实施例提出了多角度自由视角图像生成方案,采用分布式系统架构,其中,在现场采集区域设置多个采集设备组成的采集阵列进行多个角度的帧图像的同步采集,通过数据处理设备对采集设备采集到的帧图像根据帧截取指令进行视频帧的截取,并由服务器将数据处理设备上传的多个同步视频帧的帧图像作为图像组合,可以确定所述图像组合相应的参数数据和所述图像组合中各帧图像的深度数据,基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,并将所述多角度自由视角视频数据插入至播放控制设备的待播放数据流以用于传输至播放终端进行播放。
参照本发明实施例中一种应用场景的数据处理系统的结构示意图,数据处理系统10包括:数据处理设备11、服务器12、播放控制设备13和播放终端14,其中,数据处理设备11可以对现场采集区域中采集阵列采集到的帧图像进行视频帧的截取,通过对待生成多角度自由视角图像的视频帧进行截取,可以避免大量的数据传输及数据处理,之后,由服务器12进行多角度自由视角图像的生成,可以充分利用服务器强大的计算能力,即可快速地生成多角度自由视角视频数据,从而可以及时地插入播放控制设备的待播放数据流中,以低廉的成本实现多角度自由视角的播放,满足用户对多角度自由视角视频低时延播放和实时互动的需求。
为使本领域技术人员更加清楚地了解及实施本说明书实施例,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书的一部分实施例,而不是全部实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本说明书保护的范围。
参照图2所示的数据处理方法的流程图,在本发明实施例中,具体可以包括如下步骤:
S21,接收数据处理设备上传的多个同步视频帧的帧图像作为图像组合。
其中,所述多个同步视频帧为所述数据处理设备基于视频帧截取指令,在从现场采集区域不同位置实时同步采集并上传的多路视频数据流中对指定帧时刻的视频帧截取得到,所述多个同步视频帧的拍摄视角不同。
在具体实施中,所述视频帧截取指令可以包括指定帧时刻的信息,所述数据处理设备根据所述视频帧截取指令中的指定帧时刻的信息,从多路视频数据流中截取相应帧时刻的视频帧。其中,所述指定帧时刻可以以帧为单位,将第N至M帧作为指定帧时刻,N和M均为不小于1的整数,且N≤M;或者,所述指定帧时刻也可以以时间为单位,将第X至Y秒作为指定帧时刻,X和Y均为正数,且X≤Y。因此,多个同步视频帧可以包括指定帧时刻对应的所有帧级同步的视频帧,各视频帧的像素数据形成对应的帧图像。
例如,数据处理设备根据接收到的视频帧截取指令,可以获得指定帧时刻为多路视频数据流中的第2帧,则数据处理设备分别截取各路视频数据流中第2帧的视频帧,且截取的各路视频数据流的第2帧的视频帧之间帧级同步,作为获取得到的多个同步视频帧。
又例如,假设采集帧率设置为25fps,即1秒采集25帧,数据处理设备根据接收到的视频帧截取指令,可以获得指定帧时刻为多路视频数据流中的第1秒内的视频帧,则数据处理设备可以分别截取各路视频数据流中第1秒内的25个视频帧,且截取的各路视频数据流中第1秒内的第1个视频帧之间帧级同步,截取的各路视频数据流中第1秒内的第2个视频帧之间帧级同步,直至取的各路视频数据流中第1秒内的第25个视频帧之间帧级同步,作为获取得到的多个同步视频帧。
还例如,数据处理设备根据接收到的视频帧截取指令,可以获得指定帧时刻为多路视频数据流中的第2帧和第3帧,则数据处理设备可以分别截取各路视频数据流中第2帧的视频帧和第3帧的视频帧,且截取的各路视频数据流的第2帧的视频帧之间和第3帧的视频帧之间分别帧级同步,作为多个同步视频帧。
S22,确定所述图像组合相应的参数数据。
在具体实施中,可以通过参数矩阵来获得所述图像组合相应的参数数据,所述参数矩阵可以包括内参矩阵,外参矩阵、旋转矩阵和平移矩阵等。由此,可以确定空间物体表面指定点的三维几何位置与其在图像组合中对应点之间的相互关系。
在本发明的实施例中,可以采用运动重构(Structure From Motion,SFM)算法,基于参数矩阵,对获取到的图像组合进行特征提取、特征匹配和全局优化,获得的参数估计值作为图像组合相应的参数数据。其中,特征提取采用的算法可以包括以下任意一种:尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)算法、加速稳健特征(Speeded-Up Robust Features,SURF)算法、加速段测试的特征(Features from AcceleratedSegment Test,FAST)算法。特征匹配采用的算法可以包括:欧式距离计算方法、随机样本一致性(Random Sample Consensus,RANSC)算法等。全局优化的算法可以包括:光束法平差(Bundle Adjustment,BA)等。
S23,确定所述图像组合中各帧图像的深度数据。
在具体实施中,可以基于所述图像组合中多个帧图像,确定各帧图像的深度数据。其中,深度数据可以包括与图像组合中各帧图像的像素对应的深度值。采集点到现场中各个点的距离可以作为上述深度值,深度值可以直接反映待观看区域中可见表面的几何形状。例如,以拍摄坐标系的原点作为光心,深度值可以是现场中各个点沿着拍摄光轴到光心的距离。本领域技术人员可以理解的是,上述距离可以是相对数值,多个帧图像可以采用相同的基准。
在本发明一实施例中,可以采用双目立体视觉的算法,计算各帧图像的深度数据。除此之外,深度数据还可以通过对帧图像的光度特征、明暗特征等特征进行分析间接估算得到。
在本发明另一实施例中,可以采用多视点三维重建(Mult-View Stereo,MVS)算法进行帧图像重建。重建过程中可以采用所有像素进行重建,也可以对像素进行降采样仅用部分像素重建。具体而言,可以对每个帧图像的像素点都进行匹配,重建每个像素点的三维坐标,获得具有图像一致性的点,然后计算各个帧图像的深度数据。或者,可以对选取的帧图像的像素点进行匹配,重建各选取的帧图像的像素点的三维坐标,获得具有图像一致性的点,然后计算相应帧图像的深度数据。其中,帧图像的像素数据与计算得到的深度数据对应,选取帧图像的方式可以根据具体情景来设定,比如,可以根据需要计算深度数据的帧图像与其他帧图像之间的距离,选择部分帧图像。
S24,基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据。
所述多角度自由视角视频数据可以包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据。
其中,帧图像的像素数据可以为YUV数据或RGB数据中任意一种,或者也可以是其它能够对帧图像进行表达的数据;深度数据可以包括与帧图像的像素数据一一对应的深度值,或者,可以是对与帧图像的像素数据一一对应的深度值集合中选取的部分数值,具体的选取方式根据具体的情景而定;所述虚拟视点选自多角度自由视角范围,所述多角度自由视角范围为支持对待观看区域进行视点的切换观看的范围。
在具体实施中,预设帧图像可以是图像组合中所有的帧图像,也可以是选择的部分帧图像。其中,选取的方式可以根据具体情景来设定,例如,可以根据采集点之间的位置关系,选择图像组合中相应位置的部分帧图像;又例如,可以根据想要获取的帧时刻或帧时段,选择图像组合中相应帧时刻的部分帧图像。
由于所述预设的帧图像可以对应不同的帧时刻,因此,可以对虚拟视点路径中各虚拟视点与各帧时刻进行对应,根据各虚拟视点相对应的帧时刻获取相应的帧图像,然后基于所述图像组合相应的参数数据、各虚拟视点的帧时刻对应的帧图像的深度数据和像素数据,对各虚拟视点进行帧图像重建,获得相应的多角度自由视角视频数据,此时,多角度自由视角视频数据可以包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据。换言之,在具体实施中,除了可以实现某一个时刻的多角度自由视角图像,还可以实现时序上连续的或非连续的多角度自由视角视频。
在本发明一实施例中,所述图像组合包括A个同步视频帧,其中,a1个同步视频帧对应第一帧时刻,a2个同步视频帧对应第二帧时刻,a1+a2=A;并且,预设有B个虚拟视点组成的虚拟视点路径,其中b1个虚拟视点与第一帧时刻相对应,b2个虚拟视点与第二帧时刻相对应,b1+b2≤2B,则基于所述图像组合相应的参数数据、第一帧时刻的a1个同步视频帧的帧图像的像素数据和深度数据,对b1个虚拟视点组成的路径进行第一帧图像重建,基于所述图像组合相应的参数数据、第一帧时刻的a21个同步视频帧的帧图像的像素数据和深度数据,对b2个虚拟视点组成的路径进行第二帧图像重建,最终获得相应的多角度自由视角视频数据,其中,所述多角度自由视角视频数据可以包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据。
可以理解的是,可以将指定帧时刻和虚拟视点进行更细的划分,由此得到更多的不同帧时刻对应的同步视频帧和虚拟视点,上述实施例仅为举例说明,并非对具体实施方式的限制。
在本发明实施例中,可以采用基于深度图的图像绘制(Depth Image BasedRendering,DIBR)算法,根据所述图像组合相应的参数数据和预设的虚拟视点路径,对预设的帧图像的像素数据和深度数据进行组合渲染,从而实现基于预设的虚拟视点路径的帧图像重建,获得相应的多角度自由视角视频数据。
S25,将所述多角度自由视角视频数据插入至播放控制设备的待播放数据流并通过播放终端进行播放。
播放控制设备可以将多路视频数据流作为输入,其中,视频数据流可以来自采集阵列中各采集设备,也可以来自其他采集设备。播放控制设备可以根据需要选择一路输入的视频数据流作为待播放数据流,其中,可以选择前述步骤S24获得的多角度自由视角视频数据插入待播放数据流,或者由其他输入接口的视频数据流切换至所述多角度自由视角视频数据的输入接口,播放控制设备将选择的待播放数据流输出至播放终端,即可通过播放终端进行播放,因此用户可以通过播放终端观看到多角度自由视角的视频图像。播放终端可以是电视、手机、平板、电脑等视频播放设备或包含显示屏的电子设备。
在具体实施中,插入播放控制设备的待播放数据流的多角度自由视角视频数据可以保留在播放终端中,以便于用户进行时移观看,其中,时移可以是用户观看时进行的暂停、后退、快进到当前时刻等操作。
采用上述数据处理方法,可以使用分布式系统架构中的数据处理设备处理指定视频帧的截取以及服务器对预设帧图像进行截取后的多角度自由视角视频的重建,可以避免在现场布置大量服务器进行处理,也可以避免将采集阵列的采集设备采集到的视频数据流直接上传,因此可以节省大量的传输资源及服务器处理资源,且在网络传输带宽有限的情况下,使得指定视频帧的多角度自由视角视频可以实时重建,实现多角度自由视角视频的低时延播放,减小网络传输带宽的限制,因而可以降低实施成本,减少限制条件,易于实现,满足多角度自由视角视频低时延播放和实时互动的需求。
在具体实施中,可以根据所述预设的虚拟视点路径中各虚拟视点的虚拟参数数据以及所述图像组合相应的参数数据之间的关系,将所述图像组合中预设的帧图像的深度数据分别映射至相应的虚拟视点;根据分别映射至相应的虚拟视点的预设帧图像的像素数据和深度数据,以及预设的虚拟视点路径,进行帧图像重建,获得相应的多角度自由视角视频数据。
其中,所述虚拟视点的虚拟参数数据可以包括:虚拟观看位置数据和虚拟观看角度数据;所述图像组合相应的参数数据可以包括:采集位置数据和拍摄角度数据等。可以先采用前向映射,进而进行反向映射的方法,得到重建后的图像。
在具体实施中,采集位置数据和拍摄角度数据可以称作外部参数数据,参数数据还可以包括内部参数数据,所述内部参数数据可以包括采集设备的属性数据,从而可以更加准确地确定映射关系。例如,内部参数数据可以包括畸变数据,由于考虑到畸变因素,可以从空间上进一步准确地确定映射关系。
在一具体实施例中,为了后续能够方便获取数据,可以基于所述图像组合的像素数据及深度数据,生成所述图像组合相应的拼接图像,所述拼接图像可以包括第一字段和第二字段,其中,所述第一字段包括所述图像组合的像素数据,所述第二字段包括所述图像组合的深度数据,然后,存储所述图像组合相应的拼接图像及相应的参数数据。
在另一具体实施例中,为了节约存储空间,可以基于所述图像组合中预设帧图像的像素数据及深度数据,生成所述图像组合中预设帧图像相应的拼接图像,所述预设帧图像相应的拼接图像可以包括第一字段和第二字段,其中,所述第一字段包括所述预设帧图像的像素数据,所述第二字段包括所述预设帧图像的深度数据,然后,仅存储所述预设帧图像相应的拼接图像及相应的参数数据即可。
其中,所述第一字段与所述第二字段相对应,所述拼接图像可以分为图像区域以及深度图区域,图像区域的像素字段存储所述多个帧图像的像素数据,深度图区域的像素字段存储所述多个帧图像的深度数据;所述图像区域中存储帧图像的像素数据的像素字段作为所述第一字段,所述深度图区域中存储帧图像的深度数据的像素字段作为所述第二字段;获取的图像组合的拼接图像和及所述图像组合相应的参数数据可以存入数据文件中,当需要获取拼接图像或相应的参数数据时,可以根据数据文件的头文件中包含的存储地址,从相应的存储空间中读取。
此外,图像组合的存储格式可以为视频格式,图像组合的数量可以是多个,每个图像组合可以是对视频进行解封装和解码后,对应不同帧时刻的图像组合。
在具体实施中,可以基于收到的来自交互终端的图像重建指令,确定交互时刻的交互帧时刻信息,将存储的对应交互帧时刻的相应的图像组合预设帧图像的拼接图像及相应图像组合对应的参数数据发送至所述交互终端,使得所述交互终端基于交互操作所确定的虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据及对应的参数数据,将选择的像素数据和深度数据与所述参数数据进行组合渲染,重建得到所述待交互的虚拟视点位置对应的多角度自由视角视频数据并进行播放。
其中,所述预设规则可以根据具体情景来设定,比如,可以基于交互操作确定的虚拟视点位置信息,选择按距离排序最靠近交互时刻的虚拟视点的W个临近的虚拟视点的位置信息,并在拼接图像中获取包括交互时刻的虚拟视点的上述共W+1个虚拟视点对应的满足交互帧时刻信息的像素数据和深度数据。
其中,所述交互帧时刻信息基于来自交互终端的触发操作确定,所述触发操作可以是用户输入的触发操作,也可以是交互终端自动生成的触发操作,例如,交互终端在检测到存在多角度自由视点数据帧的标识时可以自动发起触发操作。在用户手动触发时,可以是交互终端显示交互提示信息后用户选择触发交互的时刻信息,也可以是交互终端接收到用户操作触发交互的历史时刻信息,所述历史时刻信息可以为位于当前播放时刻之前的时刻信息。
在具体实施中,所述交互终端可以基于获取的交互帧时刻的图像组合中预设帧图像的拼接图像及对应的参数数据,交互帧时刻信息以及交互帧时刻的虚拟视点位置信息,采用与上述步骤S24相同的方法对获取的交互帧时刻的图像组合中预设帧图像的拼接图像的像素数据和深度数据进行组合渲染,获得所述交互的虚拟视点位置对应的多角度自由视角视频数据,并在所述交互的虚拟视点位置开始播放多角度自由视角视频。
采用上述方案,可以基于来自交互终端的图像重建指令随时生成交互的虚拟视点位置对应的多角度自由视角视频数据,可以进一步提升用户互动体验。
参照图1所示的数据处理系统的结构示意图,在本发明实施例中,如图1所示,数据处理系统10可以包括:数据处理设备11、服务器12、播放控制设备13以及播放终端14,其中:
所述数据处理设备11,适于基于视频帧截取指令,从所述现场采集区域不同位置实时同步采集的多路视频数据流中对指定帧时刻的视频帧截取得到多个同步视频帧,将获得的所述指定帧时刻的多个同步视频帧上传至所述服务器,其中,多路视频数据流可以是采用压缩格式的视频数据流,也可以是采用非压缩格式的视频数据流;
所述服务器12,适于将接收到的所述数据处理设备11上传的指定帧时刻的多个同步视频帧的帧图像作为图像组合,确定所述图像组合相应的参数数据及所述图像组合中各帧图像的深度数据,并基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,所述多角度自由视角视频数据包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据;
所述播放控制设备13,适于将所述多角度自由视角视频数据插入待播放数据流;
所述播放终端14,适于接收来自所述播放控制设备13的待播放数据流并进行实时播放。
在具体实施中,播放控制终端13可以基于控制指令输出待播放数据流。作为可选示例,播放控制终端13可以从多路数据流中选择一路作为待播放数据流,或者在多路数据流中不断地切换选择以持续地输出所述待播放数据流。导播控制设备可以作为本发明实施例中的一种播放控制设备。其中导播控制设备可以为基于外部输入控制指令进行播放控制的人工或半人工导播控制设备,也可以为基于人工智能或大数据学习或预设算法能够自动进行导播控制的虚拟导播控制设备。
采用上述数据处理系统,可以采用分布式系统架构中的数据处理设备处理指定视频帧的截取以及服务器对预设帧图像进行截取后的多角度自由视角视频的重建,可以避免在现场布置大量服务器进行处理,也可以避免将采集阵列的采集设备采集到的视频数据流直接上传,因此可以节省大量的传输资源及服务器处理资源,且在网络传输带宽有限的情况下,使得指定视频帧的多角度自由视角视频可以实时重建,实现多角度自由视角视频的低时延播放,减小网络传输带宽的限制,因而可以降低实施成本,减少限制条件,易于实现,满足多角度自由视角视频低时延播放和实时互动的需求。
在具体实施中,所述服务器12还适于基于所述图像组合中预设帧图像的像素数据和深度数据,生成所述图像组合中预设帧时刻的拼接图像,所述拼接图像包括第一字段和第二字段,其中,所述第一字段包括所述图像组合中预设帧图像的像素数据,所述第二字段包括所述图像组合中预设帧图像的深度数据的第二字段,并存储所述图像组合的拼接图像及所述图像组合相应的参数数据。
在具体实施中,所述数据处理系统10还可以包括交互终端15,适于基于触发操作,确定交互帧时刻信息,向服务器发送包含交互帧时刻信息的图像重建指令,接收从所述服务器返回的对应交互帧时刻的图像组合中预设帧图像的拼接图像及对应的参数数据,并基于交互操作确定虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据,基于选择的像素数据和深度数据与所述参数数据进行组合渲染,重建得到交互帧时刻虚拟视点位置对应的多角度自由视角视频数据并进行播放。
其中,所述播放终端14的数量可以是一个或多个,所述交互终端15的数量可以是一个或多个,所述播放终端14与所述交互终端15可以为同一终端设备。并且,可以采用服务器、播放控制设备或者交互终端中的至少一种作为视频帧截取指令的发射端,也可以采用其他能够发射视频帧截取指令的设备。
需要说明的是,在具体实施中,根据用户需求,所述数据处理设备和所述服务器的位置可以灵活部署。例如,所述数据处理设备可以置于现场非采集区域或云端。又如,所述服务器可以置于现场非采集区域,云端或者终端接入侧,比如,在终端接入侧,基站、机顶盒、路由器、家庭数据中心服务器、热点设备等边缘节点设备均可以作为所述服务器,用以获得多角度自由视角数据。或者,所述数据处理设备和所述服务器也可以集中设置在一起,作为一个服务器集群进行协同工作,实现多角度自由视角数据的快速生成,以实现多角度自由视角视频的低时延播放及实时互动。
采用上述方案,可以基于来自交互终端的图像重建指令随时生成待交互的虚拟视点位置对应的多角度自由视角视频数据,可以进一步提升用户互动体验。
为使本领域技术人员更好地理解和实现本发明实施例,以下通过具体的应用场景详细说明数据处理系统。
如图3所示,为一种应用场景中数据处理系统的结构示意图,其中,示出了一场篮球赛的数据处理系统的布置场景,所述数据处理系统包括由多个采集设备组成的采集阵列31、数据处理设备32、云端的服务器集群33、播放控制设备34,播放终端35和交互终端36。
参照图3,以左侧的篮球框作为核心看点,以核心看点为圆心,与核心看点位于同一平面的扇形区域作为预设的多角度自由视角范围。所述采集阵列31中各采集设备可以根据所述预设的多角度自由视角范围,成扇形置于现场采集区域不同位置,可以分别从相应角度实时同步采集视频数据流。
在具体实施中,采集设备还可以设置在篮球场馆的顶棚区域、篮球架上等。各采集设备可以沿直线、扇形、弧线、圆形或者不规则形状排列分布。具体排列方式可以根据具体的现场环境、采集设备数量、采集设备的特点、成像效果需求等一种或多种因素进行设置。所述采集设备可以是任何具有摄像功能的设备,例如,普通的摄像机、手机、专业摄像机等。
而为了不影响采集设备工作,所述数据处理设备32可以置于现场非采集区域,可视为现场服务器。所述数据处理设备32可以通过无线局域网向所述采集阵列31中各采集设备分别发送拉流指令,所述采集阵列31中各采集设备基于所述数据处理设备32发送的拉流指令,将获得的视频数据流实时传输至所述数据处理设备32。其中,所述采集阵列31中各采集设备可以通过交换机37将获得的视频数据流实时传输至所述数据处理设备32。
当所述数据处理设备32接收到视频帧截取指令时,从接收到的多路视频数据流中对指定帧时刻的视频帧截取得到多个同步视频帧的帧图像,并将获得的所述指定帧时刻的多个同步视频帧上传至云端的服务器集群33。
相应地,云端的服务器集群33将接收的多个同步视频帧的帧图像作为图像组合,确定所述图像组合相应的参数数据及所述图像组合中各帧图像的深度数据,并基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,所述多角度自由视角视频数据可以包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据。
服务器可以置于云端,并且为了能够更快速地并行处理数据,可以按照处理数据的不同,由多个不同的服务器或服务器组组成云端的服务器集群33。
例如,所述云端的服务器集群33可以包括:第一云端服务器331,第二云端服务器332,第三云端服务器333,第四云端服务器334。其中,第一云端服务器331可以用于确定所述图像组合相应的参数数据;第二云端服务器332可以用于确定所述图像组合中各帧图像的深度数据;第三云端服务器333可以基于所述图像组合相应的参数数据、所述图像组合的像素数据和深度数据,使用基于深度图的虚拟视点重建(Depth Image Based Rendering,DIBR)算法,对预设的虚拟视点路径进行帧图像重建;所述第四云端服务器334可以用于生成多角度自由视角视频,其中,所述多角度自由视角视频数据可以包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据。
可以理解的是,所述第一云端服务器831、第二云端服务器832、第三云端服务器833、第四云端服务器834也可以为服务器阵列或服务器子集群组成的服务器组,本发明实施例不做限制。
在具体实施中,云端的服务器集群33可以采用如下方式存储所述图像组合的像素数据及深度数据:
基于所述图像组合的像素数据及深度数据,生成对应帧时刻的拼接图像,所述拼接图像包括第一字段和第二字段,其中,所述第一字段包括所述图像组合中预设帧图像的像素数据,所述第二字段包括所述图像组合中预设帧图像的深度数据的第二字段。获取的拼接图像和相应的参数数据可以存入数据文件中,当需要获取拼接图像或参数数据时,可以根据数据文件的头文件中相应的存储地址,从相应的存储空间中读取。
然后,播放控制设备34可以将接收到的所述多角度自由视角视频数据插入待播放数据流中,播放终端35接收来自所述播放控制设备34的待播放数据流并进行实时播放。其中,播放控制设备34可以为人工播放控制设备,也可以为虚拟播放控制设备。在具体实施中,可以设置专门的可以自动切换视频流的服务器作为虚拟播放控制设备进行数据源的控制。导播控制设备如导播台可以作为本发明实施例中的一种播放控制设备。
可以理解的是,所述数据处理设备32可以根据具体情景置于现场非采集区域或云端,所述服务器(集群)和播放控制设备可以根据具体情景置于现场非采集区域,云端或者终端接入侧,本实施例并不用于限制本发明的具体实现和保护范围。
如图4所示的交互终端的交互界面示意图,交互终端40的交互界面上具有进度条41,结合图3和图4,交互终端40可以将来自所述数据处理设备32接收的指定帧时刻与进度条相关联,可以在进度条41上生成数个互动标识,例如互动标识42和43。其中,进度条41黑色段为已播放部分41a,进度条41空白段为未播放部分41b。
当交互终端的系统读取到进度条41上相应的互动标识43,交互终端40的界面可以显示交互提示信息。例如,当用户选择操作触发当前的互动标识43时,交互终端40接收到反馈后生成互动标识43相对应的交互帧时刻的图像重建指令,并发送包含交互帧时刻信息的图像重建指令至所述云端的服务器集群33。当用户未选择触发时,交互终端40可以继续读取后续视频数据,所述进度条上已播放部分41a继续前进。用户也可以在观看时选择触发历史互动标识,例如触发进度条上已播放部分41a展示的互动标识42,交互终端40接收到反馈后生成互动标识42对应的交互帧时刻的图像重建指令。
当云端的服务器集群33收到的来自交互终端40的图像重建指令时,可以提取所述相应图像组合中预设帧图像的拼接图像及相应图像组合相应的参数数据并传输至所述交互终端40。
交互终端40基于触发操作,确定交互帧时刻信息,向服务器发送包含交互帧时刻信息的图像重建指令,接收从云端的服务器集群33返回的对应交互帧时刻的图像组合中预设帧图像的拼接图像及对应的参数数据,并基于交互操作确定虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据及对应的参数数据,将选择的像素数据和深度数据进行组合渲染,重建得到所述交互帧时刻虚拟视点位置对应的多角度自由视角视频数据并进行播放。
可以理解的是,所述采集阵列中各采集设备与所述数据处理设备之间可以通过交换机和/或局域网进行连接,播放终端、交互终端数量均可以是一个或多个,所述播放终端与所述交互终端可以为同一终端设备,所述数据处理设备可以根据具体情景置于现场非采集区域或云端,所述服务器可以根据具体情景置于现场非采集区域,云端或者终端接入侧,本实施例并不用于限制本发明的具体实现和保护范围。
本发明实施例还提供了与上述数据处理方法相应的服务器,为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,通过具体实施例进行详细介绍。
参照图5所示的服务器的结构示意图,在本发明实施例中,如图5所示,服务器50可以包括:
数据接收单元51,适于接收所述数据处理设备上传的多个同步视频帧的帧图像作为图像组合;
参数数据计算单元52,适于确定所述图像组合相应的参数数据;
深度数据计算单元53,适于确定所述图像组合中各帧图像的深度数据;
视频数据获取单元54,适于基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,其中,所述多角度自由视角视频数据包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据。
第一数据传输单元55,适于将所述多角度自由视角视频数据插入至播放控制设备的待播放数据流并通过播放终端进行播放。
其中,所述多个同步视频帧可以为所述数据处理设备基于视频帧截取指令,在从现场采集区域不同位置实时同步采集并上传的多路视频数据流中对指定帧时刻的视频帧截取得到,所述多个同步视频帧的拍摄角度不同。
所述服务器可以根据具体情景置于现场非采集区域,云端或者终端接入侧。
在具体实施中,插入播放控制设备的待播放数据流的多角度自由视角视频数据可以保留在播放终端中,以便于用户进行时移观看,其中,时移可以是用户观看时进行的暂停、后退、快进到当前时刻等操作。
在具体实施中,如图5所示,所述视频数据获取单元54可以包括:
数据映射子单元541,适于根据所述预设的虚拟视点路径中各虚拟视点的虚拟参数数据以及所述图像组合相应的参数数据之间的关系,将所述图像组合中预设的帧图像的深度数据分别映射至相应的虚拟视点;
数据重建子单元542,适于根据分别映射至相应的虚拟视点的预设帧图像的像素数据和深度数据,以及预设的虚拟视点路径,进行帧图像重建,获得相应的多角度自由视角视频数据。
在具体实施中,如图5所示,所述服务器50还可以包括:
拼接图像生成单元56,适于基于所述图像组合中预设帧图像的像素数据和深度数据,生成所述图像组合相应的拼接图像,所述拼接图像可以包括第一字段和第二字段,其中,所述第一字段包括所述图像组合中预设帧图像的像素数据,所述第二字段包括所述图像组合中预设帧图像的深度数据;
数据存储单元57,适于存储所述图像组合的拼接图像及所述图像组合相应的参数数据。
在具体实施中,如图5所示,所述服务器50还可以包括:
数据提取单元58,适于基于收到的来自交互终端的图像重建指令,确定交互时刻的交互帧时刻信息,提取对应交互帧时刻的相应图像组合中预设帧图像的拼接图像及相应图像组合相应的参数数据;
第二数据传输单元59,适于将所述数据提取单元58提取的所述拼接图像以及相应的参数数据传输至所述交互终端,使得所述交互终端基于交互操作所确定的虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据及对应的参数数据,将选择的像素数据和深度数据进行组合渲染,重建得到交互帧时刻的虚拟视点位置对应的多角度自由视角视频数据并进行播放。
采用上述方案,可以基于来自交互终端的图像重建指令随时生成待交互的虚拟视点位置对应的多角度自由视角视频数据,可以进一步提升用户互动体验。
本发明实施例还提供了一种数据交互方法和数据处理系统,可以通过从播放控制设备实时获取待播放数据流并进行实时播放展示,待播放数据流中各互动标识与所述视频数据的指定帧时刻关联,然后,可以响应于对一互动标识的触发操作,获取对应于所述互动标识的指定帧时刻的交互数据,由于所述交互数据可以包括多角度自由视角数据,因此可以基于所述交互数据,对所述指定帧时刻进行多角度自由视角展示。
采用本发明实施例中的数据交互方案,在播放过程中,可以根据互动标识的触发操作,获取交互数据,进而进行多角度自由视角展示,以提升用户交互体验。以下参照附图,特别针对数据交互方法和数据处理系统通过具体实施例进行详细说明。
参照图6所示的数据交互方法的流程图,以下通过具体步骤说明本发明实施例所采用的数据交互方法。
S61,从播放控制设备实时获取待播放数据流并进行实时播放展示,所述待播放数据流包括视频数据及互动标识,各互动标识与所述待播放数据流的指定帧时刻关联。
其中,所述指定帧时刻可以以帧为单位,将第N至M帧作为指定帧时刻,N和M为不小于1的整数,且N≤M;或者,所述指定帧时刻也可以以时间为单位,将第X至Y秒作为指定帧时刻,X和Y为正数,且X≤Y。
在具体实施中,所述待播放数据流可以与数个指定帧时刻进行关联,所述播放控制设备可以基于各指定帧时刻的信息,生成各指定帧时刻相应的互动标识,从而在实时播放展示待播放数据流时,可以在指定帧时刻显示相应的互动标识。其中,各互动标识与视频数据可以根据实际情况采用不同的方式进行关联。
在本发明一实施例中,所述待播放数据流可以包括数个与所述视频数据相应的帧时刻,由于各互动标识也有相应的指定帧时刻,因此,可以匹配各互动标识相应的指定帧时刻的信息和所述待播放数据流中的各帧时刻的信息,可以将相同信息的帧时刻与互动标识进行关联,从而在实时播放展示待播放数据流并进行到相应帧时刻的时候,可以显示相应的互动标识。
例如,所述待播放数据流包括N个帧时刻,所述播放控制设备基于M个指定帧时刻的信息,生成相应的M个互动标识。若第i个帧时刻的信息与第j个指定帧时刻的信息相同,则可以将第i个帧时刻与第j个互动标识进行关联,在实时播放展示进行到第i个帧时刻的时候,可以显示第j个互动标识,其中,i为不大于N的自然数,j为不大于M的自然数。
S62,响应于对一互动标识的触发操作,获取对应于所述互动标识的指定帧时刻的交互数据,所述交互数据包括多角度自由视角数据。
在具体实施中,分别对应于各指定帧时刻的各交互数据可以存储于预设的存储设备中,由于互动标识和指定帧时刻有对应关系,因此,通过对交互终端执行触发操作,从而可以触发交互终端展示的互动标识,根据对互动标识的触发操作,可以获得与触发的互动标识相对应的指定帧时刻。由此,可以获取与触发的互动标识相对应的指定帧时刻的交互数据。
例如,预设的存储设备可以存储有M份交互数据,其中,M份交互数据分别对应于M个指定帧时刻,并且,M个指定帧时刻对应于M个互动标识。假设触发的互动标识为Pi,则根据被触发的互动标识Pi可以获得互动标识Pi相对应的指定帧时刻Ti。由此,获取与得互动标识Pi相对应的指定帧时刻Ti的交互数据。其中,i为自然数。
其中,所述触发操作可以是用户输入的触发操作,也可以是交互终端自动生成的触发操作。
并且,预设的存储设备可以置于现场非采集区域,云端或终端接入侧。具体而言,预设的存储设备可以是本发明实施例中的数据处理设备、服务器或交互终端,或者为位于交互终端侧的边缘节点设备,如基站、机顶盒、路由器、家庭数据中心服务器、热点设备等。
S63,基于所述交互数据,进行所述指定帧时刻的多角度自由视角的图像展示。
在具体实施中,可以采用图像重建算法对所述交互数据的多角度自由视角数据进行图像重建,然后进行所述指定帧时刻的多角度自由视角的图像展示。
并且,若所述指定帧时刻为一个帧时刻,则可以展示多角度自由视角的静态图像;若所述指定帧时刻对应多个帧时刻,则可以展示多角度自由视角的动态图像。
采用上述方案,在视频播放的过程中,可以根据对互动标识的触发操作,获取交互数据,进而进行多角度自由视角展示,以提升用户交互体验。
在具体实施中,所述多角度自由视角数据可以基于接收的所述指定帧时刻对应的多个帧图像生成,所述多个帧图像由数据处理设备对采集阵列中多个采集设备同步采集的多路视频数据流在所述指定帧时刻进行截取得到,所述多角度自由视角数据可以包括所述多个帧图像的像素数据、深度数据,以及参数数据,其中每个帧图像的像素数据以及深度数据之间存在关联关系。
其中,帧图像的像素数据可以为YUV数据或RGB数据中任意一种,或者也可以是其它能够对帧图像进行表达的数据。深度数据可以包括与帧图像的像素数据一一对应的深度值,或者,可以是对与帧图像的像素数据一一对应的深度值集合中选取的部分数值。深度数据的具体选取方式根据具体的情景而定。
在具体实施中,可以通过参数矩阵来获得所述多个帧图像相应的参数数据,所述参数矩阵可以包括内参矩阵,外参矩阵、旋转矩阵和平移矩阵等。由此,可以确定空间物体表面指定点的三维几何位置与其在多个帧图像中对应点之间的相互关系。
在本发明的实施例中,可以采用SFM算法,基于参数矩阵,对获取到的多个帧图像进行特征提取、特征匹配和全局优化,获得的参数估计值作为多个帧图像相应的参数数据。特征提取、特征匹配和全局优化过程中所使用的具体算法可以参见前文介绍。
在具体实施中,可以基于所述多个帧图像,确定各帧图像的深度数据。其中,深度数据可以包括与各帧图像的像素对应的深度值。采集点到现场中各个点的距离可以作为上述深度值,深度值可以直接反映待观看区域中可见表面的几何形状。例如,以拍摄坐标系的原点作为光心,深度值可以是现场中各个点沿着拍摄光轴到光心的距离。本领域技术人员可以理解的是,上述距离可以是相对数值,多个帧图像可以采用相同的基准。
在本发明一实施例中,可以采用双目立体视觉的算法,计算各帧图像来的深度数据。除此之外,深度数据还可以通过对帧图像的光度特征、明暗特征等特征进行分析间接估算得到。
在本发明另一实施例中,可以采用MVS算法进行帧图像重建,可以对每个帧图像的像素点都进行匹配,重建每个像素点的三维坐标,获得具有图像一致性的点,然后计算各个帧图像的深度数据。或者,可以对选取的帧图像的像素点进行匹配,重建各选取的帧图像的像素点的三维坐标,获得具有图像一致性的点,然后计算相应帧图像的深度数据。其中,帧图像的像素数据与计算得到的深度数据对应,选取帧图像的方式可以根据具体情景来设定,比如,可以根据需要计算深度数据的帧图像与其他帧图像之间的距离,选择部分帧图像。
在具体实施中,所述数据处理设备可以基于接收到的视频帧截取指令,截取所述多路视频数据流中所述指定帧时刻的帧级同步的视频帧。
在具体实施中,所述视频帧截取指令可以包括用于截取视频帧的帧时刻信息,所述数据处理设备根据所述视频帧截取指令中的帧时刻信息,从多路视频数据流中截取相应帧时刻的视频帧。并且,数据处理设备将所述视频帧截取指令中的帧时刻信息发送至所述播放控制设备,所述播放控制设备根据接收的帧时刻信息可以获得对应的指定帧时刻,并根据接收的帧时刻信息生成相应的互动标识。
在具体实施中,所述采集阵列中多个采集设备根据预设的多角度自由视角范围置于现场采集区域不同位置,所述数据处理设备可以置于现场非采集区域或云端。
在具体实施中,所述多角度自由视角可以是指使得场景能够自由切换的虚拟视点的空间位置以及视角。例如,多角度自由视角可以是6自由度(6DoF)的视角,其中,虚拟视点的空间位置可以表示为(x,y,z),视角可以表示为三个旋转方向(θ,cp,y),共6个自由度方向,作为6自由度(6DoF)的视角。
并且,多角度自由视角范围可以根据应用场景的需要确定。
在具体实施中,所述播放控制设备可以基于来自数据处理设备的截取视频帧的帧时刻的信息,生成与所述待播放数据流中对应时刻的视频帧关联的互动标识。例如,所述数据处理设备接收到视频帧截取指令后,将所述视频帧截取指令中的帧时刻信息发送至所述播放控制设备。然后,所述播放控制设备可以基于各帧时刻信息,生成相应的互动标识。
在具体实施中,根据现场展示的对象,以及展示对象的关联信息等,可以生成相应的交互数据。例如,所述交互数据还可以包括以下至少一种:现场分析数据、采集对象的信息数据、与采集对象关联的装备的信息数据、现场部署的物品的信息数据、现场展示的徽标的信息数据。然后,基于所述交互数据,进行多角度自由视角展示,可以向用户通过多角度自由视角展示更加丰富的交互信息,从而可以进一步增强用户交互体验。
例如,在进行篮球比赛播放时,交互数据除了可以包括多角度自由视角数据外,还可以包括球赛的分析数据、某一球员的信息数据、球员所穿的鞋子的信息数据、篮球的信息数据、现场赞助商的徽标的信息数据等其中一种或多种。
在具体实施中,为了在图像展示结束了可以便捷地返回待播放数据流,继续参照图6,在所述步骤63之后,还可以包括:
S64,在检测到交互结束信号时,切换至从所述播放控制设备实时获取待播放数据流并进行实时播放展示。
例如,在接收到交互结束操作指示时,切换至从所述播放控制设备实时获取的待播放数据流并进行实时播放展示。
又例如,在检测到所述指定帧时刻的多角度自由视角的图像展示至最后一幅图像时,切换至从所述播放控制设备实时获取的待播放数据流并进行实时播放展示。
在一具体实施例中,步骤63所述的基于所述交互数据,进行多角度自由视角图像展示,具体可以包括如下步骤:
根据所述交互操作确定虚拟视点,所述虚拟视点选自多角度自由视角范围,所述多角度自由视角范围为支持对待观看区域进行虚拟视点的切换观看的范围,然后,展示基于所述虚拟视点对所述待观看区域进行观看的图像,所述图像基于所述交互数据以及所述虚拟视点生成。
在具体实施时,可以预设虚拟视点路径,所述虚拟视点路径可以包括数个虚拟视点。由于所述虚拟视点选自多角度自由视角范围,因此,根据交互操作时播放展示的图像视角可以确定相应的第一虚拟视点,然后,可以从所述第一虚拟视点开始按照预设的虚拟视点的顺序,依次展示各虚拟视点相应的图像。
在本发明实施例中,可以采用DIBR算法,根据所述多角度自由视角数据中的参数数据和预设的虚拟视点路径,对触发的互动标识的指定帧时刻对应的像素数据和深度数据进行组合渲染,从而实现基于预设的虚拟视点路径的图像重建,获得相应的多角度自由视角视频数据,进而可以从所述第一虚拟视点开始按照预设的虚拟视点的顺序,依次展示相应的图像。
并且,若所述指定帧时刻对应同一帧时刻,获得的多角度自由视角视频数据可以包括按照帧时刻排序的图像的多角度自由视角空间数据,可以展示多角度自由视角的静态图像;若所述指定帧时刻对应不同的帧时刻,获得的多角度自由视角视频数据可以包括按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据,可以展示多角度自由视角的动态图像,即展示的是多角度自由视角的视频帧的帧图像。
本发明实施例还提供了与上述数据交互方法相应的系统,为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,通过具体实施例进行详细介绍。
参照图7所示的数据处理系统的结构示意图,数据处理系统70可以包括:采集阵列71、数据处理设备72、服务器73、播放控制设备74、以及交互终端75,其中:
所述采集阵列71可以包括多个采集设备,所述多个采集设备根据预设的多角度自由视角范围置于现场采集区域不同位置,适于实时同步采集多路视频数据流,并实时上传视频数据流至所述数据处理设备72;
所述数据处理设备72,对于上传的多路视频数据流,适于根据接收到的视频帧截取指令,在指定帧时刻对所述多路视频数据流进行截取,得到对应所述指定帧时刻的多个帧图像以及对应所述指定帧时刻的帧时刻信息,并将所述指定帧时刻的多个帧图像及对应所述指定帧时刻的帧时刻信息上传至所述服务器73,将所述指定帧时刻的帧时刻信息发送至所述播放控制设备74;
所述服务器73,适于接收所述数据处理设备72上传的所述多个帧图像以及所述帧时刻信息,并基于所述多个帧图像,生成用于进行交互的交互数据,所述交互数据包括多角度自由视角数据,所述交互数据与所述帧时刻信息关联;
所述播放控制设备74,适于确定待播放数据流中与所述数据处理设备72上传的所述帧时刻信息对应的指定帧时刻,生成关联所述指定帧时刻的互动标识,并将包含所述互动标识的待播放数据流传输至所述交互终端75;
所述交互终端75,适于基于接收到的待播放数据流,实时播放展示包含所述互动标识的视频,并基于对所述互动标识的触发操作,获取存储于所述服务器73且对应所述指定帧时刻的交互数据,以进行多角度自由视角图像展示。
需要说明的是,在具体实施中,根据用户需求,所述数据处理设备和所述服务器的位置可以灵活部署。例如,所述数据处理设备可以置于现场非采集区域或云端。又如,所述服务器可以置于现场非采集区域,云端或者终端接入侧,比如,在终端接入侧,基站、机顶盒、路由器、家庭数据中心服务器、热点设备等边缘节点设备均可以作为所述服务器,用以获得多角度自由视角数据。或者,所述数据处理设备和所述服务器也可以集中设置在一起,作为一个服务器集群进行协同工作,实现多角度自由视角数据的快速生成,以实现多角度自由视角视频的低时延播放及实时互动。
采用上述方案,在播放过程中,可以根据互动标识的触发操作,获取交互数据,进而进行多角度自由视角展示,以提升用户交互体验。
在具体实施中,所述多角度自由视角可以是指使得场景能够自由切换的虚拟视点的空间位置以及视角。并且,多角度自由视角范围可以根据应用场景的需要确定。多角度自由视角可以是6自由度(6DoF)的视角。
在具体实施中,采集设备本身可以具备编码和封装的功能,从而可以将从相应角度实时同步采集到的原始视频数据进行编码和封装。并且,采集设备可以具备压缩功能。
在具体实施中,所述服务器73适于基于接收到的对应所述指定帧时刻的多个帧图像生成所述多角度自由视角数据,所述多角度自由视角数据包括所述多个帧图像的像素数据、深度数据,以及参数数据,其中每个帧图像的像素数据以及深度数据之间存在关联关系。
在具体实施中,所述采集阵列71中多个采集设备根据预设的多角度自由视角范围可以置于现场采集区域不同位置,所述数据处理设备72可以置于现场非采集区域或云端,所述服务器73可以置于现场非采集区域、云端或者终端接入侧。
在具体实施中,所述播放控制设备74适于基于数据处理设备72截取得到的视频帧的帧信息时刻,生成与所述待播放数据流中对应视频帧关联的互动标识。
在具体实施中,所述交互终端75还适于在检测到交互结束信号时,切换至从所述播放控制设备74实时获取的待播放数据流并进行实时播放展示。
为使本领域技术人员更好地理解和实现本发明实施例,以下通过具体的应用场景详细说明数据处理系统,如图8所示,为本发明实施例中另一种应用场景中数据处理系统的结构示意图,示出了一场篮球赛播放应用场景,其中现场为左侧的篮球赛场区域,所述数据处理系统80可以包括:由各采集设备组成的采集阵列81、数据处理设备82、云端的服务器集群83、播放控制设备84和交互终端85。
以篮球框作为核心看点,以核心看点为圆心,与核心看点位于同一平面的扇形区域可以作为预设的多角度自由视角范围。相应地,所述采集阵列81中各采集设备可以根据预设的多角度自由视角范围,成扇形置于现场采集区域不同位置,可以分别从相应角度实时同步采集视频数据流。
在具体实施中,采集设备还可以设置在篮球场馆的顶棚区域、篮球架上等。各采集设备可以沿直线、扇形、弧线、圆形或者不规则形状排列分布。具体排列方式可以根据具体的现场环境、采集设备数量、采集设备的特点、成像效果需求等一种或多种因素进行设置。所述采集设备可以是任何具有摄像功能的设备,例如,普通的摄像机、手机、专业摄像机等。
而为了不影响采集设备工作,所述数据处理设备82可以置于现场非采集区域。所述数据处理设备82可以通过无线局域网向所述采集阵列81中各采集设备分别发送拉流指令。所述采集阵列81中各采集设备基于所述数据处理设备82发送的拉流指令,将获得的视频数据流实时传输至所述数据处理设备82。其中,所述采集阵列81中各采集设备可以通过交换机87将获得的视频数据流实时传输至所述数据处理设备82。各采集设备可以将采集到的原始视频数据实时压缩并实时传输至所述数据处理设备,以进一步节约局域网传输资源。
当所述数据处理设备82接收到视频帧截取指令时,从接收到的多路视频数据流中对指定帧时刻的视频帧截取得到多个视频帧对应的帧图像以及对应所述指定帧时刻的帧时刻信息,并将所述指定帧时刻的多个帧图像及对应所述指定帧时刻的帧时刻信息上传至所述云端的服务器集群83,将所述指定帧时刻的帧时刻信息发送至所述播放控制设备84。其中,视频帧截取指令可以为用户手动发出,也可以是数据处理设备自动生成。
服务器可以置于云端,并且为了能够更快速地并行处理数据,可以按照处理数据的不同,由多个不同的服务器或服务器组组成云端的服务器83。
例如所述云端的服务器集群83可以包括:第一云端服务器831、第二云端服务器832、第三云端服务器833和第四云端服务器834。其中,第一云端服务器831可以用于确定所述多个帧图像相应的参数数据;第二云端服务器832可以用于确定所述多个帧图像中各帧图像的深度数据;第三云端服务器833可以基于所述多个帧图像相应的参数数据、所述多个帧图像中预设帧图像的深度数据和像素数据,使用DIBR算法,对预设的虚拟视点路径进行帧图像重建;所述第四云端服务器834可以用于生成多角度自由视角视频。
可以理解的是,所述第一云端服务器831、第二云端服务器832、第三云端服务器833、第四云端服务器834也可以为服务器阵列或服务器子集群组成的服务器组,本发明实施例不做限制。
在具体实施中,所述多角度自由视角视频数据可以包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据。所述交互数据可以包括多角度自由视角数据,所述多角度自由视角数据可以包括多个帧图像的像素数据和深度数据以及参数数据,每个帧图像的像素数据以及深度数据之间存在关联关系。
云端的服务器集群83可以按照所述指定帧时刻信息对交互数据进行存储。
播放控制设备84可以根据数据处理设备上传的帧时刻信息,生成关联所述指定帧时刻的互动标识并将包含所述互动标识的待播放数据流传输至所述交互终端85。
交互终端85可以基于接收到的待播放数据流,实时播放展示视频并在相应视频帧时刻显示互动标识。当一互动标识被触发,交互终端85可以获取存储于所述云端的服务器集群83且对应所述指定帧时刻的交互数据,以进行多角度自由视角图像展示。交互终端85在检测到交互结束信号时,可以切换至从所述播放控制设备84实时获取待播放数据流并进行实时播放展示。
参照图38所示的另一种数据处理系统的结构示意图,数据处理系统380可以包括:采集阵列381、数据处理设备382、播放控制设备383、以及交互终端384;其中:
所述采集阵列381包括多个采集设备,所述多个采集设备根据预设的多角度自由视角范围置于现场采集区域不同位置,适于实时同步采集多路视频数据流,并实时上传视频数据流至所述数据处理设备;
所述数据处理设备382,对于上传的多路视频数据流,适于根据接收到的视频帧截取指令,在指定帧时刻对所述多路视频数据流进行截取,得到对应所述指定帧时刻的多个帧图像以及对应所述指定帧时刻的帧时刻信息,并将所述指定帧时刻的帧时刻信息发送至所述播放控制设备383;
所述播放控制设备383,适于确定待播放数据流中与所述数据处理设备382上传的所述帧时刻信息对应的指定帧时刻,生成关联所述指定帧时刻的互动标识,并将包含所述互动标识的待播放数据流传输至所述交互终端384;
所述交互终端384,适于基于接收到的待播放数据流,实时播放展示包含所述互动标识的视频,并基于对所述互动标识的触发操作,从所述数据处理设备382获取对应于所述互动标识的指定帧时刻的多个帧图像,并基于所述多个帧图像,生成用于进行交互的交互数据,再进行多角度自由视角图像展示,其中,所述交互数据包括多角度自由视角数据。
在具体实施中,根据用户需求,所述数据处理设备可以灵活部署,例如,所述数据处理设备可以置于现场非采集区域或云端。
采用上述数据处理系统,在播放过程中,可以根据互动标识的触发操作,获取交互数据,进而进行多角度自由视角展示,以提升用户交互体验。
本发明实施例还提供了与上述数据交互方法相应的终端,为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,通过具体实施例进行详细介绍。
参照图9示出的交互终端的结构示意图,交互终端90可以包括:
数据流获取单元91,适于从播放控制设备实时获取待播放数据流,所述待播放数据流包括视频数据及互动标识,所述互动标识与所述待播放数据流的指定帧时刻关联;
播放展示单元92,适于实时播放展示所述待播放数据流的视频及互动标识;
交互数据获取单元93,适于响应于对所述互动标识的触发操作,获取对应于所述指定帧时刻的交互数据,所述交互数据包括多角度自由视角数据;
交互展示单元94,适于基于所述交互数据,进行所述指定帧时刻的多角度自由视角的图像展示;
切换单元95,适于在检测到交互结束信号时,触发切换至由所述数据流获取单元91从所述播放控制设备实时获取的待播放数据流并由所述播放展示单元92进行实时播放展示。
其中,所述交互数据可以由服务器生成并传输给交互终端,也可以由交互终端生成。
交互终端在播放视频的过程中,可以从播放控制设备实时获取待播放数据流,在相应的帧时刻的时候,可以显示相应的互动标识。在具体实施中,如图4所示,为本发明实施例中一种交互终端的交互界面示意图。
交互终端40从播放控制设备实时获取待播放数据流,在实时播放展示进行到第1个帧时刻T1的时候,可以在进度条41上显示第一个互动标识42,在实时播放展示进行到第二个帧时刻T2的时候,可以在进度条上显示第二个互动标识43。其中,进度条黑色部分为已播放部分,白色为未播放部分。
所述触发操作可以是用户输入的触发操作,也可以是交互终端自动生成的触发操作,例如,交互终端在检测到存在多角度自由视点数据帧的标识时可以自动发起触发操作。在用户手动触发时,可以是交互终端显示交互提示信息后用户选择触发交互的时刻信息,也可以是交互终端接收到用户操作触发交互的历史时刻信息,所述历史时刻信息可以为位于当前播放时刻之前的时刻信息。
结合图4、图7和图9,当交互终端的系统读取到进度条41上相应的互动标识43,可以显示交互提示信息,当用户未选择触发时,交互终端40可以继续读取后续视频数据,进度条41的已播放部分继续前进。当用户选择触发时,交互终端40接收到反馈后生成相应互动标识的指定帧时刻的图像重建指令,并发送至所述服务器73。
例如,当用户选择触发当前的互动标识43时,交互终端40接收到反馈后生成互动标识43相应指定帧时刻T2的图像重建指令,并发送至所述服务器73。所述服务器根据图像重建指令可以发送指定帧时刻T2相应的交互数据。
用户也可以在观看时选择触发历史互动标识,例如触发进度条上已播放部分41a展示的互动标识42,交互终端40接收到反馈后生成互动标识42相应指定帧时刻T1的图像重建指令,并发送至所述服务器73。所述服务器根据图像重建指令可以发送指定帧时刻T1相应的交互数据。交互终端40可以采用图像重建算法对所述交互数据的多角度自由视角数据进行图像处理,然后进行所述指定帧时刻的多角度自由视角的图像展示。若所述指定帧时刻为一个帧时刻,则展示的是多角度自由视角的静态图像;若所述指定帧时刻对应多个帧时刻,则展示的是多角度自由视角的动态图像。
结合图4、图38和图9,当交互终端的系统读取到进度条41上相应的互动标识43,可以显示交互提示信息,当用户未选择触发时,交互终端40可以继续读取后续视频数据,进度条41的已播放部分继续前进。当用户选择触发时,交互终端40接收到反馈后生成相应互动标识的指定帧时刻的图像重建指令,并发送至所述数据处理设备382。
例如,当用户选择触发当前的互动标识43时,交互终端40接收到反馈后生成互动标识43相应指定帧时刻T2的图像重建指令,并发送至所述数据处理设备。所述数据处理设备382根据图像重建指令可以发送指定帧时刻T2相应的多个帧图像。
用户也可以在观看时选择触发历史互动标识,例如触发进度条上已播放部分41a展示的互动标识42,交互终端40接收到反馈后生成互动标识42相应指定帧时刻T1的图像重建指令,并发送至所述数据处理设备。所述数据处理设备根据图像重建指令可以发送指定帧时刻T1相应的多个帧图像。
交互终端40可以基于所述多个帧图像,生成用于进行交互的交互数据,并可以采用图像重建算法对所述交互数据的多角度自由视角数据进行图像处理,然后进行所述指定帧时刻的多角度自由视角的图像展示。若所述指定帧时刻为一个帧时刻,则展示的是多角度自由视角的静态图像;若所述指定帧时刻对应多个帧时刻,则展示的是多角度自由视角的动态图像。
在具体实施中,本发明实施例的交互终端可以是具有触屏功能的电子设备、头戴式虚拟现实(Virtual Reality,VR)终端、与显示器连接的边缘节点设备、具有显示功能的IoT(The Internet of Things,物联网)设备。
如图40所示,为本发明实施例中另一种交互终端的交互界面示意图,交互终端为具有触屏功能的电子设备400,当读取到进度条401上相应的互动标识402时,电子设备400的界面可以显示交互提示信息框403。用户可以根据交互提示信息框403的内容进行选择,当用户做出选择“是”的触发操作时,电子设备400接收到反馈后可以生成互动标识402相对应的交互帧时刻的图像重建指令,当用户做出选择“否”的不触发操作时,电子设备400可以继续读取后续视频数据。
如图41所示,为本发明实施例中另一种交互终端的交互界面示意图,交互终端为头戴式VR终端410,当读取到进度条411上相应的互动标识412时,头戴式VR终端410的界面可以显示交互提示信息框413。用户可以根据交互提示信息框413的内容进行选择,当用户做出选择“是”的触发操作(例如点头)时,头戴式VR终端410接收到反馈后可以生成互动标识412相对应的交互帧时刻的图像重建指令,当用户做出选择“否”的不触发操作(例如摇头)时,头戴式VR终端410可以继续读取后续视频数据。
如图42所示,为本发明实施例中另一种交互终端的交互界面示意图,交互终端为与显示器420连接的边缘节点设备421,当边缘节点设备421读取到进度条422上相应的互动标识423时,显示器420可以显示交互提示信息框424。用户可以根据交互提示信息框424的内容进行选择,当用户做出选择“是”的触发操作时,边缘节点设备421接收到反馈后可以生成互动标识423相对应的交互帧时刻的图像重建指令,当用户做出选择“否”的不触发操作时,边缘节点设备421可以继续读取后续视频数据。
在具体实施中,交互终端可以与上述的数据处理设备、服务器中至少一种建立通信连接,可以采用有线连接或无线连接。
如图43所示,为本发明实施例中一种交互终端的连接示意图。边缘节点设备430通过物联网与交互设备431、432和433建立无线连接。
在具体实施中,交互终端在触发交互标识后,可以进行触发的交互标识对应的指定帧时刻的多角度自由视角的图像展示,并基于交互操作确定虚拟视点位置信息,如图44所示,为本发明实施例中一种交互终端的交互操作示意图,用户可以在交互操作界面上水平操作或垂直操作,并且操作轨迹可以是直线或曲线。
在具体实施中,如图45所示,为本发明实施例中另一种交互终端的交互界面示意图。当所述用户点击互动标识后,交互终端获取所述互动标识的指定帧时刻的交互数据。
若用户并未采取新的操作,则触发操作即为交互操作,可以根据交互操作时播放展示的图像视角确定相应的第一虚拟视点。若用户采取新的操作,则新的操作即为交互操作,可以根据交互操作时播放展示的图像视角确定相应的第一虚拟视点。
然后,可以从所述第一虚拟视点开始按照预设的虚拟视点的顺序,依次展示各虚拟视点相应的图像。若所述指定帧时刻对应同一帧时刻,获得的多角度自由视角视频数据可以包括按照帧时刻排序的图像的多角度自由视角空间数据,可以展示多角度自由视角的静态图像;若所述指定帧时刻对应不同的帧时刻,获得的多角度自由视角视频数据可以包括按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据,可以展示多角度自由视角的动态图像,即展示的是多角度自由视角的视频帧的帧图像。
在本发明一实施例中,参考图45及46。所述交互终端获得的多角度自由视角视频数据可以包括按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据,用户向右水平滑动产生交互操作,确定相应的第一虚拟视点,并且由于不同的虚拟视点可以对应不同的多角度自由视角空间数据和多角度自由视角时间数据,如图46所示,交互界面中展示的帧图像随着交互操作在时间和空间上发生了变化,帧图像展示的内容从图45的运动员奔向终点线变化为图46的运动员即将越过终点线,并且以运动员作为目标对象而言,帧图像展示的视角从左视图变成了正视图。
同理可得图45及47,帧图像展示的内容从图45的运动员奔向终点线变化为图47的运动员已经越过终点线,并且以运动员作为目标对象而言,帧图像展示的视角从左视图变成了右视图。
同理可得图45及48,用户向上垂直滑动产生交互操作,帧图像展示的内容从图45的运动员奔向终点线变化为图48的运动员已经越过终点线,并且以运动员作为目标对象而言,帧图像展示的视角从左视图变成了俯视图。
可以理解的是,根据用户的操作可以获得不同的交互操作,并根据交互操作时播放展示的图像视角可以确定相应的第一虚拟视点;根据获得的多角度自由视角视频数据,可以展示多角度自由视角的静态图像或动态图像,本发明实施例不做限制。
在具体实施中,所述交互数据还可以包括以下至少一种:现场分析数据、采集对象的信息数据、与采集对象关联的装备的信息数据、现场部署的物品的信息数据、现场展示的徽标的信息数据。
在本发明一实施例中,如图10所示的本发明实施例中另一种交互终端的交互界面示意图。交互终端100在触发交互标识后,可以进行触发的交互标识对应的指定帧时刻的多角度自由视角的图像展示,并且,可以在图像(未示出)上叠加现场分析数据,如图10中的现场分析数据101所示。
在本发明一实施例中,如图11所示的本发明实施例中另一种所述交互终端的交互界面示意图。交互终端110在用户触发交互标识后,可以进行触发的交互标识对应的指定帧时刻的多角度自由视角的图像展示,并且,可以在图像(未示出)上叠加采集对象的信息数据,如图11中的采集对象的信息数据111所示。
在本发明一实施例中,如图12所示的本发明实施例中另一种所述交互终端的交互界面示意图。交互终端120在用户触发交互标识后,可以进行触发的交互标识对应的指定帧时刻的多角度自由视角的图像展示,并且,可以在图像(未示出)上叠加采集对象的信息数据,如图12中的采集对象的信息数据121-123所示。
在本发明一实施例中,如图13所示的本发明实施例中另一种所述终端的交互界面示意图。交互终端130在用户触发交互标识后,可以进行触发的交互标识对应的指定帧时刻的多角度自由视角的图像展示,并且,可以在图像(未示出)上叠加现场部署的物品的信息数据,如图13中的文件包的信息数据131所示。
在本发明一实施例中,如图14所示的本发明实施例中另一种所述终端的交互界面示意图。交互终端140在触发交互标识后,可以进行触发的交互标识对应的指定帧时刻的多角度自由视角的图像展示,并且,可以在图像(未示出)上叠加现场展示的徽标的信息数据,如图14中的徽标信息数据141所示。
由此,用户可以通过交互数据获取更多关联的交互信息,更加深入、全面、专业地了解所观看的内容,从而可以进一步增强用户交互体验。
参照图39示出的另一种交互终端的结构示意图,所述交互终端390可以包括:处理器391,网络组件392,存储器393和显示部件394;其中:
所述处理器391,适于通过网络组件392实时获取待播放数据流,以及响应于对一互动标识的触发操作,获取对应于所述互动标识的指定帧时刻的交互数据,其中,所述待播放数据流包括视频数据及互动标识,所述互动标识与所述待播放数据流的指定帧时刻关联,所述交互数据包括多角度自由视角数据;
所述存储器393,适于存储实时获取的待播放数据流;
所述显示部件394,适于基于实时获取的待播放数据流,实时播放展示所述待播放数据流的视频及互动标识,以及基于所述交互数据,进行所述指定帧时刻的多角度自由视角的图像展示。
其中,交互终端390可以从存储交互数据的服务器处获取得到所述指定帧时刻的交互数据,也可以从存储帧图像的数据处理设备处获取指定帧时刻相应的多个帧图像,然后生成相应的交互数据。
为使本领域技术人员更好地理解和实现本发明实施例,以下对多角度自由视角视频图像在现场侧的处理方案作进一步详细的描述。
参照图15所示的数据处理方法的流程图,在本发明实施例中,具体可以包括如下步骤:
S151,在确定采集阵列中各采集设备预传输的压缩视频数据流的码率之和不大于预设的带宽阈值时,分别向所述采集阵列中各采集设备发送拉流指令,其中,所述采集阵列中各采集设备根据预设的多角度自由视角范围置于现场采集区域不同位置。
所述多角度自由视角可以是指使得场景能够自由切换的虚拟视点的空间位置以及视角。并且,多角度自由视角范围可以根据应用场景的需要确定。
在具体实施中,预设的带宽阈值可以根据采集阵列中各采集设备所在传输网络的传输能力决定。例如,传输网络的上行带宽为1000Mbps,则预设的带宽值可以为1000Mbps。
S152,接收所述采集阵列中各采集设备基于所述拉流指令实时传输的压缩视频数据流,所述压缩视频数据流为所述采集阵列中各采集设备分别从相应角度实时同步采集和数据压缩获得。
在具体实施中,采集设备本身可以具备编码和封装的功能,从而可以将从相应角度实时同步采集到的原始视频数据进行编码和封装,其中,采集设备采用的封装格式可以是AVI、QuickTime File Format、MPEG、WMV、Real Video、Flash Video、Matroska等格式中的任一种,或者也可以是其他封装格式,采集设备采用的编码格式可以是H.261、H.263、H.264、H.265、MPEG、AVS等编码格式,或者也可以是其它编码格式。并且,采集设备可以具备压缩功能,压缩率越高,在压缩前数据量相同的情况下可以使得压缩后的数据量更小,可以缓解实时同步传输的带宽压力,因此,采集设备可以采用预测编码、变换编码和熵编码等技术提高视频的压缩率。
采用上述数据处理方法,在拉流前确定了传输带宽是否匹配,可以避免拉流过程中数据传输拥堵,使得各采集设备采集和数据压缩得到的数据能够实时同步传输,加快多角度自由视角视频数据的处理速度,在带宽资源及数据处理资源有限的情况下实现多角度自由视角视频的低时延播放,降低实施成本。
在具体实施中,可以通过获取各采集设备的参数的数值,进行计算得出采集阵列中各采集设备预传输的压缩视频数据流的码率之和不大于预设的带宽阈值。例如,采集阵列中可以包含40个采集设备,各采集设备的压缩视频数据流的码率均为15Mbps,则采集阵列整体的码率为15*40=600Mbps,若预设的带宽阈值为1000Mbps,则确定采集阵列中各采集设备预传输的压缩视频数据流的码率之和不大于预设的带宽阈值。然后,可以根据采集阵列中40个采集设备的IP地址,分别向各采集设备发送拉流指令。
在具体实施中,为了确保采集阵列中各采集设备的参数的数值统一,使得各采集设备能够实时同步采集和数据压缩,在分别向所述采集阵列中各采集设备发送拉流指令之前,可以设置所述采集阵列中各采集设备的参数的数值。其中,所述采集设备的参数可以包括:采集参数和压缩参数,且所述采集阵列中各采集设备按照设置的所述各采集设备的参数的数值,从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于预设的带宽阈值。
由于采集参数和压缩参数相辅相成,在压缩参数的数值不变的情况下,可以通过设置采集参数的数值来减小原始视频数据的数据量大小,使得数据压缩处理的时间缩短;在采集参数的数值不变的情况下,设置压缩参数的数值可以相应减小压缩后的数据量,使得数据传输的时间减短。又如,设置较高的压缩率可以节省传输带宽,设置较低的采样率也可以节省传输带宽。因此,可以根据实际情况,设置采集参数和/或压缩参数。
由此,在开始拉流之前,可以对采集阵列中各采集设备的参数的数值进行设置,确保采集阵列中各采集设备的参数的数值统一,各采集设备可以从相应角度实时同步采集和数据压缩,并且获得的压缩视频数据流的码率之和不大于预设的带宽阈值,从而可以避免网络拥塞,在带宽资源有限的情况下也可以实现多角度自由视角视频的低时延播放。
在具体实施例中,采集参数可以包括焦距参数,曝光参数,分辨率参数、编码码率参数和编码格式参数等,压缩参数可以包括压缩率参数,压缩格式参数等,通过设置不同的参数的数值,获得最适合各采集设备所在传输网络的数值。
为了简化设置流程,节约设置时间,在设置所述采集阵列中各采集设备的参数的数值之前,可以先确定所述采集阵列中各采集设备按照已设置的参数的数值进行采集和数据压缩获得的压缩视频数据流的码率之和是否大于预设的带宽阈值,当获得的压缩视频数据流的码率之和大于预设的带宽阈值时,在分别向所述采集阵列中各采集设备发送拉流指令之前,可以设置所述采集阵列中各采集设备的参数的数值。可以理解的是,在具体实施中,也可以根据需要展示的多角度自由视角图像的分辨率等成像质量要求设置所述采集参数的数值和压缩参数的数值。
在具体实施中,各采集设备获得的压缩视频数据流从传输到写入的过程是连续发生的,因此,在分别向所述采集阵列中各采集设备发送拉流指令之前,还可以确定所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和是否大于预设的写入速度阈值,并在所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和大于预设的写入速度阈值时,可以设置所述采集阵列中各采集设备的参数的数值,使得所述采集阵列中各采集设备按照设置的所述各采集设备的参数的数值,从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于所述预设的写入速度阈值。
在具体实施中,预设的写入速度阈值可以根据存储介质的数据存储写入速度决定。例如,数据处理设备的固态硬盘(Solid State Disk或Solid State Drive,SSD)的数据存储写入速度上限为100Mbps,则预设的写入速度阈值可以为100Mbps。
采用上述方案,在开始拉流之前,可以确保各采集设备从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于所述预设的写入速度阈值,从而可以避免数据写入拥塞,确保压缩视频数据流在采集、传输和写入的过程中链路畅通,使得各采集设备上传的压缩视频流可以得到实时的处理,进而实现多角度自由视角视频的播放。
在具体实施中,可以对各采集设备获得的压缩视频数据流进行存储。当接收到视频帧截取指令时,可以根据接收到的视频帧截取指令,截取各压缩视频数据流中帧级同步的视频帧,将截取得到的视频帧同步上传至所述指定目标端。
其中,所述指定目标端可以是预先设置的目标端,也可以是视频帧截取指令指定的目标端。并且,可以先将截取得到的视频帧进行封装,并通过网络传输协议上传至所述指定目标端,再进行解析,获得相应的压缩视频数据流中帧级同步的视频帧。
由此,将压缩视频数据流截取的视频帧的后续处理交由所述指定目标端进行,可以节约网络传输资源,降低现场部署大量服务器资源部署的压力和难度,也可以极大地降低数据处理负荷,缩短多角度自由视角视频帧的传输时延。
在具体实施中,为了确保截取各压缩视频数据流中帧级同步的视频帧,如图16所示,可以包括以下步骤:
S161,确定实时接收的所述采集阵列中各采集设备的压缩视频数据流中其中一路压缩视频数据流作为基准数据流;
S162,基于接收到的视频帧截取指令,确定所述基准数据流中的待截取的视频帧,并选取与所述基准数据流中的待截取的视频帧同步的其余各压缩视频数据流中的视频帧,作为其余各压缩视频数据流的待截取的视频帧;
S163,截取各压缩视频数据流中待截取的视频帧。
为使本领域技术人员更好地理解和实现本发明实施例,以下通过一具体的应用场景详细说明如何确定待各压缩视频数据流中待截取的视频帧。
在本发明一实施例中,采集阵列中可以包含40个采集设备,因此,可以实时接收40路压缩视频数据流,假设在实时接收的所述采集阵列中各采集设备的压缩视频数据流中,确定采集设备A1’对应的压缩视频数据流A1作为基准数据流,然后,基于接收到的视频帧截取指令中指示截取的视频帧中对象的特征信息X,确定所述基准数据流中与所述对象的特征信息X一致的视频帧a1作为待截取的视频帧,然后根据所述基准数据流中的待截取的视频帧a1中对象的特征信息x1,选取其余各压缩视频数据流A2-A40中与对象的特征信息x1一致的视频帧a2-a40,作为其余各压缩视频数据流的待截取的视频帧。
其中,对象的特征信息可以包括形状特征信息、颜色特征信息和位置特征信息等其中至少一种。所述视频帧截取指令中指示截取的视频帧中对象的特征信息X,与所述基准数据流中的待截取的视频帧a1中对象的特征信息x1可以是对相同的对象的特征信息的同一表示方式,例如,对象的特征信息X和x1均是二维特征信息;对象的特征信息X和对象的特征信息x1也可以是对相同的对象的特征信息的不同表示方式,例如,对象的特征信息X可以是二维特征信息,而对象的特征信息x1可以是三维特征信息。并且,可以预设一个相似阈值,当满足相似阈值时,可以认为对象的特征信息X与x1一致,或者对象的特征信息x1与其余各压缩视频数据流A2-A40中对象的特征信息x2-x40一致。
对象的特征信息的具体表示方式以及相似阈值可以根据预设的多角度自由视角范围和现场的场景决定,本发明实施例不做任何限定。
在本发明另一实施例中,采集阵列中可以包含40个采集设备,因此,可以实时接收40路压缩视频数据流,假设在实时接收的所述采集阵列中各采集设备的压缩视频数据流中,确定采集设备B1’对应的压缩视频数据流B1作为基准数据流,然后,基于接收到的视频帧截取指令中指示截取的视频帧的时间戳信息Y,确定所述基准数据流中与所述时间戳信息Y对应的视频帧b1作为待截取的视频帧,然后根据所述基准数据流中的待截取的视频帧b1中的时间戳信息y1,选取其余各压缩视频数据流B2-B40中与时间戳信息y1一致的视频帧b2-b40,作为其余各压缩视频数据流的待截取的视频帧。
其中,所述视频帧截取指令中指示截取的视频帧的时间戳信息Y,与所述基准数据流中的待截取的视频帧b1中的时间戳信息y1可以有一定的误差,例如,所述基准数据流中视频帧对应的时间戳信息均与时间戳信息Y不一致,存在0.1ms的误差,则可以预设一个误差范围,例如,误差范围为±1ms,则0.1ms的误差在误差范围内,因此,可以选取与时间戳信息Y相差0.1ms的时间戳信息y1对应的视频帧b1作为基准数据流中的待截取的视频帧。具体的误差范围以及基准数据流中的时间戳信息y1的选取规则可以根据现场的采集设备和传输网络决定,本实施例不做限定。
可以理解的是,上述实施例中确定待各压缩视频数据流中待截取的视频帧的方法可以单独使用,也可以同时使用,本发明实施例不做限定。
利用上述数据处理方法,使得数据处理设备能够顺利、流畅地拉取各采集设备采集和数据压缩到的数据。
下面将结合本说明书实施例中的附图,对本说明书实施例中采集阵列进行数据处理的技术方案进行清楚、完整地描述。
参照图17所示的数据处理方法的流程图,在本发明实施例中,具体可以包括如下步骤:
S171,采集阵列中根据预设的多角度自由视角范围置于现场采集区域不同位置的各采集设备分别从相应角度实时同步采集原始视频数据,并分别对采集到的原始视频数据进行实时数据压缩,获得相应的压缩视频数据流。
S172,与所述采集阵列链路连接的数据处理设备在确定所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和不大于预设的带宽阈值时,分别向所述采集阵列中各采集设备发送拉流指令。
在具体实施中,预设的带宽阈值可以根据采集阵列中各采集设备所在传输网络的传输能力决定,例如,传输网络的上行带宽为1000Mbps,则预设的带宽值可以为1000Mbps。
S173,所述采集阵列中各采集设备基于所述拉流指令,将获得的压缩视频数据流实时传输至所述数据处理设备。
在具体实施中,所述数据处理设备可以根据实际情景设置。例如,当现场有适合空间时,数据处理设备可以置于现场非采集区域,作为现场服务器;当现场无适合空间时,所述数据处理设备可以置于云端,作为云端服务器。
采用上述方案,与所述采集阵列链路连接的数据处理设备在确定所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和不大于预设的带宽阈值时,分别向所述采集阵列中各采集设备发送拉流指令,使得各采集设备采集和数据压缩得到的数据能够实时同步传输,从而可以通过所在传输网络进行实时拉流,并且可以避免拉流过程中数据传输拥堵;然后,采集阵列中各采集设备基于所述拉流指令,将获得的压缩视频数据流实时传输至所述数据处理设备,由于各采集设备传输的数据经过压缩,因而可以缓解实时同步传输的带宽压力,加快了多角度自由视角视频数据的处理速度。
由此,可以避免在现场布置大量服务器进行数据处理,也无需通过SDI采集卡汇总采集的原始数据,再通过现场机房中的计算服务器对原始数据进行处理,可以免于采用昂贵的SDI视频传输线缆和SDI接口,而是通过普通传输网络进行数据传输,在带宽资源及数据处理资源有限的情况下可以实现多角度自由视角视频的低时延播放,降低实施成本。
在具体实施中,为了简化设置流程,节约设置时间,在设置所述采集阵列中各采集设备的参数的数值之前,数据处理设备可以先确定所述采集阵列中各采集设备按照已设置的参数的数值进行采集和数据压缩获得的压缩视频数据流的码率之和是否大于预设的带宽阈值,当获得的压缩视频数据流的码率之和大于预设的带宽阈值时,数据处理设备可以设置所述采集阵列中各采集设备的参数的数值,再分别向所述采集阵列中各采集设备发送拉流指令。
在具体实施中,各采集设备获得的压缩视频数据流从传输到写入的过程是连续发生的,还需要确保数据处理设备写入各采集设备获得的压缩视频数据流时畅通,因此,在分别向所述采集阵列中各采集设备发送拉流指令之前,数据处理设备还可以确定所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和是否大于预设的写入速度阈值,并在所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和大于预设的写入速度阈值时,数据处理设备可以设置所述采集阵列中各采集设备的参数的数值,使得所述采集阵列中各采集设备按照设置的所述各采集设备的参数的数值,从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于所述预设的写入速度阈值。
在具体实施中,预设的写入速度阈值可以根据数据处理设备的数据存储写入速度决定。
在具体实施中,所述采集阵列中各采集设备和所述数据处理设备之间,可以通过以下至少一种方式进行数据传输:
1、通过交换机进行数据传输;
通过交换机将所述采集阵列中各采集设备与数据处理设备进行连接,所述交换机可以将更多的采集设备的压缩视频数据流进行汇总统一传输给数据处理设备,可以减少数据处理设备支持的端口数量。例如,交换机支持40个输入,因此数据处理设备通过所述交换机,则最多可以同时接收40台采集设备组成的采集阵列的视频流,进而可以减少数据处理设备的数量。
2、通过局域网进行数据传输。
通过局域网将所述采集阵列中各采集设备与数据处理设备进行连接,所述局域网可以实时将采集设备的压缩视频数据流传输给数据处理设备,减少数据处理设备支持的端口数量,进而可以减少数据处理设备的数量。
在具体实施中,所述数据处理设备可以对各采集设备获得的压缩视频数据流进行存储(可以是缓存),并在接收到的视频帧截取指令时,所述数据处理设备可以根据接收到的视频帧截取指令截取各压缩视频数据流中帧级同步的视频帧,将截取得到的视频帧同步上传至所述指定目标端。
其中,所述数据处理设备可以预先通过端口或IP地址与一目标端建立连接,也可以将截取得到的视频帧同步上传至所述视频帧截取指令指定的端口或IP地址。并且,所述数据处理设备可以先将截取得到的视频帧进行封装,并通过网络传输协议上传至所述指定目标端,再进行解析,获得相应的压缩视频数据流中帧级同步的视频帧。
采用上述方案,可以将采集阵列中各采集设备实时同步采集和数据压缩获得的压缩视频数据流统一传输至数据处理设备,所述数据处理设备在接收到的视频帧截取指令后,经过打点截帧的初步处理,可以将截取到的各压缩视频数据流中帧级同步的视频帧同步上传至所述指定目标端,将压缩视频数据流截取的视频帧的后续处理交由所述指定目标端,从而可以节约网络传输资源,降低现场部署的压力和难度,也可以极大地降低数据处理负荷,缩短多角度自由视角视频帧的传输时延。
在具体实施中,为了截取各压缩视频数据流中帧级同步的视频帧,所述数据处理设备可以先确定实时接收的所述采集阵列中各采集设备的压缩视频数据流中其中一路压缩视频数据流作为基准数据流,然后,所述数据处理设备可以基于接收到的视频帧截取指令,确定所述基准数据流中的待截取的视频帧,并选取与所述基准数据流中的待截取的视频帧同步的其余各压缩视频数据流中的视频帧,作为其余各压缩视频数据流的待截取的视频帧,最后,所述数据处理设备截取各压缩视频数据流中待截取的视频帧。具体截帧方法可以参见前述实施例的示例,此处不再赘述。
本发明实施例还提供了与上述实施例中数据处理方法相应的数据处理设备,为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,通过具体实施例进行详细介绍。
参照图18所示的数据处理设备的结构示意图,在本发明实施例中,如图18所示,数据处理设备180可以包括:
第一传输匹配单元181,适于确定采集阵列中各采集设备预传输的压缩视频数据流的码率之和是否不大于预设的带宽阈值,其中,所述采集阵列中各采集设备根据预设的多角度自由视角范围置于现场采集区域不同位置。
指令发送单元182,适于在确定所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和不大于预设的带宽阈值时,分别向所述采集阵列中各采集设备发送拉流指令。
数据流接收单元183,适于接收所述采集阵列中各采集设备基于所述拉流指令实时传输的压缩视频数据流,所述压缩视频数据流为所述采集阵列中各采集设备分别从相应角度实时同步采集和数据压缩获得。
采用上述数据处理设备,向所述采集阵列中各采集设备发送拉流指令之前,确定了传输带宽是否匹配,可以避免拉流过程中数据传输拥堵,使得各采集设备采集和数据压缩得到的数据能够实时同步传输,加快多角度自由视角视频数据的处理速度,在带宽资源及数据处理资源有限的情况下实现多角度自由视角视频,降低实施成本。
在本发明一实施例中,如图18所示,所述数据处理设备180还可以包括:
第一参数设置单元184,适于在分别向所述采集阵列中各采集设备发送拉流指令之前,设置所述采集阵列中各采集设备的参数的数值;
其中,所述采集设备的参数可以包括:采集参数和压缩参数,且所述采集阵列中各采集设备按照设置的所述各采集设备的参数的数值,从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于预设的带宽阈值。
在本发明一实施例中,为了简化设置流程,节约设置时间,如图18所示,所述数据处理设备180还可以包括:
第二传输匹配单元185,适于在设置所述采集阵列中各采集设备的参数的数值之前,确定所述采集阵列中各采集设备按照已设置的参数的数值进行采集和数据压缩获得的压缩视频数据流的码率之和是否不大于预设的带宽阈值。
在本发明一实施例中,如图18所示,所述数据处理设备180还可以包括:
写入匹配单元186,适于确定所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和是否大于预设的写入速度阈值;
第二参数设置单元187,适于在所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和大于预设的写入速度阈值时,设置所述采集阵列中各采集设备的参数的数值,使得所述采集阵列中各采集设备按照设置的所述各采集设备的参数的数值,从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于所述预设的写入速度阈值。
因此,在开始拉流之前,可以确保各采集设备从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于所述预设的写入速度阈值,从而可以避免数据写入拥塞,确保压缩视频数据流在采集、传输和写入的过程中链路畅通,使得各采集设备上传的压缩视频流可以得到实时的处理,进而实现多角度自由视角视频的播放。
在本发明一实施例中,如图18所示,所述数据处理设备180还可以包括:
截帧处理单元188,适于根据接收到的视频帧截取指令,截取各压缩视频数据流中帧级同步的视频帧;
上传单元189,适于将截取得到的视频帧同步上传至所述指定目标端。
其中,所述指定目标端可以是预先设置的目标端,也可以是视频帧截取指令指定的目标端。
由此,将压缩视频数据流截取的视频帧的后续处理交由所述指定目标端进行,从而可以节约网络传输资源,降低现场部署的压力和难度,也可以极大地降低数据处理负荷,缩短多角度自由视角视频帧的传输时延。
在本发明一实施例中,如图18所示,所述截帧处理单元188,可以包括:
基准数据流选取子单元1881,适于确定实时接收的所述采集阵列中各采集设备的压缩视频数据流中其中一路压缩视频数据流作为基准数据流;
视频帧选取子单元1882,适于基于接收到的视频帧截取指令,确定所述基准数据流中的待截取的视频帧,并选取与所述基准数据流中的待截取的视频帧同步的其余各压缩视频数据流中的视频帧,作为其余各压缩视频数据流的待截取的视频帧;
视频帧截取子单元1883,适于截取各压缩视频数据流中待截取的视频帧。
在本发明一实施例中,如图18所示,所述视频帧选取子单元1882,可以包括以下至少一种:
第一视频帧选取模块18821,适于根据所述基准数据流中的待截取的视频帧中对象的特征信息,选取其余各压缩视频数据流中与所述对象的特征信息一致的视频帧,作为其余各压缩视频数据流的待截取的视频帧;
第二视频帧选取模块18822,适于根据所述基准数据流中的待截取的视频帧的时间戳信息,选取其余各压缩视频数据流中与所述时间戳信息一致的视频帧,作为其余各压缩视频数据流的待截取的视频帧。
本发明实施例还提供了与上述数据处理方法相应的数据处理系统,采用上述数据处理设备实现实时接收多路压缩视频数据流,为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,通过具体实施例进行详细介绍。
参照图19所示的数据处理系统的结构示意图,在本发明实施例中,数据处理系统190可以包括:采集阵列191和数据处理设备192,所述采集阵列191包括根据预设的多角度自由视角范围置于现场采集区域不同位置的多个采集设备,其中:
所述采集阵列191中各采集设备,适于分别从相应角度实时同步采集原始视频数据,并分别对采集到的原始图像数据进行实时数据压缩,获得从相应角度实时同步采集的压缩视频数据流,且基于所述数据处理设备192发送的拉流指令,将获得的压缩视频数据流实时传输至所述数据处理设备192;
所述数据处理设备192,适于在确定所述采集阵列中各采集设备预传输的压缩视频数据流的码率之和不大于预设的带宽阈值时,分别向所述采集阵列191中各采集设备发送拉流指令,并接收所述采集阵列191中各采集设备实时传输的压缩视频数据流。
采用上述方案,可以避免在现场布置大量服务器进行数据处理,也无需通过SDI采集卡汇总采集的原始数据,再通过现场机房中的计算服务器对原始数据进行处理,可以免于采用昂贵的SDI视频传输线缆和SDI接口,而是通过普通传输网络进行数据传输和拉流,在带宽资源及数据处理资源有限的情况下实现多角度自由视角视频的低时延播放,降低实施成本。
在本发明一实施例中,所述数据处理设备192还适于在分别向所述采集阵列191中各采集设备发送拉流指令之前,设置所述采集阵列中各采集设备的参数的数值;
其中,所述采集设备的参数包括:采集参数和压缩参数,且所述采集阵列中各采集设备按照设置的所述各采集设备的参数的数值,从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于预设的带宽阈值。
由此,在开始拉流之前,数据处理设备可以对采集阵列中各采集设备的参数的数值进行设置,确保采集阵列中各采集设备的参数的数值统一,各采集设备可以从相应角度实时同步采集和数据压缩,并且获得的压缩视频数据流的码率之和不大于预设的带宽阈值,从而可以避免网络拥塞,在带宽资源有限的情况下也可以实现多角度自由视角视频的低时延播放。
在本发明一实施例中,所述数据处理设备192在分别向所述采集阵列191中各采集设备发送拉流指令之前,确定所述采集阵列191中各采集设备预传输的压缩视频数据流的码率之和是否大于预设的写入速度阈值,并在所述采集阵列191中各采集设备预传输的压缩视频数据流的码率之和大于预设的写入速度阈值时,设置所述采集阵列191中各采集设备的参数的数值,使得所述采集阵列191中各采集设备按照设置的所述各采集设备的参数的数值,从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于所述预设的写入速度阈值。
因此,在开始拉流之前,可以确保各采集设备从相应角度实时同步采集和数据压缩获得的压缩视频数据流的码率之和不大于所述预设的写入速度阈值,从而可以避免数据处理设备的数据写入拥塞,确保压缩视频数据流在采集、传输和写入的过程中链路畅通,使得各采集设备上传的压缩视频流可以得到实时的处理,进而实现多角度自由视角视频的播放。
在具体实施中,所述采集阵列中各采集设备与所述数据处理设备适于通过交换机和/或局域网进行连接。
在本发明一实施例中,所述数据处理系统190还可以包括指定目标端193。
所述数据处理设备192,适于根据接收到的视频帧截取指令,截取各压缩视频流中帧级同步的视频帧,将截取得到的视频帧同步上传至所述指定目标端193;
所述指定目标端193,适于接收所述数据处理设备192基于视频帧截取指令截取得到的视频帧。
其中,所述数据处理设备可以预先通过端口或IP地址与一目标端建立连接,也可以将截取得到的视频帧同步上传至所述视频帧截取指令指定的端口或IP地址。
采用上述方案,可以将采集阵列中各采集设备实时同步采集和数据压缩获得的压缩视频数据流统一传输至数据处理设备,所述数据处理设备在接收到的视频帧截取指令后,经过打点截帧的初步处理,可以将截取到的各压缩视频数据流中帧级同步的视频帧同步上传至所述指定目标端,将压缩视频数据流截取的视频帧的后续处理交由指定目标端进行,从而可以节约网络传输资源,降低现场部署的压力和难度,也可以极大地降低数据处理负荷,缩短多角度自由视角视频帧的传输时延。
在本发明一实施例中,所述数据处理设备192适于确定实时接收的所述采集阵列191中各采集设备的压缩视频数据流中其中一路压缩视频数据流作为基准数据流;并基于接收到的视频帧截取指令,确定所述基准数据流中的待截取的视频帧,并选取与所述基准数据流中的待截取的视频帧同步的其余各压缩视频数据流中的视频帧,作为其余各压缩视频数据流的待截取的视频帧;最后,截取各压缩视频数据流中待截取的视频帧。
为使本领域技术人员更好地理解和实现本发明实施例,以下对数据处理设备与采集设备之间的帧同步方案通过具体实施例进行详细的描述。
参照图20所示的数据同步方法的流程图,在本发明实施例中,具体可以包括如下步骤:
S201,向采集阵列中各采集设备分别发送拉流指令,其中,所述采集阵列中各采集设备根据预设的多角度自由视角范围置于现场采集区域不同位置,并且所述采集阵列中各采集设备分别从相应角度实时同步采集视频数据流。
在具体实施中,为实现拉流同步,可以有多种实现方式。例如可以同时向采集阵列中各采集设备同时发出拉流指令;或者,也可以仅向采集阵列中的主采集设备发送拉流指令,触发主采集设备的拉流,之后,由主采集设备将所述拉流指令同步至所有从采集设备,触发所有从采集设备拉流。
S202,实时接收所述采集阵列中各采集设备基于所述拉流指令分别传输的视频数据流,并确定所述采集阵列中各采集设备分别传输的视频数据流之间是否帧级同步。
在具体实施中,采集设备本身可以具备编码和封装的功能,从而可以将从相应角度实时同步采集到的原始视频数据进行编码和封装。并且,各采集设备还可以具备压缩功能,压缩率越高,在压缩前数据量相同的情况下可以使得压缩后的数据量更小,可以缓解实时同步传输的带宽压力,因此,采集设备可以采用预测编码、变换编码和熵编码等技术提高视频的压缩率。
S203,在所述采集阵列中各采集设备分别传输的视频数据流之间未帧级同步时,重新向所述采集阵列中各采集设备分别发送拉流指令,直至所述采集阵列中各采集设备分别传输的视频数据流之间帧级同步。
采用上述数据同步方法,通过确定采集阵列中各采集设备分别传输的视频数据流之间是否帧级同步,可以确保多路数据同步传输,从而可以避免漏帧、多帧的传输问题,提升数据处理速度,进而满足多角度自由视角视频低时延播放的需求。
在具体实施中,所述采集阵列中各采集设备通过人工启动时,存在启动时间误差,有可能不在同一时刻开始采集视频数据流。因此,可以采用以下至少一种方式,确保所述采集阵列中各采集设备置分别从相应角度实时同步采集视频数据流:
1、在至少一个采集设备获取到采集起始指令时,获取到所述采集起始指令的采集设备将所述采集起始指令同步到其他采集设备,使得所述采集阵列中各采集设备分别基于所述采集起始指令开始从相应角度实时同步采集视频数据流。
例如,采集阵列中可以包含40个采集设备,当其中采集设备A1获取到所述采集起始指令时,采集设备A1同步向其他采集设备A2-A40发送获取到的所述采集起始指令,在所有采集设备均收到所述采集起始指令后,各采集设备分别基于所述采集起始指令开始从相应角度实时同步采集视频数据流。由于各采集设备之间的数据传输速度远远快于人工启动的速度,因此,可以减少人工启动产生的启动时间误差。
2、所述采集阵列中各采集设备分别基于预设的时钟同步信号从相应角度实时同步采集视频数据流。
例如,可以设置一时钟信号同步装置,各采集设备可以分别连接所述时钟信号同步装置,所述时钟信号同步装置在接收到触发信号(如同步采集起始指令),所述时钟信号同步装置可以向各采集设备发射时钟同步信号,各采集设备分别基于所述时钟同步信号开始从相应角度实时同步采集视频数据流。由于时钟信号发射装置可以基于预设的触发信号,向各采集设备发射时钟同步信号,使得各采集设备可以同步采集,不易受到外部条件和人工操作的干扰,因此,可以提高各采集设备的同步精度及同步效率。
在具体实施中,由于网络传输环境的影响,所述采集阵列中各采集设备有可能无法在同一时刻收到拉流指令,各采集设备之间可能有几毫秒或者更少的时间差,导致各采集设备实时传输的视频数据流不同步,如图21所示,采集阵列中包含采集设备1和2,采集设备1和2的采集参数设置相同,其中采集帧率均为X fps,并且采集设备1和2采集的视频帧帧级同步采集。
采集设备1和2中每一帧的采集间隔T均为
Figure SMS_1
假设在t0时刻数据处理设备发送拉流指令r,采集设备1在t1时刻接收到拉流指令r,采集设备2在t2时刻接收到拉流指令r,若采集设备1和2均在同一采集间隔T内收到,则可以认为采集设备1和2在同一时刻收到拉流指令,采集设备1和2可以分别传输帧级同步的视频数据流;若采集设备1和2不在同一采集间隔内收到,则可以认为采集设备1和2未在同一时刻收到拉流指令,采集设备1和2无法实现帧级视频数据流的同步传输。视频数据流传输的帧级同步也可以称为拉流同步。拉流同步一旦实现,会自动持续到停止拉流。
无法传输帧级同步的视频数据流的原因可以是:
1)需要分别向各采集设备发送拉流指令;
2)局域网在传输拉流指令时存在延时。
因此,可以采用以下至少一种方式确定所述采集阵列中各采集设备分别传输的视频数据流之间是否帧级同步:
1、可以在获取所述采集阵列中各采集设备分别传输的视频数据流的第N帧时,匹配各视频数据流的第N帧的对象的特征信息,当各视频数据流的第N帧的对象的特征信息满足预设的相似阈值时,确定所述采集阵列中各采集设备分别传输的视频数据流的第N帧的对象的特征信息一致,进而各采集设备分别传输的视频数据流之间帧级同步。
其中,N为不小于1的整数,各视频数据流的第N帧的对象的特征信息可以包括形状特征信息、颜色特征信息和位置特征信息等其中至少一种。
2、可以在获取所述采集阵列中各采集设备分别传输的视频数据流的第N帧时,匹配各视频数据流的第N帧的时间戳信息,其中,N为不小于1的整数。当各视频数据流的第N帧的时间戳信息一致时,确定各采集设备分别传输的视频数据流之间帧级同步。
在所述采集阵列中各采集设备分别传输的视频数据流之间未帧级同步时,重新向所述采集阵列中各采集设备分别发送拉流指令,可以采用以上至少一种方式确定是否帧级同步,直至所述采集阵列中各采集设备分别传输的视频数据流之间帧级同步。
在具体实施中,还可以截取各采集设备的视频数据流中的视频帧并传输至指定目标端,为了确保截取的视频帧的帧级同步,如图22所示,可以包括以下步骤:
S221,确定实时接收的所述采集阵列中各采集设备的视频数据流中其中一路视频数据流作为基准数据流。
S222,基于接收到的视频帧截取指令,确定所述基准数据流中的待截取的视频帧,并选取与所述基准数据流中的待截取的视频帧同步的其余各视频数据流中的视频帧,作为其余各视频数据流的待截取的视频帧。
S223,截取各视频数据流中待截取的视频帧。
S224,将截取得到的视频帧同步上传至所述指定目标端。
其中,所述指定目标端可以是预先设置的目标端,也可以是视频帧截取指令指定的目标端。
采用上述方案,可以实现截帧同步,提高截帧效率,进一步提高所生成的多角度自由视角视频的显示效果,增强用户体验。并且,可以降低视频帧的选取和截取的过程与生成多角度自由视角视频的过程的耦合性,增强各流程之间的独立性,便于后期维护,将截取得到的视频帧同步上传至所述指定目标端,可以节约网络传输资源和降低数据处理负载,提升数据处理生成多角度自由视角视频的速度。
为使本领域技术人员更好地理解和实现本发明实施例,以下通过具体的应用示例详细说明如何确定待各视频数据流中待截取的视频帧。
一种方式是根据所述基准数据流中的待截取的视频帧中对象的特征信息,选取其余各视频数据流中与所述对象的特征信息一致的视频帧,作为其余各视频数据流的待截取的视频帧。
例如,采集阵列中包含40个采集设备,因此,可以实时接收40路视频数据流,假设在实时接收的所述采集阵列中各采集设备的视频数据流中,确定采集设备A1’对应的视频数据流A1作为基准数据流,然后,基于接收到的视频帧截取指令中指示截取的视频帧中对象的特征信息X,确定所述基准数据流中与所述对象的特征信息X一致的视频帧a1作为待截取的视频帧,然后根据所述基准数据流中的待截取的视频帧a1中对象的特征信息x1,选取其余各视频数据流A2-A40中与对象的特征信息x1一致的视频帧a2-a40,作为其余各视频数据流的待截取的视频帧。
其中,对象的特征信息可以包括形状特征信息、颜色特征信息和位置特征信息等;所述视频帧截取指令中指示截取的视频帧中对象的特征信息X,与所述基准数据流中的待截取的视频帧a1中对象的特征信息x1可以是对相同的对象的特征信息的同一表示方式,例如,对象的特征信息X和x1均是二维特征信息;对象的特征信息X和对象的特征信息x1也可以是对相同的对象的特征信息的不同表示方式,例如,对象的特征信息X可以是二维特征信息,而对象的特征信息x1可以是三维特征信息。并且,可以预设一个相似阈值,当满足相似阈值时,可以认为对象的特征信息X与x1一致,或者对象的特征信息x1与其余各视频数据流A2-A40中对象的特征信息x2-x40一致。
对象的特征信息的具体表示方式以及相似阈值可以根据预设的多角度自由视角范围和现场的场景决定,本实施例不做限定。
另一种方式是,根据所述基准数据流中的视频帧的时间戳信息,选取其余各视频数据流中与所述时间戳信息一致的视频帧,作为其余各视频数据流的待截取的视频帧。
例如,采集阵列中可以包含40个采集设备,因此,可以实时接收40路视频数据流,假设在实时接收的所述采集阵列中各采集设备的视频数据流中,确定采集设备B1对应的视频数据流B1作为基准数据流,然后,基于接收到的视频帧截取指令中指示截取的视频帧的时间戳信息Y,确定所述基准数据流中与所述时间戳信息Y对应的视频帧b1作为待截取的视频帧,然后根据所述基准数据流中的待截取的视频帧b1中的时间戳信息y1,选取其余各视频数据流B2-B40中与时间戳信息y1一致的视频帧b2-b40,作为其余各视频数据流的待截取的视频帧。
其中,所述视频帧截取指令中指示截取的视频帧的时间戳信息Y,与所述基准数据流中的待截取的视频帧b1中的时间戳信息y1可以有一定的误差,例如,所述基准数据流中视频帧对应的时间戳信息均与时间戳信息Y不一致,存在0.1ms的误差,则可以预设一个误差范围,例如,误差范围为±1ms,则0.1ms的误差在误差范围内,因此,可以选取与时间戳信息Y相差0.1ms的时间戳信息y1对应的视频帧b1作为基准数据流中的待截取的视频帧。具体的误差范围以及基准数据流中的时间戳信息y1的选取规则可以根据现场的采集设备和传输网络决定,本实施例不做限定。
可以理解的是,上述实施例中确定待各视频数据流中待截取的视频帧的方法可以单独使用,也可以同时使用,本发明实施例不做限定。
采用上述方案,可以提高视频帧的同步选取和同步截取的效率和结果准确率,从而可以提升传输数据的完整性和同步性。
本发明实施例还提供了与上述数据处理方法相应的数据处理设备,为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,通过具体实施例进行详细介绍。
参照图23所示的数据处理设备的结构示意图,在本发明实施例中,如图23所示,数据处理设备230可以包括:
指令发送单元231,适于向采集阵列中各采集设备分别发送拉流指令,其中,所述采集阵列中各采集设备根据预设的多角度自由视角范围置于现场采集区域不同位置,并且所述采集阵列中各采集设备置分别从相应角度实时同步采集视频数据流;
数据流接收单元232,适于实时接收所述采集阵列中各采集设备基于所述拉流指令分别传输的视频数据流;
第一同步判断单元233,适于确定所述采集阵列中各采集设备分别传输的视频数据流之间是否帧级同步,并在所述采集阵列中各采集设备分别传输的视频数据流之间未帧级同步时,重新触发所述指令发送单元231,直至所述采集阵列中各采集设备分别传输的视频数据流之间帧级同步。
其中,所述数据处理设备可以根据实际情景设置。例如,当现场有空余空间时,所述数据处理设备可以置于现场非采集区域,作为现场服务器;当现场没有空余空间时,所述数据处理设备可以置于云端,作为云端服务器。
采用上述数据处理设备,通过确定采集阵列中各采集设备分别传输的视频数据流之间是否帧级同步,可以确保多路数据同步传输,从而可以避免漏帧、多帧的传输问题,提升数据处理速度,进而满足多角度自由视角视频低时延播放的需求。
在本发明一实施例中,如图23所示,数据处理设备230还可以包括:
基准视频流确定单元234,适于确定实时接收到的所述采集阵列中各采集设备的视频数据流中其中一路视频数据流作为基准数据流;
视频帧选取单元235,适于基于接收到的视频帧截取指令,确定所述基准数据流中的待截取的视频帧,并选取与所述基准数据流中的待截取的视频帧同步的其余各视频数据流中的视频帧,作为其余各视频数据流的待截取的视频帧;
视频帧截取单元236,适于截取各视频数据流中待截取的视频帧;
上传单元237,适于将截取得到的视频帧同步上传至所述指定目标端。
其中,所述数据处理设备230可以预先通过端口或IP地址与一目标端建立连接,也可以将截取得到的视频帧同步上传至所述视频帧截取指令指定的端口或IP地址。
采用上述方案,可以实现截帧同步,提高截帧效率,进一步提高所生成的多角度自由视角视频的显示效果,增强用户体验。并且,降低视频帧的选取和截取的过程与生成多角度自由视角视频的过程的耦合性,增强各流程之间的独立性,便于后期维护,将截取得到的视频帧同步上传至所述指定目标端,可以节约网络传输资源和降低数据处理负载,提升数据处理生成多角度自由视角视频的速度。
在本发明一实施例中,如图23所示,所述视频帧选取单元235包括以下至少一种:
第一视频帧选取模块2351,适于根据所述基准数据流中的待截取的视频帧中对象的特征信息,选取其余各视频数据流中与所述对象的特征信息一致的视频帧,作为其余各视频数据流的待截取的视频帧;
第二视频帧选取模块2352,适于根据所述基准数据流中的视频帧的时间戳信息,选取其余各视频数据流中与所述时间戳信息一致的视频帧,作为其余各视频数据流的待截取的视频帧。
采用上述方案,可以提高视频帧的同步选取和同步截取的效率和结果准确率,从而可以提升传输数据的完整性和同步性。
本发明实施例还提供了与上述数据处理方法相应的数据同步系统,采用上述数据处理设备实现实时接收多路视频数据流,为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,通过具体实施例进行详细介绍。
参照图24所示的数据同步系统的结构示意图,在本发明实施例中,所述数据同步系统240可以包括:置于现场采集区域的采集阵列241和置于与所述采集阵列链路连接的数据处理设备242,所述采集阵列241包括多个采集设备,所述采集阵列241中各采集设备根据预设的多角度自由视角范围至于现场采集区域不同位置,其中:
所述采集阵列241中各采集设备,适于分别从相应角度实时同步采集视频数据流,并基于所述数据处理设备242发送的拉流指令,将获得的视频数据流实时传输至所述数据处理设备242;
所述数据处理设备242,适于向所述采集阵列241中各采集设备分别发送拉流指令,且实时接收所述采集阵列241中各采集设备基于所述拉流指令分别传输的视频数据流,并在所述采集阵列241中各采集设备分别传输的视频数据流之间未帧级同步时,重新向所述采集阵列241中各采集设备分别发送拉流指令,直至所述采集阵列241中各采集设备传输的视频数据流之间帧级同步。
采用本发明实施例中的数据同步系统,通过确定采集阵列中各采集设备分别传输的视频数据流之间是否帧级同步,可以确保多路数据同步传输,从而可以避免漏帧、多帧的传输问题,提升数据处理速度,进而满足多角度自由视角视频低时延播放的需求。
在具体实施中,所述数据处理设备242,还适于确定实时接收的所述采集阵列241中各采集设备的视频数据流中其中一路视频数据流作为基准数据流;基于接收到的视频帧截取指令,确定所述基准数据流中的待截取的视频帧,并选取与所述基准数据流中的待截取的视频帧同步的其余各视频数据流中的视频帧,作为其余各视频数据流的待截取的视频帧;截取各视频数据流中待截取的视频帧并将截取得到的视频帧同步上传至所述指定目标端。
其中,所述数据处理设备242可以预先通过端口或IP地址与一目标端建立连接,也可以将截取得到的视频帧同步上传至所述视频帧截取指令指定的端口或IP地址。
在本发明一实施例中,所述数据同步系统240还可以包括云端服务器,适于作为指定目标端。
在本发明另一实施例中,如图34所示,所述数据同步系统240还可以包括播放控制设备341,适于作为指定目标端。
在本发明又一实施例中,如图35所示,所述数据同步系统240还可以包括交互终端351,适于作为指定目标端。
在本发明一实施例中,可以采用以下至少一种方式,确保所述采集阵列241中各采集设备置分别从相应角度实时同步采集视频数据流:
1、所述采集阵列中各采集设备之间通过同步线进行连接,其中,在至少一个采集设备获取到采集起始指令时,获取到所述采集起始指令的采集设备通过同步线将所述采集起始指令同步到其他采集设备,使得所述采集阵列中各采集设备分别基于所述采集起始指令开始从相应角度实时同步采集视频数据流;
2、所述采集阵列中各采集设备分别基于预设的时钟同步信号从相应角度实时同步采集视频数据流。
为使本领域技术人员更好地理解和实现本发明实施例,以下通过具体的应用场景详细说明数据同步系统,如图25所示应用场景中的数据同步系统的结构示意图,其中,所述数据同步系统包括由各采集设备组成的采集阵列251、数据处理设备252、云端的服务器集群253。
所述采集阵列251中各采集设备中的至少一个采集设备获取到采集起始指令,并通过同步线254将获取到的所述采集起始指令同步到其他采集设备,使得所述采集阵列中各采集设备分别基于所述采集起始指令开始从相应角度实时同步采集视频数据流。
所述数据处理设备252可以通过无线局域网向所述采集阵列251中各采集设备分别发送拉流指令。所述采集阵列251中各采集设备基于所述数据处理设备252发送的拉流指令,通过交换机255将获得的视频数据流实时传输至所述数据处理设备252。
所述数据处理设备252确定在所述采集阵列251中各采集设备分别传输的视频数据流之间是否帧级同步,并在所述采集阵列251中各采集设备分别传输的视频数据流之间未帧级同步时,重新向所述采集阵列251中各采集设备分别发送拉流指令,直至所述采集阵列251中各采集设备传输的视频数据流之间帧级同步。
所述数据处理设备252确定所述采集阵列251中各采集设备传输的视频数据流之间帧级同步后,确定实时接收的所述采集阵列251中各采集设备的视频数据流中其中一路视频数据流作为基准数据流,并且,在接收到的视频帧截取指令之后,根据所述视频帧截取指令确定所述基准数据流中的待截取的视频帧,然后,所述数据处理设备252选取与所述基准数据流中的待截取的视频帧同步的其余各视频数据流中的视频帧,作为其余各视频数据流的待截取的视频帧,再截取各视频数据流中待截取的视频帧并将截取得到的视频帧同步上传至云端。
云端的服务器集群253会对截取得到的视频帧做后续处理,获得用于播放的多角度自由视角视频。
在具体实施中,所述云端的服务器集群253可以包括:第一云端服务器2531,第二云端服务器2532,第三云端服务器2533,第四云端服务器2534。其中,所述第一云端服务器2531可以用于参数计算;所述第二云端服务器2532可以用于深度计算,生成深度图;所述第三云端服务器2533可以用于DIBR对预设的虚拟视点路径进行帧图像重建;所述第四云端服务器2534可以用于生成多角度自由视角视频。
可以理解的是,数据处理设备可以根据实际情景置于现场非采集区域,或者置于云端,所述数据同步系统在实际应用中可以采用云端服务器、播放控制设备或者交互终端中的至少一种作为视频帧截取指令的发射端,也可以采用其他能够发射视频帧截取指令的设备,本发明实施例不做限制。
需要说明的是,前述实施例中的数据处理系统等均可以应用本发明实施例中的数据同步系统。
本发明实施例还提供了与上述数据处理方法相应的采集设备,所述采集设备适于在获取到采集起始指令时,将所述采集起始指令同步到其他采集设备,并开始从相应角度实时同步采集视频数据流,以及在接收到数据处理设备发送的拉流指令时,将获得的视频数据流实时传输至所述数据处理设备。为使本领域技术人员更好地理解和实现本发明实施例,以下参照附图,通过具体实施例进行详细介绍。
参照图36所示的采集设备的结构示意图,在本发明实施例中,所述采集设备360包括:光电转换摄像组件361,处理器362、编码器363、传输部件365,其中:
光电转换摄像组件361,适于采集图像;
所述处理器362,适于在获取到采集起始指令时,将所述采集起始指令通过传输部件365同步到其他采集设备,并开始将所述光电转换摄像组件361采集到的图像进行实时处理,得到图像数据序列,以及在获取到拉流指令时,通过传输部件365将获得的视频数据流实时传输至数据处理设备;
所述编码器363,适于将所述图像数据序列进行编码,获得相应的视频数据流。
作为一种可选方案,如图36所示,所述采集设备360还可以包括录音组件364,适于采集声音信号,获得音频数据。
通过处理器362可以将采集到的图像数据序列和音频数据进行处理,然后可以通过编码器363将所述采集到的图像数据序列和音频数据进行编码,获得相应的视频数据流。且所述处理器362在获取到采集起始指令时,可以通过传输部件365将所述采集起始指令同步到其他采集设备;在接收到拉流指令时,通过传输部件365将获得的视频数据流实时传输至所述数据处理设备。
在具体实施中,所述采集设备可以根据预设的多角度自由视角范围置于现场采集区域不同位置,所述采集设备可以固定设置于现场采集区域的某一点,也可以在现场采集区域内移动从而组成采集阵列。因此,所述采集设备可以是固定的设备,也可以是移动的设备,由此可以多角度灵活采集视频数据流。
如图37所示,为本发明实施例中一种应用场景中采集阵列的示意图,以舞台中心作为核心看点,以核心看点为圆心,核心看点位于同一平面的扇形区域作为预设的多角度自由视角范围。所述采集阵列中采集设备371-375根据所述预设的多角度自由视角范围,成扇形置于现场采集区域不同位置。采集设备376为可移动设备,可以根据指令移动到指定位置,进行灵活采集。并且,采集设备可以是手持设备,用以在采集设备发生故障时或者在空间狭小区域增补采集数据,例如,图37中位于舞台观众区域的手持设备377可以加入采集阵列中,用以提供舞台观众区域的视频数据流。
如前所述,为生成多角度自由视角数据,需要进行深度图计算,但目前深度图计算的时间较长,如何减少深度图生成的时间,提升深度图生成速率成为亟待解决的问题。
针对上述问题,本发明实施例提供计算节点集群,多个计算节点可以同时对同一采集阵列同步采集到的纹理数据并行地、批处理式地生成深度图。具体而言,深度图计算过程可以分为为通过第一深度计算得到粗略深度图,以及确定粗略深度图中的不稳定区及之后的第二深度计算等多个步骤,在各步骤中,计算节点集群中的多个计算节点可以并行对多个采集设备采集到的纹理数据进行第一深度计算,得到粗略深度图,以及并行地对得到的粗略深度图进行验证及进行第二深度计算,从而可以节约深度图计算的时间,提升深度图生成速率。以下参照附图,通过具体实施例进一步详细说明。
参照图26所示的一种深度图生成方法的流程图,在本发明实施例中,采用计算节点集群中多个计算节点分别进行深度图生成,为描述方便,将所述计算节点集群中任一计算节点称为第一计算节点。以下通过具体步骤对所述计算节点集群的深度图生成方法进行详细说明:
S261,接收纹理数据,所述纹理数据为同一采集阵列中的多个采集设备同步采集。
在具体实施中,所述多个采集设备可以根据预设的多角度自由视角范围置于现场采集区域不同位置,所述采集设备可以固定设置于现场采集区域的某一点,也可以在现场采集区域内移动从而组成采集阵列。其中,所述多角度自由视角可以是指使得场景能够自由切换的虚拟视点的空间位置以及视角。例如,多角度自由视角可以是6自由度(6DoF)的视角,采集阵列中所采用的采集设备可以为通用的相机、摄像头、录像机、手持设备如手机等,具体实现可以参见本发明其他实施例,此处不再赘述。
所述纹理数据即前述采集设备采集到的二维图像帧的像素数据,可以为一个帧时刻的图像,也可以为连续或非连续的帧图像形成的视频流对应的帧图像的像素数据。
S262,所述第一计算节点根据第一纹理数据和第二纹理数据,进行第一深度计算,得到第一粗略深度图。
这里,为描述更加清楚简洁,将纹理数据中与所述第一计算节点满足预设的第一映射关系的纹理数据称为第一纹理数据;将与所述第一纹理数据的采集设备满足预设的第一空间位置关系的采集设备采集的纹理数据称为第二纹理数据。
在具体实施中,可以基于预先设置的第一映射关系表或通过随机映射,得到所述第一映射关系。例如,可以根据计算节点集群中计算节点的数量以及纹理数据对应的采集阵列中采集设备的数量预先分配各计算节点所处理的纹理数据。可以设置专门的分配节点对计算节点集群中各计算节点的计算任务进行分配,分配节点可以基于预先设置的第一映射关系表或通过随机映射,得到所述第一映射关系。例如,若采集阵列中共有40台采集设备,为达到最高的并发处理效率,可以配置40个计算节点,每台采集设备对应一个计算节点。而若仅有20个计算节点,在各计算节点处理能力相同或大致相当的情况下,则为达到最高的并发处理效率及均衡负载的需求,可以设置每个计算节点对应两台采集设备采集到的纹理数据。具体可以设置纹理数据对应的采集设备标识与每个计算节点的标识之间的映射关系,作为所述第一映射关系,并基于所述第一映射关系直接将采集阵列中相应的采集设备采集到的纹理数据分发至对应的计算节点。在具体实施中,也可以随机分配计算任务,将采集阵列中各采集设备采集到的纹理数据随机分配到计算节点集群中的各计算节点上,为此,为提高处理效率,可以提前将采集阵列采集到的所有纹理数据在计算节点集群中的每一个计算节点上均复制一份。
作为一个示例,服务器集群中任一服务器均可以根据所述第一纹理数据以及所述第二纹理数据,进行第一深度计算。
其中,对于所述第一纹理数据和所述第二纹理数据的预设的第一空间位置关系,例如所述第二纹理数据可以为与所述第一纹理数据的采集设备满足预设的第一距离关系的采集设备采集到的纹理数据,或者为与所述第一纹理数据的采集设备满足预设的第一数量关系的采集设备采集到的纹理数据,也可以为与所述第一纹理数据的采集设备满足预设的第一距离关系且满足预设的第一数量关系的采集设备采集到的纹理数据。
其中,所述第一预设数量可以取1至N-1的任意整数值,N为所述采集阵列中采集设备的总量。在本发明一实施例中,所述第一预设数量取2,从而可以以尽量少的运算量得到尽可能高的图像质量。例如,假设预设的第一映射关系中计算节点9与相机9对应,则可以利用相机9的纹理数据,以及与相机9相邻的相机5、6、7、10、11、12的纹理数据,计算得到相机9的粗略深度图。
可以理解的是,在具体实施中,所述第二纹理数据也可以是与所述第一纹理数据的采集设备满足其他类型的第一空间位置关系的采集设备采集的数据,例如所述第一空间位置关系还可以是满足预设角度、满足预设相对位置等。
S263,所述第一计算节点将所述第一粗略深度图同步至所述计算节点集群中的其余计算节点,得到粗略深度图集。
在经过了深度图粗略计算后所得到的粗略深度图,需要进行交叉验证,来确定每个粗略深度图中的不稳定区域,以在下一步骤中进行精细化的求解。其中,对于粗略深度图集中的任一粗略深度图,需要通过该粗略深度图对应的采集设备周围多个采集设备对应的粗略深度图来进行交叉验证。(典型情况下为待验证的粗略深度图和所有其他采集设备对应的粗略深度图来一起交叉验证),因此需要将各个计算节点计算得到的粗略深度图分别同步至所述计算节点集群中的其余计算节点,经步骤S263同步后,计算节点集群中各个计算节点均得到计算节点集群中其余计算节点计算得到的粗略深度图,每个服务器得到完全相同的粗略深度图集。
S264,所述第一计算节点对于所述粗略深度图集中的第二粗略深度图,采用第三粗略深度图进行验证,得到所述第二粗略深度图中的不稳定区域。
其中,所述第二粗略深度图与所述第一计算节点可以满足预设的第二映射关系;所述第三粗略深度图可以为与所述第二粗略深度图对应的采集设备满足预设的第二空间位置关系的采集设备对应的粗略深度图。
可以基于预先设置的第二映射关系表或通过随机映射,得到所述第二映射关系。例如,可以根据计算节点集群中计算节点的数量以及纹理数据对应的采集阵列中采集设备的数量预先分配各计算节点所处理的纹理数据。在具体实施中,可以设置专门的分配节点对计算节点集群中各计算节点的计算任务进行分配,分配节点可以基于预先设置的第二映射关系表或通过随机映射,得到所述第二映射关系。设置第二映射关系的具体示例可以参见前述第一映射关系的实现示例。
可以理解的是,在具体实施中,所述第二映射关系可以与所述第一映射关系完全对应,也可以与所述第一映射关系不对应。例如在相机数量与计算节点数量相等的情况下,可以按照硬件标识将数据(包括纹理数据、粗略深度图)对应的采集设备与处理数据的计算节点的标识,建立一一对应的第二映射关系。
可以理解的是,这里第一粗略深度图、第二粗略深度图与第三粗略深度图的描述,仅为描述清楚及简洁。在具体实施中,所述第一粗略深度图可以与所述第二粗略深度图相同,也可以不同;所述第三粗略深度图对应的采集设备与所述第二粗略深度图对应的采集设备满足预设的第二空间位置关系即可。
对于所述第二空间位置关系,作为具体示例,所述第三粗略深度图对应的纹理数据可以为与所述第二粗略深度图对应的采集设备满足预设的第二距离关系的采集设备采集到的纹理数据,或者所述第三纹理深度图对应的纹理数据可以为与所述第二粗略深度图对应的采集设备满足预设的第二数量关系的采集设备采集到的纹理数据,又或者,所述第三粗略深度图对应的纹理数据为与所述第二粗略深度图对应的采集设备满足预设的第二距离关系及第二数量关系的采集设备采集到的纹理数据。
其中,所述第二预设数量可以取1至N-1的任意整数值,N为所述采集阵列中采集设备的总量。在具体实施中,所述第二预设数量可以和所述第一预设数量相等,也可以不等。在本发明一实施例中,所述第二预设数量取2,从而可以以尽量少的运算量得到尽可能高的图像质量。
在具体实施中,所述第二空间位置关系也可以为其他类型的空间位置关系,例如满足预设角度、满足预设相对位置等。
S265,所述第一计算节点根据所述第二粗略深度图中的不稳定区域、所述第二粗略深度图对应的纹理数据以及所述第三粗略深度图对应的纹理数据,进行第二深度计算,得到对应的精细深度图。
这里需要说明的是,第二深度计算与第一深度计算的不同之处在于,第二深度计算所选取的第二粗略深度图中的深度图候选值不包含所述不稳定区域的深度值,从而可以排除生成的深度图中的不稳定区域,使得所生成的深度图更加精确,进而可以提升生成的多角度自由视角图像的质量。
以一个应用场景示例说明:
可以由服务器S基于分配的相机M的纹理数据以及与所述相机M满足预设的第一空间位置关系的相机的纹理数据,进行第一轮深度计算(第一深度计算),得到粗略深度图。
在步骤S264的交叉验证后,可以继续在同一台服务器上,连贯地进行深度图的精细化求解。具体而言,所述服务器S可以将分配的相机M对应的粗略深度图与所有其他粗略深度图的结果进行交叉验证,可以得到相机M对应的粗略深度图中的不稳定区域,之后,服务器S可以将分配的相机M对应的粗略深度图中的不稳定区域、相机M采集到的纹理数据以及相机M周围N个相机的纹理信息,再进行一轮深度图计算(第二深度计算),即可以得到第一纹理数据(相机M采集到的纹理数据)对应的精细化深度图。
这里相机M对应的粗略深度图为基于相机M采集到的纹理数据以及与所述相机M满足预设的第一空间位置关系的采集设备采集到的纹理数据,计算得到的粗略深度图。
S266,将所述各计算节点得到的精细深度图的精细深度图集作为最终生成的深度图。
采用上述实施例,多个计算节点可以同时对同一采集阵列同步采集到的纹理数据并行地、批处理式地进行深度图生成,因而可以极大地提高深度图生成效率。
此外,采用上述方案通过二次深度计算,排除生成的深度图中的不稳定区域,因此所得到的精细深度图更加精确,进而可以提升生成的多角度自由视角图像的质量。
在具体实施中,根据待处理的纹理数据的数据量的大小及对深度图生成速度的需求,可以选用适当的计算节点集群中计算节点的配置及计算节点的数量。例如,所述计算节点集群可以为由多台服务器组成的服务器集群,所述服务器集群中多台服务器可以集中部署,也可以位于分布式部署。在本发明一些实施例中,所述计算节点集群中部分或全部计算节点设备可以作为本地服务器,或者可以作为边缘节点设备,或者作为云端计算设备。
又如,所述计算节点集群还可以为多个CPU或GPU形成的计算设备。本发明实施例还提供了一种计算节点,适于与至少另一个计算节点形成计算节点集群,用以生成深度图,参照图27所示的计算节点的结构示意图,计算节点270可以包括:
输入单元271,适于接收纹理数据,所述纹理数据源自同一采集阵列中的多个采集设备同步采集;
第一深度计算单元272,适于根据第一纹理数据和第二纹理数据,进行第一深度计算,得到第一粗略深度图,其中:所述第一纹理数据与所述计算节点满足预设的第一映射关系;所述第二纹理数据为与所述第一纹理数据的采集设备满足预设的第一空间位置关系的采集设备采集的纹理数据;
同步单元273,适于将所述第一粗略深度图同步至所述计算节点集群中的其余计算节点,得到粗略深度图集;
验证单元274,对于所述粗略深度图集中的第二粗略深度图,适于采用第三粗略深度图进行验证,得到所述第二粗略深度图中的不稳定区域,其中:所述第二粗略深度图与所述计算节点满足预设的第二映射关系;所述第三粗略深度图为与所述第二粗略深度图对应的采集设备满足预设的第二空间位置关系的采集设备对应的粗略深度图;
第二深度计算单元275,适于根据所述第二粗略深度图中的不稳定区域、所述第二粗略深度图对应的纹理数据以及所述第三粗略深度图对应的纹理数据,进行第二深度计算,得到对应的精细深度图,其中:第二深度计算所选取的第二粗略深度图中的深度图候选值不包含所述不稳定区域的深度值;
输出单元276,适于将所述精细深度图输出,以使所述计算节点集群得到精细深度图集作为最终生成的深度图。
采用上述计算节点,深度图计算过程可以包括通过第一深度计算得到粗略深度图,以及确定粗略深度图中的不稳定区及之后的第二深度计算等多个步骤,通过上述步骤进行深度图计算,利于多个计算节点分别计算,从而可以提升深度图的生成效率。
本发明实施例还提供了一种计算节点集群,所述计算节点集群可以包括多个计算节点,所述计算节点集群中多个计算节点可以同时对同一采集阵列同步采集到的纹理数据并行地、批处理式地进行深度图生成。为描述方便,将所述计算节点集群中任一计算节点称为第一计算节点。
在本发明一些实施例中,所述第一计算节点,适于根据接收到的纹理数据中的第一纹理数据和第二纹理数据,进行第一深度计算,得到第一粗略深度图;将所述第一粗略深度图同步至所述计算节点集群中的其余计算节点,得到粗略深度图集;对于所述粗略深度图集中的第二粗略深度图,采用第三粗略深度图进行验证,得到所述第二粗略深度图中的不稳定区域;及根据所述第二粗略深度图中的不稳定区域、所述第二粗略深度图对应的纹理数据以及所述第三粗略深度图对应的纹理数据,进行第二深度计算,得到对应的精细深度图,及将获得的精细深度图输出以使得所述计算节点集群将得到的精细深度图集作为最终生成的深度图;
其中,所述第一纹理数据与所述第一计算节点满足预设的第一映射关系;所述第二纹理数据为与所述第一纹理数据的采集设备满足预设的第一空间位置关系的采集设备采集的纹理数据;所述第二粗略深度图与所述第一计算节点满足预设的第二映射关系;所述第三粗略深度图为与所述第二粗略深度图对应的采集设备满足预设的第二空间位置关系的采集设备对应的粗略深度图;且第二深度计算所选取的第二粗略深度图中的深度图候选值不包含所述不稳定区域的深度值。
参照图28所示的服务器集群进行深度图处理的示意图,其中,相机阵列中N个相机采集的纹理数据分别输入服务器集群中N台服务器,首先分别进行第一深度计算,得到粗略深度图1~N,之后,各服务器将自身计算得到的粗略深度图分别复制至服务器集群其他的服务器上并实现时间同步,之后,各服务器分别对自身分配的粗略深度图进行验证,并进行第二深度计算,得到精细计算后的深度图,作为服务器集群生成的深度图。由上述计算过程可以看出,服务器集群中各服务器可以并行地对多个相机采集到的纹理数据进行第一深度计算、以及对粗略深度图集中的各粗略深度图进行验证以及第二深度计算,整个深度图生成过程有多台服务器并行进行,因而可以极大地节约深度图计算的时间,提升深度图生成效率。
本发明实施例中的计算节点和计算节点集群的具体实现方式和有益效果,可以参见本发明前述实施例中的深度图生成方法,在此不再赘述。
服务器集群进而可以将生成的深度图存储,或者根据请求输出至终端设备,以进一步进行虚拟视点图像的生成及展示,此处不再赘述。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时可以执行前述任一实施例所述深度图生成方法的步骤,具体可以参见前述深度图生成方法的步骤,此处不再赘述。
另外,目前已知的基于深度图像绘制(Depth-Image-Based Rendering,DIBR)的虚拟视点图像生成方法,难以满足播放中多角度自由视角应用的需求。
发明人经研究发现,目前的DIBR虚拟视点图像生成方法并发度不高,通常由CPU进行处理,然而,对于每一虚拟视点图像,由于生成方法涉及较多步骤,每一步骤也均较为复杂,所以也比较难以通过并行处理方法来实现。
为解决上述问题,本发明实施例提供一种可以通过并行处理生成虚拟视点图像的方法,可以使多角度自由视角的虚拟视点图像生成的时效性能大大加速,从而可以满足多角度自由视角视频低时延播放和实时互动的需求,提升用户体验。
为使本领域技术人员对本发明实施例的目的、特征集优点更加明显易懂,以下结合附图对本发明的具体实施例进行详细的说明。
参照图29所示的虚拟视点图像生成方法的流程图,在具体实施中,可以通过如下步骤生成虚拟视点图像:
S291,获取多角度自由视角的图像组合、所述图像组合的参数数据以及预设的虚拟视点路径数据,其中,所述图像组合包括多个角度同步的多组存在对应关系的纹理图和深度图。
其中,所述多角度自由视角可以是指使得场景能够自由切换的虚拟视点的空间位置及视角。多角度自由视角范围可以根据应用场景的需要确定。
在具体实施中,可以通过在现场布置由多个采集设备组成的采集阵列,所述采集阵列中各采集设备可以根据预设的多角度自由视角范围置于现场采集区域的不同位置,各采集设备可以同步采集现场图像,获得多个角度同步的纹理图。例如,可以通过多个相机、摄像机等对某一场景进行多个角度的同步的图像采集。
所述多角度自由视角的图像组合中的图像,可以为完全的自由视角的图像。在具体实施中,可以为6自由度(Degree of Freedom,DoF)的视角,也即可以自由切换视点的空间位置以及视角。如前所述,视点的空间位置可以表示为坐标(x,y,z),视角可以表示为三个旋转方向(θ,cp,y),故可以称为6DoF。
在虚拟视点图像生成过程中,可以先获取多角度自由视角的图像组合,以及所述图像组合的参数数据。
在具体实施中,图像组合中的纹理图与深度图一一对应。其中,纹理图可以采用任意类型的二维图像格式,例如可以是BMP、PNG、JPEG、webp格式等其中任意一种格式。深度图可以表示场景中各点相对于拍摄设备的距离,即深度图中每一个像素值表示场景中某一点与拍摄设备之间的距离。
图像组合中的纹理图即同步的多个二维图像。可以基于所述多个二维图像,确定每个二维图像的深度数据。
其中,深度数据可以包括与二维图像的像素对应的深度值。采集设备到待观看区域中各个点的距离可以作为上述深度值,深度值可以直接反映待观看区域中可见表面的几何形状。例如,深度值可以是待观看区域中各个点沿着相机光轴到光心的距离,相机坐标系的原点可以作为光心。本领域技术人员可以理解的是,该距离,可以是相对数值,多个图像采用同样的基准即可。
深度数据可以包括与二维图像的像素一一对应的深度值,或者,可以是对与二维图像的像素一一对应的深度值集合中选取的部分数值。本领域技术人员可以理解的是,深度值集合可以存储为深度图的形式,在具体实施中,深度数据可以是对原始深度图进行降采样后得到的数据,与二维图像(纹理图)的像素一一对应的深度值集合按照二维图像(纹理图)的像素点排布存储的图像形式为原始深度图。
在本发明实施例中,可以通过如下步骤获得多角度自由视角的图像组合,以及所述图像组合的参数数据,以下通过具体应用场景进行说明。
作为本发明一具体实施例,可以包括如下步骤:第一步是采集和深度图的计算,包括三个主要步骤,分别为:多摄像机的视频采集(Multi-camera Video Capturing)、摄像机内外参计算(Camera Parameter Estimation),以及深度图计算(Depth MapCalculation)。对于多摄像机采集来说,要求各个摄像机采集的视频可以帧级对齐。
通过多摄像机的视频采集可以得到纹理图(Texture Image),也即同步的多个图像;通过摄像机内外参计算,可以得到摄像机参数(Camera Parameter),也即图像组合的参数数据,包括内部参数数据和外部参数数据;通过深度图计算,可以得到深度图(DepthMap)。
图像组合中同步的多组存在对应关系的纹理图和深度图可以拼接在一起,形成一帧拼接图像。拼接图像可以有多种拼接结构。每一帧拼接图像均可以作为一个图像组合。图像组合中多组纹理图及深度图可以按照预设的关系进行拼接及组合排列。具体而言,图像组合的纹理图和深度图根据位置关系可以区分为纹理图区域和深度图区域,纹理图区域分别存储各个纹理图的像素值,深度图区域按照预设的位置关系分别存储各纹理图对应的深度值。纹理图区域和深度图区域可以是连续的,也可以是间隔分布的。本发明实施例中对图像组合中纹理图和深度图的位置关系不做任何限制。
在具体实施中,可以从图像的属性信息中获取到图像组合中各图像的参数数据。其中,所述参数数据可以包括外部参数数据,还可以包括内部参数数据。外部参数数据用于描述拍摄设备的空间坐标及姿态等,内部参数数据用于表述拍摄设备的光心、焦距等拍摄设备的属性信息。内部参数数据还可以包括畸变参数数据。畸变参数数据包括径向畸变参数数据和切向畸变参数数据。径向畸变发生在拍摄设备坐标系转图像物理坐标系的过程中。而切向畸变是发生在拍摄设备制作过程,其是由于感光元平面跟透镜不平行。基于外部参数数据可以确定图像的拍摄位置、拍摄角度等信息。在虚拟视点图像生成中,结合包括畸变参数数据在内的内部参数数据可以使所确定的空间映射关系更加准确。
在具体实施中,虚拟视点路径可以预先设置。例如,对于一场体育比赛,如篮球赛或足球赛,可以预先规划好一个弧形路径,例如每当出现一个精彩的镜头,都按照这个弧形路径生成相应的虚拟视点图像。
在具体应用过程中,可以基于现场中特定的位置或视角(如篮下、场边、裁判视角、教练视角等等),或者基于特定对象(例如球场上的球员、现场的主持人、观众,以及影视图像中的演员等)设置虚拟视点路径。
所述虚拟视点路径对应的路径数据可以包括路径中一系列的虚拟视点的位置数据。
S292,根据所述预设的虚拟视点路径数据及所述图像组合的参数数据,从图像组合中选择虚拟视点路径中各虚拟视点的相应组的纹理图和深度图。
在具体实施中,可以根据所述虚拟视点路径数据中各虚拟视点的位置数据及所述图像组合的参数数据,从所述图像组合中选择与各虚拟视点位置满足预设位置关系和/或数量关系的相应组的纹理图和深度图。例如,对于在相机密度较大的虚拟视点位置区域,可以仅选择离所述虚拟视点最近的两个相机拍摄的纹理图及对应的深度图,而在相机密度较小的虚拟视点位置区域,可以选择离所述虚拟视点最近的三个或四个相机拍摄的纹理图及对应的深度图。
在本发明一实施例中,可以分别选择离虚拟视点路径中的各虚拟视点位置最近的2至N个采集设备对应的纹理图和深度图,其中,N为采集阵列中所有采集设备的数量。例如,可以默认选择离各虚拟视点位置最近的两个采集设备对应的纹理图和深度图。在具体实施中,用户可以自己设置所选择的离所述虚拟视点位置最近的采集设备的数量,最大不超过所述图像组合所对应的采集设备的数量。
采用这一方式,对采集阵列中采集设备的空间位置分布没有特别的要求(例如可以为线状分布、弧形阵列排布,或者是任何不规则的排布形式),根据获取到的所述虚拟视点位置数据及图像组合对应的参数数据,确定采集设备的实际分布状况,进而采用适应性的策略选择图像组合中相应组的纹理图和深度图的选择,从而可以在减小数据运算量、保证生成的虚拟视点图像质量的情况下,提供较高的选择自由度及灵活性,此外也降低了对采集阵列中采集设备的安装要求,便于适应不同的场地需求及安装易操作性。
在本发明一实施例中,根据所述虚拟视点位置数据及所述图像组合的参数数据,从图像组合中选择离所述虚拟视点位置最近的预设数量的相应组的纹理图和深度图。
可以理解的是,在具体实施中,也可以采用预设的其他规则从所述图像组合中选择相应组的纹理图和深度图。例如还可以根据虚拟视点图像生成设备的处理能力、或者可以根据用户对生成速度的要求,对生成图像的清晰度要求(如普清、高清或超清,等等)从所述图像组合中选择相应组的纹理图和深度图。
S293,将各虚拟视点的相应组的纹理图和深度图输入至图形处理器中,针对虚拟视点路径中各虚拟视点,以像素点为处理单位,由多个线程分别将选择的图像组合中相应组的纹理图和深度图中的像素点进行组合渲染,得到所述虚拟视点对应的图像。
图形处理器(Graphics Processing Unit,GPU),又称显示核心、视觉处理器,显示芯片等,是一种专门做图像和图形相关运算工作的微处理器,可以配置于个人电脑、工作站、电子游戏机和一些移动终端(如平板电脑、智能手机等)有图像相关运算需求的电子设备中。
为使本领域技术人员更好地理解和实现本发明实施例,以下对本发明一些实施例中采用的一种GPU的架构进行简要介绍。需要说明的是,所述GPU架构仅为具体示例,并不构成对本发明实施例所适用的GPU的限制。
在本发明一些实施例中,GPU可以采用统一设备体系结构(Compute UnifiedDevice Architecture,CUDA)并行编程架构对选择的图像组合中相应组的纹理图和深度图中的像素点进行组合渲染。CUDA是一种新的硬件和软件体系结构,用于将GPU上的计算作为数据并行计算设备进行分配和管理,而无须将它们映射至图形应用程序编程接口(Application Programming Interface,API)。
通过CUDA编程时,GPU可以被视为能够并行执行大量线程的计算设备。它作为主CPU或者主机的协处理器运行,换言之,在主机上运行的应用程序中的数据并行、计算密集型的部分被下放到GPU上。
更确切地说,应用程序中多次执行单独立于不同数据的应用程序的一部分可以隔离到一个函数中,该函数在GPU设备上运行,就像许多不同的线程一样。为此,可以将此类函数编译为GPU设备的指令集,生成的程序(称为内核(Kernel))下载到GPU上。执行内核的线程批处理被组织为线程块(Thread Block)。
线程块是一批线程,可以通过一些快速共享内存有效地共享数据并同步其执行以协调内存访问来协同。在具体实施中,可以在内核中指定同步点,其线程块中的线程将挂起,直至它们都到达同步点。
在具体实施中,一个线程块可以包含的线程的最大数量是有限的。但是,执行同一内核的相同维度和大小的块可以批处理到一个块网格(Grid of Thread Blocks)中,以便单个内核调用中可以启动的线程总数要大得多。
由上可知,采用CUDA结构,GPU上可以同时有大量线程并行地进行数据处理,因此可以极大地提高虚拟视点图像生成速度。
为使本领域技术人员更好地理解和实现,以下对组合渲染的每一步骤进行以像素点为单位进行处理的过程进行详细介绍。
在具体实施中,参照图30所示的GPU进行组合渲染的方法的流程图,步骤S293可以通过如下步骤实现:
S2931,将相应组的深度图并行地进行前向映射,映射至所述虚拟视点上。
深度图的前向映射是将原始相机(采集设备)的深度图通过坐标空间位置的转换映射到虚拟相机的位置,从而得到虚拟相机位置的深度图。具体而言,深度图的前向映射是将原始相机(采集设备)的深度图的每一个像素,按照预设的坐标映射关系,映射到虚拟视点的操作。
在具体实施中,可以在GPU上运行第一核心(Kernel)函数,将相应组的深度图中的像素并行地进行前向映射,映射至对应的虚拟视点位置上。
发明人在研究和实践过程中发现,在前向映射过程中,可能存在前背景的遮挡问题,以及映射缝隙效应,影响生成的图像质量。首先,针对前背景遮挡问题,在本发明实施例中,对于多个映射到虚拟视点同一个像素的深度值,可以采用原子操作,取像素值最大的值,得到对应的虚拟视点位置的第一深度图。之后,为改善映射缝隙效应带来的影响,可以基于所述虚拟视点位置的第一深度图,创建所述虚拟视点位置的第二深度图,对于所述第二深度图中的每一个像素并行处理,取所述第一深度图中对应像素位置周围预设区域的像素点的最大值。
在前向映射过程中,由于每个像素均可以并行处理,因此可以大大加快前向映射处理速度,提升前向映射的时效性能。
S2932,对前向映射后的深度图并行地进行后处理。
在前向映射结束后,可以对虚拟视点深度图进行后处理,具体而言,可以在GPU上运行预设的第二核心函数,对前向映射得到的第二深度图中的每一个像素,在所述像素位置周围预设区域进行中值滤波处理。由于可以对第二深度图中的各像素并行地进行中值滤波处理,因而可以大大加快后处理速度,提升后处理的时效性能。
S2933,将相应组的纹理图并行地进行反向映射。
本步骤是将虚拟视点位置根据深度图的值计算出在原始相机纹理图中的坐标,并且通过分像素插值计算计算出相应的值。在GPU中,分像素取值可以直接按照双线性进行插值,因此在本步骤中,只需要根据每个像素计算出的坐标直接在原始相机纹理中取值就可以实现。在具体实施中,可以在GPU上运行预设的第三核心函数,将选择的相应组的纹理图中的像素并行地进行插值运算,即可生成对应的虚拟纹理图。
通过在GPU上运行第三核心函数,将选择的相应组的纹理图中的像素并行地进行插值运算,生成对应的虚拟纹理图,可以大大加快反向映射的处理速度,提升反向映射的时效性能。
S2934,将反向映射后所生成的各虚拟纹理图中的像素并行地进行融合。
在具体实施中,可以在GPU上运行第四核心函数,将反向映射后所生成的各虚拟纹理图中的同一位置的像素,并行地进行加权融合。
在GPU上运行第四核心函数,将反向映射后所生成的各虚拟纹理图中的同一位置的像素,并行地进行加权融合,可以大大地加快虚拟纹理图的融合的速度,提升图像融合的时效性能。
以下通过一个具体示例进行详细说明。
在步骤S2931中,对于深度图的前向映射,首先,可以通过GPU的第一Kernel函数来计算每个像素点的投影映射关系。
假设真实相机的图像中某一个像素点(u,v),首先通过对应相机的透视投影模型,将图像坐标(u,v)变化到相机坐标系下的坐标[X,Y,Z]T。可以理解的是,针对不同相机的透视投影模型,有不同的转换方法。
例如,对于透视投影模型:
Figure SMS_2
其中,[u,v,1]T是像素(u,v)的齐次坐标,[X,Y.Z]T为(u,v)对应真实物体在相机坐标系中的坐标,fx、fy分别是x,y方向的焦距,cx、cy分别是x,y方向的光心坐标。
所以,对图像中某一像素点(u,v),已知像素的深度值Z、对应相机镜头的物理参数(fx、fy、cx、cy可以从前述图像组合的参数数据中获得),可以通过上述公式(1),得到相机坐标系下的对应点的坐标[X,Y.Z]T
在图像坐标系到相机坐标系的转换之后,可以根据三维空间中的坐标变换,将物体在当前相机坐标系下的坐标,变换到虚拟视点所在相机的坐标系中。具体可以采用如下的变换公式:
Figure SMS_3
其中,R12为3x3的旋转矩阵,T12为平移向量。
假设变换之后的三维坐标为[X1,Y1,Z1]T,通过之前从图像坐标系到相机坐标系的描述,应用其反变换,即可得到变换后的虚拟相机三维坐标与虚拟相机图像坐标的对应关系位置。由此,便建立了从真实视点图像到虚拟视点图像之间的点的投影关系。通过对真实视点中每一个像素点进行变换,并做坐标点的取整操作,可以得到虚拟视点图像中的投影深度图。
在建立了原始相机深度图和虚拟相机深度图的点对点的映射关系后,由于在深度图的投影过程中,原始相机的深度图中可能有多个位置映射到虚拟相机深度图中的同一位置,导致存在深度图前向映射过程中的前背景遮挡关系,针对这一问题,在本发明实施例中,可以采用原子操作,取其中最小的深度图作为映射位置的最终结果。如公式(3)所示:
Depth(u,v)=min[Depth1-N(u,v)] (3)
需要说明的是,深度值最小的值同时也是深度图像素值最大的值,因此,在映射得到的深度图上取像素值最大的值,可以得到对应的虚拟视点位置的第一深度图。
在具体实施中,可以在CUDA并行的环境下提供多个点映射的取最大或最小值的操作,具体可以通过调用CUDA具备的原子操作函数atomicMin或者atomicMax来进行。
在上述得到第一深度图的过程中,可能会产生缝隙效应,也即有一部分像素点可能会由于映射精度的问题没有覆盖到。针对这种问题,本发明实施例可以对得到的第一深度图进行缝隙掩盖处理。在本发明一实施例中,对所述第一深度图进行一个3*3的缝隙掩盖处理。具体掩盖处理过程如下:
先创建一个虚拟视点位置的第二深度图,然后,对于所述第二深度图中的每一个像素D(x,y),都取所述虚拟视点位置的第一深度图中的周围3*3范围内已有像素点D_old(x,y),取所述第一深度图中周围3*3范围内像素点的最大值,可以通过如下的内核函数操作实现:
D(x,y)=Max[D_old(X,y)] (4)
可以理解的是,缝隙掩盖处理过程中周围区域的大小范围可以也可以取其他值,例如5*5。为获得更好的处理效果,具体可以根据经验进行设置。
对于步骤S2932,在具体实施中,可以对所述虚拟视点位置的第二深度图进行3*3或者5*5的中值滤波。例如,对于3*3的中值滤波,所述GPU的第二核心映射函数可以按照如下公式进行操作:
Figure SMS_4
在步骤S2933中,在GPU上运行的第三核心函数,将虚拟视点位置根据深度图的值计算出在原始相机纹理图中的坐标,第三核心函数可以执行步骤S2391的逆过程实现。
在步骤S2934中,对于虚拟视点位置(x,y)的像素点f(x,y),可以将所有原始相机映射得到的纹理图的相应位置的像素值根据置信度conf(x,y)进行加权。所述第四核心函数可以采用如下公式进行计算:
f(x,y)=∑conf(x,y)*f(x,y) (6)
通过上述步骤S2931~S2934,可以得到虚拟视点图像。在具体实施中,还可以对加权融合后所得到的虚拟纹理图作进一步的处理和优化。例如,可以对加权融合后的纹理图中的各像素并行地进行空洞填补,得到所述虚拟视点对应的图像。
对于虚拟纹理图的空洞填补,在具体实施中,对于每个像素,可以采用单独的开窗方法来进行并行操作。例如,对于每一个空洞像素,可以开一个N*M大小的窗,之后,根据窗内的非空洞像素值来加权计算出此空洞像素的值。通过如上方法,虚拟视点图像的生成可以完全在GPU上进行并行计算,从而可以使得生成过程得到极大的加速。
如图31所示的空洞填补方法的示意图,对于生成的虚拟视点视图G,存在空洞区F,对空洞区F中的像素f1和像素f2分别开矩形窗a和b。之后,对于像素f1,并从矩形窗中的已有非空洞像素获得所有的像素(也可以降采样得到部分像素),并根据距离加权(或者平均加权)得到空洞区F中像素f1的值。同样地,对于像素f2,采用同样操作,可以得到像素f2的值。在具体实施中,可以在GPU上运行第五核心函数,并行化处理,加速空洞填补的时间。
所述第五核心函数可以采用如下公式进行计算:
P(x,y)=Average[Window(x,y)] (7)
其中,P(x,y)为空洞中某一点的值,Window(x,y)为空洞区中所有已有像素的值(或降采样值),Average为这些像素的平均(或者加权平均)值。
在本发明实施例中,除了以像素为单位并行地进行各虚拟视点位置的虚拟视点图像生成外,为进一步加快虚拟视点路径图像的生成效率,可以将虚拟视点路径中的各虚拟视点的相应组的纹理图和深度图分别输入至多个GPU中,并行地生成多个虚拟视点图像。
在具体实施中,为进一步提高处理效率,上述各个步骤可以由不同的块网格分别执行。
参照图32所示的虚拟视点图像生成系统的结构示意图,在本发明实施例中,虚拟视点图像生成系统320可以包括CPU321和GPU322,其中:
CPU 321,适于获取多角度自由视角的图像组合、所述图像组合的参数数据以及预设的虚拟视点路径数据,其中,所述图像组合包括多个角度同步的多组存在对应关系的纹理图和深度图;根据所述预设的虚拟视点路径数据及所述图像组合的参数数据,从图像组合中选择虚拟视点路径中各虚拟视点的相应组的纹理图和深度图;
GPU322,适于针对虚拟视点路径中各虚拟视点,调用相应的核心函数,将选择的图像组合中相应组的纹理图和深度图中的像素点并行地进行组合渲染,得到所述虚拟视点对应的图像。
具体地,所述GPU322适于将相应组的深度图并行地进行前向映射,映射至所述虚拟视点上;对前向映射后的深度图并行地进行后处理;将相应组的纹理图并行地进行反向映射;将反向映射后所生成的各虚拟纹理图中的像素并行地进行融合。
其中,GPU322可以采用前述虚拟视点图像生成方法中的步骤S2931~S2934等,以及空洞填补步骤生成各虚拟视点的虚拟视点图像,具体可以参见前述实施例介绍,此处不再赘述。
在具体实施中,GPU可以为一个,也可以为多个,如图32所示。
在具体应用中,GPU可以为一个独立的GPU芯片、或者为一个GPU芯片中的一个GPU核心,或者为一台GPU服务器,也可以为多个GPU芯片或多个GPU核心封装而成的GPU芯片,或者为多台GPU服务器组成的GPU集群。
相应地,可以将所述虚拟视点路径中的各虚拟视点的相应组的纹理图和深度图分别输入至多个GPU芯片、多个GPU核心,或多台GPU服务器中,并行地生成多个虚拟视点图像。例如,某虚拟视点路径对应的虚拟视点路径数据中共包含20个虚拟视点位置坐标,可以将所述20个虚拟视点位置坐标对应的数据并行地输入多个GPU芯片中,例如共有10个GPU芯片,则可以将所述20个虚拟视点位置坐标对应的数据分两批并行处理,各个GPU芯片又可以以像素为单位并行地生成对应虚拟视点位置的虚拟视点图像,因此可以极大地加快虚拟视点图像的生成速度,提升虚拟视点图像生成的时效性能。
本发明实施例还提供了一种电子设备,参照图33所示的电子设备的结构示意图,电子设备330可以包括存储器331、CPU 332和GPU333,其中,所述存储器331上存储有可在所述CPU332和GPU333上运行的计算机指令,所述CPU 332和GPU333协同运行所述计算机指令时适于执行本发明前述任一实施例所述的虚拟视点图像生成方法的步骤,具体可以参见前述实施例的详细介绍,此处不再赘述。
在具体实施中,所述电子设备可以为一台服务器,也可以为多台服务器组成的服务器集群。
以上各实施例均可以适用于直播场景,在应用过程中可以根据需要将两个或两个以上的实施例结合使用。本领域技术人员可以理解的是,以上实施例方案也不限于直播场景,本发明实施例中的方案中对于视频或图像采集、视频数据流的数据处理以及服务器的图像生成等方案也可以适用于非直播场景的播放需求,如录播、转播以及其他有低时延需求的场景。
本发明实施例中各设备或系统的具体实现方式、工作原理和具体作用及效果,可以参见对应方法实施例中的具体介绍。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时可以执行本发明上述任一实施例方法的步骤。
其中,所述计算机可读存储介质可以是光盘、机械硬盘、固态硬盘等各种适当的可读存储介质。所述计算机可读存储介质上存储的指令执行的方法,具体可参照上述各方法的实施例,不再赘述。
本发明实施例还提供了一种服务器,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时可以执行本发明上述任一实施例所述的方法的步骤。所述计算机指令运行时执行的方法具体实现可以参照上述实施例中的方法的步骤,不再赘述。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (14)

1.一种数据处理方法,其特征在于,应用于服务器,所述数据处理方法包括:
接收数据处理设备上传的多个同步视频帧的帧图像作为图像组合;
基于参数矩阵,确定所述图像组合相应的参数数据;
确定所述图像组合中各帧图像的深度数据;
基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,包括:根据所述预设的虚拟视点路径中各虚拟视点的虚拟参数数据以及所述图像组合相应的参数数据之间的关系,将所述图像组合中预设的帧图像的深度数据分别映射至相应的虚拟视点;根据分别映射至相应的虚拟视点的预设帧图像的像素数据和深度数据,以及预设的虚拟视点路径,进行帧图像重建,获得相应的多角度自由视角视频数据;其中,所述多角度自由视角视频数据包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据;
将所述多角度自由视角视频数据插入至播放控制设备的待播放数据流以用于通过播放终端进行播放。
2.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理设备通过以下方式获得用于上传的多个同步视频帧:
所述数据处理设备基于视频帧截取指令,从现场采集区域不同位置实时同步采集并上传的多路视频数据流中,截取指定帧时刻的视频帧得到用于上传的多个同步视频帧的帧图像,其中,所述多个同步视频帧的拍摄视角不同。
3.根据权利要求1或2所述的数据处理方法,其特征在于,还包括:
基于所述图像组合的像素数据和深度数据,生成所述图像组合相应的拼接图像,所述拼接图像包括第一字段和第二字段,其中,所述第一字段包括所述图像组合中预设帧图像的像素数据,所述第二字段包括所述图像组合的深度数据;
存储所述图像组合的拼接图像及所述图像组合相应的参数数据。
4.根据权利要求3所述的数据处理方法,其特征在于,还包括:
基于收到的来自交互终端的图像重建指令,确定交互时刻的交互帧时刻信息,将对应交互帧时刻的相应图像组合预设帧图像的拼接图像及相应图像组合相应的参数数据发送至所述交互终端,使得所述交互终端基于交互操作所确定的虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据及对应的参数数据,将选择的像素数据和深度数据进行组合渲染,重建得到所述交互帧时刻虚拟视点位置对应的多角度自由视角视频数据并进行播放。
5.一种服务器,其特征在于,与数据处理设备建立通信连接,所述服务器包括:
数据接收单元,适于接收所述数据处理设备上传的多个同步视频帧的帧图像作为图像组合;
参数数据计算单元,适于基于参数矩阵,确定所述图像组合相应的参数数据;
深度数据计算单元,适于确定所述图像组合中各帧图像的深度数据;
视频数据获取单元,适于基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,包括:数据映射子单元,适于根据所述预设的虚拟视点路径中各虚拟视点的虚拟参数数据以及所述图像组合相应的参数数据之间的关系,将所述图像组合中预设的帧图像的深度数据分别映射至相应的虚拟视点;数据重建子单元,适于根据分别映射至相应的虚拟视点的预设帧图像的像素数据和深度数据,以及预设的虚拟视点路径,进行帧图像重建,获得相应的多角度自由视角视频数据其中,所述多角度自由视角视频数据包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据;
第一数据传输单元,适于将所述多角度自由视角视频数据插入至播放控制设备的待播放数据流以用于通过播放终端进行播放。
6.根据权利要求5所述的服务器,其特征在于,所述多个同步视频帧为所述数据处理设备基于视频帧截取指令,在从现场采集区域不同位置实时同步采集并上传的多路视频数据流中对指定帧时刻的视频帧截取得到,其中,所述多个同步视频帧的拍摄角度不同。
7.根据权利要求5或6所述的服务器,其特征在于,还包括:
拼接图像生成单元,适于基于所述图像组合中预设帧图像的像素数据和深度数据,生成所述图像组合相应的拼接图像,所述拼接图像包括第一字段和第二字段,其中,所述第一字段包括所述图像组合中预设帧图像的像素数据,所述第二字段包括所述图像组合中预设帧图像的深度数据;
数据存储单元,适于存储所述图像组合的拼接图像及所述图像组合相应的参数数据。
8.根据权利要求7所述的服务器,其特征在于,还包括:
数据提取单元,适于基于收到的来自交互终端的图像重建指令,确定交互时刻的交互帧时刻信息,提取对应交互帧时刻的相应图像组合中预设帧图像的拼接图像及相应图像组合相应的参数数据;
第二数据传输单元,适于将所述数据提取单元提取的所述拼接图像以及相应图像组合相应的参数数据传输至所述交互终端,使得所述交互终端基于交互操作所确定的虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据及对应的参数数据,将选择的像素数据和深度数据进行组合渲染,重建得到交互帧时刻的虚拟视点位置对应的多角度自由视角视频数据并进行播放。
9.一种数据处理系统,其特征在于,包括:数据处理设备、服务器、播放控制设备以及播放终端,其中:
所述数据处理设备,适于基于视频帧截取指令,从现场采集区域不同位置实时同步采集的多路视频数据流中对指定帧时刻的视频帧截取得到多个同步视频帧,将获得的所述指定帧时刻的多个同步视频帧上传至所述服务器;
所述服务器,适于将接收所述数据处理设备上传的指定帧时刻的多个同步视频帧的帧图像作为图像组合,基于参数矩阵,确定所述图像组合相应的参数数据,及确定所述图像组合中各帧图像的深度数据,并基于所述图像组合相应的参数数据、所述图像组合中预设帧图像的像素数据和深度数据,对预设的虚拟视点路径进行帧图像重建,获得相应的多角度自由视角视频数据,包括:根据所述预设的虚拟视点路径中各虚拟视点的虚拟参数数据以及所述图像组合相应的参数数据之间的关系,将所述图像组合中预设的帧图像的深度数据分别映射至相应的虚拟视点;根据分别映射至相应的虚拟视点的预设帧图像的像素数据和深度数据,以及预设的虚拟视点路径,进行帧图像重建,获得相应的多角度自由视角视频数据;所述多角度自由视角视频数据包括:按照帧时刻排序的帧图像的多角度自由视角空间数据和多角度自由视角时间数据;
所述播放控制设备,适于将所述多角度自由视角视频数据插入待播放数据流;
所述播放终端,适于接收来自所述播放控制设备的待播放数据流并进行实时播放。
10.根据权利要求9所述的数据处理系统,其特征在于,所述服务器还适于基于所述图像组合中预设帧图像的像素数据和深度数据,生成所述图像组合中预设帧时刻的拼接图像,所述拼接图像包括第一字段和第二字段,其中,所述第一字段包括所述图像组合中预设帧图像的像素数据,所述第二字段包括所述图像组合中预设帧图像的深度数据的第二字段,并存储所述图像组合的拼接图像及所述图像组合相应的参数数据。
11.根据权利要求10所述的数据处理系统,其特征在于,还包括:
交互终端,适于基于触发操作,确定交互帧时刻信息,向服务器发送包含交互帧时刻信息的图像重建指令,接收从所述服务器返回的对应交互帧时刻的图像组合中预设帧图像的拼接图像及对应的参数数据,并基于交互操作确定虚拟视点位置信息,按照预设规则选择所述拼接图像中相应的像素数据和深度数据及对应的参数数据,将选择的像素数据和深度数据进行组合渲染,重建得到所述交互帧时刻虚拟视点位置对应的多角度自由视角视频数据并进行播放。
12.根据权利要求11所述的数据处理系统,其特征在于,其特征在于,所述播放终端与所述交互终端为同一终端设备。
13.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至4任一项所述方法的步骤。
14.一种服务器,包括存储器和处理器,所述存储器上存储有能够在所述处理器上运行的计算机指令,其特征在于,所述处理器运行所述计算机指令时执行权利要求1至4任一项所述方法的步骤。
CN201911032846.2A 2019-10-28 2019-10-28 数据处理方法及系统、服务器和存储介质 Active CN112738534B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911032846.2A CN112738534B (zh) 2019-10-28 2019-10-28 数据处理方法及系统、服务器和存储介质
PCT/CN2020/124278 WO2021083178A1 (zh) 2019-10-28 2020-10-28 数据处理方法及系统、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911032846.2A CN112738534B (zh) 2019-10-28 2019-10-28 数据处理方法及系统、服务器和存储介质

Publications (2)

Publication Number Publication Date
CN112738534A CN112738534A (zh) 2021-04-30
CN112738534B true CN112738534B (zh) 2023-06-23

Family

ID=75589253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911032846.2A Active CN112738534B (zh) 2019-10-28 2019-10-28 数据处理方法及系统、服务器和存储介质

Country Status (2)

Country Link
CN (1) CN112738534B (zh)
WO (1) WO2021083178A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113256491A (zh) * 2021-05-11 2021-08-13 北京奇艺世纪科技有限公司 自由视角数据处理方法、装置、设备及存储介质
CN113989432A (zh) * 2021-10-25 2022-01-28 北京字节跳动网络技术有限公司 3d影像的重构方法、装置、电子设备及存储介质
CN113873264A (zh) * 2021-10-25 2021-12-31 北京字节跳动网络技术有限公司 显示图像的方法、装置、电子设备及存储介质
CN114007100A (zh) * 2021-10-28 2022-02-01 深圳市商汤科技有限公司 视频处理方法、装置、计算机设备以及存储介质
CN114125178A (zh) * 2021-11-16 2022-03-01 阿里巴巴达摩院(杭州)科技有限公司 视频拼接方法、设备和可读介质
CN114416365B (zh) * 2022-01-18 2022-09-27 北京拙河科技有限公司 基于gpu融合处理的超清画质图像数据处理方法与装置
CN114461165B (zh) * 2022-02-09 2023-06-20 浙江博采传媒有限公司 虚实相机画面同步方法、装置及存储介质
CN115361576A (zh) * 2022-07-20 2022-11-18 中国电信股份有限公司 视频数据处理方法、装置,以及,电子设备
CN117857769B (zh) * 2024-03-07 2024-07-05 长江龙新媒体有限公司 自适应多摄像机捕获与实时自由视角视频渲染方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101312542B (zh) * 2008-07-07 2010-09-08 浙江大学 一种自然三维电视系统
US8774267B2 (en) * 2010-07-07 2014-07-08 Spinella Ip Holdings, Inc. System and method for transmission, processing, and rendering of stereoscopic and multi-view images
CN102376146A (zh) * 2010-08-20 2012-03-14 上海弘视通信技术有限公司 基于图像分析报警信号的报警事件信息保存方法
US20130050415A1 (en) * 2011-08-30 2013-02-28 Himax Technologies Limited System and Method of Handling Data Frames for Stereoscopic Display
US9047688B2 (en) * 2011-10-21 2015-06-02 Here Global B.V. Depth cursor and depth measurement in images
CN102568026B (zh) * 2011-12-12 2014-01-29 浙江大学 一种多视点自由立体显示的三维增强现实方法
CN102724529B (zh) * 2012-05-28 2014-08-06 清华大学 虚拟视点视频序列的生成方法及生成装置
KR20160024419A (ko) * 2014-08-25 2016-03-07 국방과학연구소 Dibr 방식의 입체영상 카메라 판별 방법 및 장치
CN104506922A (zh) * 2014-12-31 2015-04-08 乐视网信息技术(北京)股份有限公司 一种视频信号播放方法、装置及设备
CN104602129B (zh) * 2015-01-27 2018-03-06 三星电子(中国)研发中心 互动式多视角视频的播放方法及系统
KR20160135660A (ko) * 2015-05-18 2016-11-28 한국전자통신연구원 헤드 마운트 디스플레이를 위한 입체 영상을 제공하는 방법 및 장치

Also Published As

Publication number Publication date
CN112738534A (zh) 2021-04-30
WO2021083178A1 (zh) 2021-05-06

Similar Documents

Publication Publication Date Title
CN112738010B (zh) 数据交互方法及系统、交互终端、可读存储介质
CN112738534B (zh) 数据处理方法及系统、服务器和存储介质
CN112738495B (zh) 虚拟视点图像生成方法、系统、电子设备及存储介质
KR102218519B1 (ko) 비디오 데이터의 콘텐츠 기반 스트림 분할
US9832450B2 (en) Methods and apparatus for generating and using reduced resolution images and/or communicating such images to a playback or content distribution device
WO2022022501A1 (zh) 视频处理方法、装置、电子设备及存储介质
CN111669567B (zh) 多角度自由视角视频数据生成方法及装置、介质、服务器
US11282169B2 (en) Method and apparatus for processing and distributing live virtual reality content
JP7320146B2 (ja) ディスオクルージョンアトラスを用いたマルチビュービデオ動作のサポート
CN111669518A (zh) 多角度自由视角交互方法及装置、介质、终端、设备
CN111669561B (zh) 多角度自由视角图像数据处理方法及装置、介质、设备
WO2022022348A1 (zh) 视频压缩方法、解压方法、装置、电子设备及存储介质
TW202029742A (zh) 影像合成
US20220053222A1 (en) Apparatus and method for generating an image data stream
CN112738646B (zh) 数据处理方法、设备、系统、可读存储介质及服务器
GB2584282A (en) Image acquisition system and method
CN112738009B (zh) 数据同步方法、设备、同步系统、介质和服务器
CN111669570B (zh) 多角度自由视角视频数据处理方法及装置、介质、设备
CN112734821B (zh) 深度图生成方法、计算节点及计算节点集群、存储介质
CN111669568A (zh) 多角度自由视角交互方法及装置、介质、终端、设备
CN111669569A (zh) 一种视频生成方法及装置、介质、终端
CN111669604A (zh) 一种采集设备设置方法及装置、终端、采集系统、设备
CN111669603A (zh) 多角度自由视角数据处理方法及装置、介质、终端、设备
TWI817273B (zh) 即時多視像視訊轉換方法和系統
CN111669571B (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