全景视频数据处理方法、装置、电子装置和存储介质与流程



1.本技术涉及数据处理领域,特别是涉及一种全景视频数据处理方法、装置、电子装置和存储介质。


背景技术:



2.视频安防已成为安防行业密不可分的一部分,如今大部分的监控使用场景中,都需要对环境进行360度监控,传统的单镜头监控难以满足。伴随着科技的发展,视频数据可用多镜头相机进行全景采集,视频的解码方式也变为全景解码,便可衍生出新的播放方式—全景视频播放。用户可通过鼠标挪动视频,实现全方位观看;甚至可以通过重力感应装置,感应人头部的转动来代替鼠标拖动,让人身临其境地观看视频。
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.所述从数据系统中获取全景视频图像的数据流和标签信息还包括:
31.根据所述标签位置信息从服务器中获取相应的标签内容信息,所述标签内容信息包括标签名称信息和标签图片信息。
32.在其中的一些实施例中,所述标签操作请求至少包括如下之一:标签增加请求、标签删除请求和标签修改请求;
33.所述接收用户输入的标签操作请求,并将所述标签操作请求发送至所述数据系统包括:
34.接收用户输入的标签增加请求,所述标签增加请求包括标签增加指令和新增的标签信息,将所述标签增加指令和所述新增的标签信息发送至所述数据系统;
35.和/或接收用户输入的标签删除请求,所述标签删除请求包括标签删除指令,将所述标签删除指令发送至所述数据系统;
36.和/或接收用户输入的标签修改请求,所述标签修改请求包括标签修改指令和修改后的标签信息,将所述标签修改指令和所述修改后的标签信息发送至所述数据系统。
37.第二个方面,在本实施例中提供了一种全景视频数据处理装置,所述装置包括:
38.数据接收模块,用于从数据系统中获取全景视频图像的数据流和标签信息;
39.数据解码模块,用于对所述数据流进行全景解码,并根据解码后的数据流得到所
述全景视频图像;
40.标签获取模块,用于根据所述标签信息确定标签在所述全景视频图像中的标记位置,并在所述标记位置绘制所述标签;
41.请求接收模块,用于接收用户输入的标签操作请求,并将所述标签操作请求发送至所述数据系统,其中所述标签操作请求用于更新所述数据系统中的标签信息。
42.第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的全景视频数据处理方法。
43.第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的全景视频数据处理方法。
44.与相关技术相比,在本实施例中提供的全景视频数据处理方法,客户端不仅能够根据已有的标签信息,在全景视频图像中绘制标签,同时当用户输入标签操作请求后,能够根据该标签操作请求更新标签信息。解决了现有的全景视频播放技术,不支持用户在全景视频中增加、删除、修改标签等操作的问题,实现了在客户端上根据用户操作更新标签的效果。
45.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
46.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
47.图1是本实施例的一种全景视频数据处理方法的终端的硬件结构框图。
48.图2是本实施例的一种全景视频数据处理系统的结构框图。
49.图3是本实施例的一种全景视频数据处理方法的流程图。
50.图4是本实施例中的采用全景解码方式的全景视频图像。
51.图5是本实施例中的采用原始解码方式的全景平面图像。
52.图6是本优选实施例的一种全景视频数据处理系统的系统框图。
53.图7是本优选实施例的一种全景视频数据处理方法流程图。
54.图8是本实施例的一种全景视频数据处理装置的结构框图。
具体实施方式
55.为更清楚地理解本技术的目的、技术方案和优点,下面结合附图和实施例,对本技术进行了描述和说明。
56.除另作定义外,本技术所涉及的技术术语或者科学术语应具有本技术所属技术领域具备一般技能的人所理解的一般含义。在本技术中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本技术中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤
或模块(单元)。在本技术中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本技术中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本技术中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
57.在本实施例中提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。比如在终端上运行,图1是本实施例的一种全景视频数据处理方法的终端的硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102和用于存储数据的存储器104,其中,处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置。上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限制。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示出的不同配置。
58.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如在本实施例中的一种全景视频数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
59.传输设备106用于经由一个网络接收或者发送数据。上述的网络包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
60.在本实施例中提供了一种全景视频数据处理系统,图2是本实施例的一种全景视频数据处理系统的结构框图。如图2所示,该全景视频数据处理系统包括:客户端210、服务器220和前端设备230,其中客户端210可以为多个。客户端210的主要作用为播放全景视频和提供标签操作入口,具体的从前端设备230中获取全景视频的数据流,从而播放相应的全景视频,同时从服务器220中获取标签内容信息,且数据流中包含标签位置信息,进而在全景视频画面中绘制标签,以及接收用户输入的标签操作指令,并将这些指令发送给服务器220。服务器220的主要作用为存储标签信息和透传标签操作指令,具体的标签位置信息和标签内容信息均存储在服务器220中,同时将标签位置信息同步至前端设备230中,当接收到标签操作指令后,执行相应的操作动作,比如增加、删除、修改标签信息,并将标签操作指令发送给前端设备230。前端设备230主要作用为存储标签位置信息,并且将标签位置信息携带在全景视频的数据流中,当接收到标签操作指令后,执行相应的操作动作,比如增加、删除、修改数据流中的标签位置信息。
61.在本实施例中提供了一种全景视频数据处理方法,该全景视频数据处理方法可应用在本实施例中提供的全景视频数据处理系统中。图3是本实施例的一种全景视频数据处
理方法的流程图,如图3所示,该流程包括如下步骤:
62.步骤s310,从数据系统中获取全景视频图像的数据流和标签信息。
63.具体的,数据系统可以是由服务器和前端设备构成的系统,主要为客户端提供视频数据。当客户端接收到用户输入的打开全景视频的请求后,从数据系统中获取数据流和标签信息,数据流用于播放全景视频图像,标签信息用于在全景视频图像中绘制标签。
64.步骤s320,对数据流进行全景解码,并根据解码后的数据流得到全景视频图像。
65.具体的,客户端对数据流采用全景解码的方式进行解码,从而获得全景视频的帧画面,即获得全景视频图像,并连续播放这些全景视频图像。需要进一步说明的是,对数据流的解码方式可以有两种。一是本步骤中采用的全景解码方式,图4是本实施例中的采用全景解码方式的全景视频图像,如图4所示,解码后获得的帧画面能够模拟实际场景的球形视觉效果;二是采用数据流的原始解码方式,图5是本实施例中的采用原始解码方式的全景平面图像,如图5所示,解码后的帧画面呈现将球面铺开成平面的视觉效果,画面具有一定的畸变。本步骤中,客户端采用全景解码方式进行解码,从而以图4中所展示的视觉效果播放全景视频图像。
66.步骤s330,根据标签信息确定标签在全景视频图像中的标记位置,并在标记位置绘制标签。
67.具体的,客户端在开始播放全景视频图像后,根据标签信息在全景视频图像上绘制相应的标签。具体的标签信息包括标签位置信息和标签内容信息,然后根据标签位置信息确定标签在全景视频图像中的标记位置,并根据标签内容信息在相应的位置绘制标签。需要进一步说明的是,本步骤中是确定标签在全景视频图像中的位置,而不是在全景平面图像中的位置。因此在其中的一个具体实施例中,当标签位置信息为标签在图像中的坐标时,则需要将标签在全景平面图像中的坐标转换为标签在全景视频图像中的坐标。
68.步骤s340,接收用户输入的标签操作请求,并将标签操作请求发送至数据系统,其中标签操作请求用于更新数据系统中的标签信息。
69.具体的,客户端在播放全景视频的过程中,还可以接收用户输入的标签操作请求,并将该标签操作请求发送至数据系统,数据系统根据该标签操作请求更新标签信息,从而使得客户端之后可以获取到更新后的标签信息,并根据新的标签信息绘制新标签,从而实现标签的更新。
70.需要进一步说明的是,在其中一个优选的实施例中,客户端通过实时传输协议与数据系统通信,因此客户端从数据系统中获取的数据流和标签信息是实时更新的。进而在一次完整的播放全景视频过程中,客户端是可以循环重复执行上述步骤的。比如客户端获取当前时刻的数据流和标签信息后,进行当前全景视频帧播放,并在当前全景视频帧画面中绘制相应的标签(步骤s310-s330),若此时还接收到用户输入的标签操作请求,则将标签操作请求发送至数据系统,用以更新标签信息(步骤s340),然后重新执行步骤s310-s330,即获取下一时刻的视频流和标签信息,而下一时刻的标签信息为更新后的标签信息,从而根据更新后的标签信息重新绘制标签。上述过程为一次完整的标签实时刷新过程。
71.通过上述步骤,客户端不仅能够根据已有的标签信息,在全景视频图像中绘制标签,还可以在全景视频图像中修改标签。而且当客户端与数据系统采用实时传输协议时,当用户输入标签操作请求后,能够根据该标签操作请求及时更新标签信息,然后客户端在下
一时刻根据该更新后的标签信息绘制新的标签,从而实现了在客户端上根据用户操作实时更新标签的效果,比如实现增加、删除、修改标签。而且客户端不会根据标签操作请求直接执行相应的操作,而是将标签操作请求发送至数据系统,在数据系统中更新标签信息,然后再获取更新后的标签信息重新绘制标签。由于实际使用时客户端可以有多个,多个客户端共同连接同一个数据系统,因此当其中一个客户端接收用户输入的标签操作请求时,在其他客户端中可以同步接收到更新后的标签信息。
72.在其中的一些实施例中,步骤对数据流进行全景解码,并根据解码后的数据流得到全景视频图像具体包括:
73.建立全景坐标模型,并确定全景视频的初始视角;
74.根据全景坐标模型对数据流进行全景解码,并根据解码后的数据流得到具有初始视角的全景视频图像。
75.具体的本实施例中,全景解码需要在全景坐标模型中进行,其中全景坐标模型至少包括球面坐标模型和柱面坐标模型。因此需要客户端在对数据流进行全景解码之前,先建立全景坐标模型,然后根据该全景坐标模型完成全景解码;同时需要确定全景视频图像的初始视角,并以该初始视角开始播放全景视频图像。
76.在其中的一些具体实施例中,标签信息包括标签位置信息,数据系统包括前端设备;
77.步骤从数据系统中获取全景视频图像的数据流和标签信息具体包括:
78.从前端设备中获取全景视频图像的数据流,其中数据流中携带有标签位置信息;
79.从数据流中提取标签位置信息,标签位置信息包括第一坐标,其中第一坐标为标签在全景平面图像中的坐标;
80.步骤根据标签信息确定标签在全景视频图像中的标记位置具体包括:
81.根据预设的第一转换规则,将第一坐标转换为第二坐标,并根据第二坐标确定全景视频图像中的标记位置,其中第二坐标为标签在全景视频图像中的坐标。
82.具体的本实施例中,客户端向前端设备发送获取相应url(统一资源定位符)的请求,当接收到前端设备返回的url后,基于该url向前端设备发送获取数据流的请求,前端设备接收到该请求后,向客户端发送相应全景视频图像的数据流。标签信息至少包括了标签位置信息,而标签位置信息在数据系统中的服务器和前端设备内均有存储,前端设备发送的数据流中便携带有该标签位置信息,因此客户端可以直接从获取到的数据流中提取标签位置信息。优选的,客户端通过实时传输协议从前端设备中获取数据流,比如rtsp协议。其中,标签位置信息包括标签在全景平面图像中的坐标,而全景平面图像是通过原始方式解码数据流获得的,其视觉效果不如通过全景解码方式获得的全景视频图像,而本实施例中的客户端采用的全景解码方式,因此需要将标签在全景平面图像中的坐标转换为标签在全景视频图像中的坐标,从而根据该坐标确定标签在全景视频图像中的位置。
83.进一步的,在其中一个具体实施例中,全景视频的初始视角包括初始角度和初始高度;全景坐标模型包括柱面坐标模型和球面坐标模型;
84.步骤根据预设的第一转换规则,将第一坐标转换为第二坐标具体包括:
85.基于初始角度和初始高度,在柱面坐标模型下将第一坐标转换为柱面坐标;
86.在球面坐标模型下将柱面坐标转换为球面坐标;
87.通过预设的坐标处理规则,将球面坐标转换为第二坐标。
88.具体的本实施例中,将标签在全景平面图像中的坐标转换为标签在全景视频图像中的坐标的具体流程为:在柱面坐标模型下结合初始角度和初始高度对第一坐标进行转换,从而得到相应的柱面坐标;然后在球面坐标模型下对相应的柱面坐标进行转换,从而得到相应的球面坐标;最后根据预设的处理规则对相应的球面坐标进行处理,最终得到转换后的第二坐标。其中具体的,预设的处理规则包括:对球面坐标进行坐标齐次化处理,然后与变换矩阵乘积实现坐标变换,最后进行坐标归一化处理,从而获得标签在全景视频图像中的坐标。
89.进一步说明的是,本实施例中的坐标转换功能描述为数学模型则为:已知全景平面坐标系中的任意一点a=(x,y),求经过vr转换后,a点对应在vr图(全景视频图像)坐标系中a

的坐标值(x,y)。本实施例中的vr效果是360*90的下半球模型。
90.首先,图像坐标系是以左上角为原点,向右水平方向为x轴正方向,向下垂直方向为y轴正方向,本实施例中全景视频图像坐标系沿用现有的鱼眼vr坐标系。
91.接着,将全景平面坐标系中的坐标(x,y)转化为柱面坐标,类似于将一幅完整的平面图像卷成卷轴。柱面坐标系中,y方向量与图像坐标系中大小相等,方向相反,x方向变成圆柱圆周,并且最后做一次归一化。这样,得到柱面坐标与图像坐标的关系如下:
[0092][0093]
其中,x,y为全景平面坐标系中的坐标,w为图像宽度,h为图像高度。
[0094]
其次,将柱面坐标转换为下半球坐标,将柱面下半部分收缩,转换为半球。先求半球坐标中y

,具体的计算公式为:知道了y

的坐标后,可以根据圆方程得到y

所在点的同心圆半径求得,x

=x

*r

,z

=z

*r

,归结起来得到半球坐标与圆柱坐标的关系如下公式所示:
[0095][0096]
通过上述步骤,则已经将全景平面坐标系中的坐标点转换为半球坐标系中的坐标点。
[0097]
最后,将半球坐标系中的坐标与变换矩阵结合。将(x

,y

,z

)转换成齐次向量:
再与投影矩阵(p)、视图矩阵(v)、模型矩阵(m)相乘,即可得到四维的空间坐标(x

,y

,z

,w

),公式如下所示:
[0098][0099]
归一化,最终得到:
[0100][0101]
上述过程则是将全景平面坐标系中坐标转换为全景视频图像坐标系中坐标的完整流程。
[0102]
进一步的,在其中一个具体实施例中,步骤根据第二坐标确定全景视频图像中的标记位置具体包括:
[0103]
确定播放窗口中展示的当前全景视频图像,并确定处于当前全景图像中的第二坐标;
[0104]
根据预设的第二转换规则,将处于当前全景图像中的第二坐标转换为第三坐标,其中第三坐标为标签在播放窗口中的坐标;
[0105]
根据第三坐标确定标记位置。
[0106]
具体的本实施例中,由于全景视频图像是360
°
的球形图像,而播放窗口在同一时刻仅能展示部分全景视频图像,该部分全景视频图像即为当前全景视频图像,因此客户端在同一时刻只需要绘制播放窗口所展示的当前全景视频图像中的标签即可。客户端需要先确定播放窗口中展示的当前全景视频图像,再确定处在当前全景视频图像中的第二坐标,从而可确定处在播放窗口内的标签。进一步的,为了确定标签在播放窗口中的相对位置,因此需要在当前全景视频图像上建立新的坐标系,然后将标签在全景视频图像中的标签转换为第三坐标,第三标签即为标签在新坐标系中的坐标,根据该坐标可确定标签在该播放窗口中的相对位置。以初始播放窗口为例进行说明。一般的初始播放窗口的中心点与全景视频图像的坐标原点对应,即初始播放窗口中展示的初始全景视频图像的中点坐标为(0,0)。此时可以将初始播放窗口的其中一个边角顶点作为原点,从而建立新的坐标系,并且将标签在全景视频图像中的坐标值,与播放窗口的其中一个边角顶点在全景视频图像中的坐标值进行比较,从而得到两个比值xn和yn,若是两个比值都处在区间(-1,1)中,则说明相应的标签在初始播放窗口内,进而确定该标签是需要绘制的标签,然后将该标签在全景图像中的坐标转换为其在新的坐标系中的坐标。
[0107]
以下示例涉及的坐标系皆为横坐标x值向左递增,纵坐标y值向下递增。
[0108]
示例性地,以初始播放窗口的左上角顶点为原点建立针对当前全景视频图像的新坐标系,并将标签在全景视频图像中的坐标值,与初始播放窗口右下角顶点在全景视频图
像中的坐标值进行比较,从而确定两个比值xn和yn,则标签在新的坐标系中的坐标(x,y)满足:x=(1+xn)*w/2(w为初始播放窗口的宽)、y=(1+yn)*h/2(h为初始播放窗口的高)。具体的在该示例中,可将初始播放窗口的宽度设置为100且高度设置为200,即初始播放窗口的右下角顶点在新坐标系中的坐标为(100,200),由于初始播放窗口的中心点对应全景视频图像的坐标原点对应,因此初始播放窗口右下角顶点在全景视频图像中的坐标为(50,100)。比如当标签在全景视频图像中的坐标为(50,100),则比值xn和yn分别为1、1,带入计算式求得x和y分别为100、200,标签在新坐标系中的坐标为(100、200),即处在初始播放窗口的右下角顶点位置。又比如当标签在全景视频图像中的坐标为(0,0),则比值xn和yn分别为0、0,带入计算式求得x和y分别为50、100,标签在新坐标系中的坐标为(50、100),即处在初始播放窗口的中心点位置。又比如当标签在全景视频图像中的坐标为(50,100),则比值xn和yn分别为-1、-1,带入计算式求得x和y分别为0、0,标签在新坐标系中的坐标为(0、0),即处在初始播放窗口的左上角顶点位置。
[0109]
在其中的一些实施例中,标签信息还包括标签内容信息,数据系统还包括服务器;
[0110]
步骤从数据系统中获取全景视频图像的数据流和标签信息具体还包括:
[0111]
根据标签位置信息从服务器中获取相应的标签内容信息,标签内容信息包括标签名称信息和标签图片信息。
[0112]
具体的本实施例中,数据系统还包括服务器,标签信息还包括标签内容信息,标签内容信息主要存储在服务器中,因此客户端需要从服务器中获取该标签内容信息。客户端在获取标签位置信息后,在从服务器中获取与该标签位置信息相关联的标签内容信息,标签内容信息和标签位置信息可以通过标签的唯一标识进行对应。进一步的标签内容信息包括标签名称信息和标签图片信息,名称信息即为该标签的标识名称,而图片信息可以为与该标签对应的联动图片,或是联动图片的url。
[0113]
在其中的一些实施例中,标签操作请求至少包括如下之一:标签增加请求、标签删除请求和标签修改请求;
[0114]
接收用户输入的标签操作请求,并将标签操作请求发送至数据系统包括:
[0115]
接收用户输入的标签增加请求,标签增加请求包括标签增加指令和新增的标签信息,将标签增加指令和新增的标签信息发送至数据系统;
[0116]
和/或接收用户输入的标签删除请求,标签删除请求包括标签删除指令,将标签删除指令发送至数据系统;
[0117]
和/或接收用户输入的标签修改请求,标签修改请求包括标签修改指令和修改后的标签信息,将标签修改指令和修改后的标签信息发送至数据系统。
[0118]
具体的本实施例中,标签操作请求至少包括三种。具体的,客户端可以将该标签操作请求发送至数据系统中的服务器,服务器根据该标签操作请求更新其内部存储的标签位置信息和标签内容信息,同时将该标签操作请求转发至前端设备中,前端设备根据该标签操作请求更新其内部存储的标签位置信息。其中一种请求为标签增加请求,即在当前全景视频图像中增加新的标签。用户在使用时可以标记需要增加标签的图像位置,然后输入标签的名称以及相关联的图片(标签内容信息),则客户端将被用户标记位置的坐标作为新标签的坐标(标签位置信息),然后与标签的名称以及相关联的图片进行绑定,进而上述信息构成了新增的标签信息,并将新增的标签信息和标签增加指令发送给服务器。服务器根据
标签增加指令执行增加标签的动作,从而将新增的标签信息进行存储,同时服务器将标签的坐标同步至前端设备中,前端设备也对该标签的坐标进行存储。需要进一步说明的是,标签位置信息和标签内容信息通过标识id进行绑定,即每一个标签均具有唯一识别的id,属于同一标签的标签位置信息和标签内容信息,均与相应id呈映射关系。另一种请求为标签删除请求,用户在使用时可以将已有标签进行删除,则客户端将标签删除指令和待删除标签的id发送服务器,服务器格努该标签删除指令删除与相应id关联的标签位置信息和标签内容信息,并将接收到的数据指令透传给前端设备,前端设备根据标签删除指令伤处与相关id关联的标签位置信息,进而在下一时刻的数据流中将不携带已被删除的坐标位置信息,进而客户端也不会在下一帧画面中绘制已被删除的标签。还有一种请求为标签修改请求,用户在使用时可以修改已有标签的标签内容,并将修改后的标签信息和标签修改指令发送给服务器,服务器根据标签修改指令,将修改后的标签信息替换原有的标签信息。
[0119]
下面通过优选实施例对本实施例进行描述和说明。
[0120]
图6是本优选实施例的一种全景视频数据处理系统的系统框图。如图6所示,该全景视频数据处理系统包括:客户端210、服务器220和前端设备230。
[0121]
其中,客户端210的主要功能为:
[0122]
处理用户打开视频,标签增删改等操作;
[0123]
对视频进行全景解码;
[0124]
将码流中标签的全景平面坐标转换为全景视频坐标,计算并叠加在全景视频中。
[0125]
服务器220的主要功能为:
[0126]
向设备获取rtsp信息,返回给客户端;
[0127]
存储标签的详细信息(名称、联动信息等);
[0128]
将标签增删改操作发给设备。
[0129]
前端设备230的主要功能为:
[0130]
存储标签位置,携带在码流中(不直接叠加在视频画面上);
[0131]
向服务返回rtsp信息;
[0132]
处理客户端的rtsp拉流。
[0133]
使用时用户向客户端210进行操作,包括打开视频、标签操作(标签增/删/改);客户端210负责给使用者提供操作入口、拉流并提取码流中的标签坐标,并将全景平面坐标转换为全景视频坐标,再向服务器220获取每个标签的详细信息(名称、联动图片等),最后在视频画面上绘制并叠加;服务器220存储标签详细信息,并且负责透传客户端的请求;前端设备230负责采集画面、存储标签位置、支持客户端的rtsp取流。
[0134]
图7是本优选实施例的一种全景视频数据处理方法流程图。如图7所示,该全景视频数据处理方法包括如下步骤:
[0135]
步骤s700,向前端设备获取拉流url,获取url后进行rtsp拉流。具体的在接收用户请求打开全景视频后,客户端执行该步骤,并判断是否拉流成功。若是拉流失败则结束流程,若是拉流成功则执行后续步骤s710。
[0136]
步骤s710,建立柱面坐标模型和球面坐标模型,并选定初始角度和初始高度。具体的客户端在拉流成功后执行该步骤。
[0137]
步骤s720,全景视频解码,并开始播放全景视频。具体的客户端对设备码流进行全
景解码,并返回初始角度和高度上的视频帧进行播放。
[0138]
步骤s730,解析码流中所有标签在全景平面上的坐标信息。
[0139]
步骤s740,获取每个标签的详细信息。具体的客户端从服务器中获取标签的详细信息,包括标签名称和标签联动信息。
[0140]
步骤s750,开始遍历所有标签的全景平面坐标,将其转化为全景图像上的坐标;具体的转换手段为:首先在柱面坐标模型下结合初始角度和高度对全景平面坐标进行坐标转换,然后在球面坐标模型下进行坐标转换,最后进行坐标齐次化、与变换矩阵乘积、坐标归一化处理,得到标签在全景图像上的坐标。
[0141]
步骤s760,输出全景图像上的标签坐标与视频窗口的比值xn和yn。具体的,客户端输出标签n转换坐标值与视频窗口坐标的比值xn和yn(n取[0,a),a为标签数量)。
[0142]
步骤s770,确定xn、yn均在区间(-1,1]内的标签坐标。具体的,客户端遍历每个输出的比值xn,yn,筛选出比值都在(-1,1]区间内的坐标点。
[0143]
步骤s780,计算坐标转换,将标签在全景视频上的坐标转换为当前全景图像上(视频播放窗口中的全景图像)的坐标点(x,y),其中:x=(1+xn)*w/2(w为播放窗口宽),y=(1+yn)*h/2(h为播放窗口高)。
[0144]
步骤s790,选择标签样式图片,在屏幕(播放窗口)(x,y)处绘制标签,并携带标签信息。
[0145]
上述流程中,步骤s750-步骤s790可称为一次标签刷新,开始全景视频播放后,需在标签变动后(标签增加/删除/修改)实时进行标签刷新。并且在步骤s790结束后判断是否遍历所有标签的全景平面坐标,若是则流程结束,若否则继续执行步骤s750。
[0146]
该方法是由客户端来进行标签叠加绘制,相比于在设备上直接叠加,能进行更灵活的交互,如显示/隐藏标签,双击标签查看联动信息等。
[0147]
下面对上述流程中的标签刷新过程作进一步说明,标签刷新流程包括如下步骤:
[0148]
步骤a,客户端获取全景视频的码流,其中码流中包含已有的标签信息,客户端根据解析码流进行全景视频播放,并根据已有标签信息在全景视频中绘制现有标签。示例性地,客户端通过视频url取流,前端设备向客户端返回携带标签id和标签坐标的数据流;然后客户端向服务器获取标签详细信息,服务器向客户端返回所有标签id和标签坐标以及标签详细信息(名称和联动信息);进一步的,当客户端需要绘制id为a的标签时,则客户端从服务器发送的所有标签信息中,查询id为a的标签所对应的标签详细信息;最后结合名称、坐标、联动信息,绘制id为a的标签。
[0149]
步骤b,接收用户输入的标签操作,标签操作包括增加、删除、修改,客户端将操作点转换为全景图上的坐标,并把用户对标签的操作下给前端设备,前端设备相应修改用于存储标签信息的数据库,并返回码流,码流中附带修改后的标签信息。示例性地,用户在播放窗口(x1,y1)处增加标签,并输入标签名称以及图片url,客户端则为该标签生成唯一id,通过该id关联该绑定上述坐标信息、名称信息、图片信息,并将这些标签信息以及增加标签请求发送给服务器,服务器对这些标签信息进行存储,并将标签id和标签坐标同步值前端设备中,进而便完成了一次添加标签操作。
[0150]
步骤c,客户端更新标签状态、并根据修改后的标签信息重新绘制标签。
[0151]
上述步骤是用户在平台(客户端+服务器)上增加/删除/修改标签时的过程,开始
播放之后设备会持续返回附带标签信息的码流,当用户进行了标签的增删改操作后,会将操作下发给设备,设备修改存储标签信息的数据库,并且更新码流中附带的标签信息,平台检测到标签信息变化后,客户端重新绘制标签。
[0152]
需要进一步说明的是,本优选实施例中的多个术语解释包括:
[0153]
平台:向用户提供设备相关服务的媒介,包括客户端和服务器;
[0154]
全景平面:将全景设备码流以原始方式解码则为全景平面,呈现将球面铺开成平面的效果,图形有畸变,视觉效果可参照图5。
[0155]
全景视频:将全景设备码流建立球面模型进行全景解码后的效果,基本无畸变,可鼠标360度拖动观看,视觉效果可参照图4。
[0156]
通过上述优选实施例对本实施例中的全景视频数据处理方法做了进一步说明。本实施例中提供了一种能够实现让用户在全景视频上添加标签的方法,以提升用户与视频间的互动,与传统的全景视频相比,用户能通过对全景视频“记笔记”的行为,获得更良好的观看体验。
[0157]
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以不同于此处的顺序执行所示出或描述的步骤。例如,步骤s310-s340是循环执行的,而且在该循环执行过程中,步骤s340只有在用户具有操作时才会执行,其他时间并不参与循环执行过程。
[0158]
在本实施例中还提供了一种全景视频数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0159]
图8是本实施例的一种全景视频数据处理装置的结构框图,如图8所示,该装置包括:
[0160]
数据接收模块810,用于从数据系统中获取全景视频图像的数据流和标签信息;
[0161]
数据解码模块820,用于对数据流进行全景解码,并根据解码后的数据流得到全景视频图像;
[0162]
标签获取模块830,用于根据标签信息确定标签在全景视频图像中的标记位置,并在标记位置绘制标签;
[0163]
请求接收模块840,用于接收用户输入的标签操作请求,并将标签操作请求发送至数据系统,其中标签操作请求用于更新数据系统中的标签信息。
[0164]
通过上述模块,客户端不仅能够根据已有的标签信息,在全景视频图像中绘制标签,同时当用户输入标签操作请求后,能够根据该标签操作请求及时更新标签信息,然后客户端在下一时刻根据该更新后的标签信息绘制新的标签,从而实现了在客户端上根据用户操作实现更新标签的效果,比如实现增加、删除、修改标签。而且客户端不会根据标签操作请求直接执行相应的操作,而是将标签操作请求发送至服务器,在服务器和前端设备中更新标签信息,然后再获取更新后的标签信息重新绘制标签。由于实际使用时客户端可以有多个,多个客户端共同服务器和前端设备,因此当其中一个客户端接收用户输入的标签操作请求,在其他客户端中可以同步接收到更新后的标签信息。
[0165]
上述各个模块进一步具体的工作原理在方法实施例中已经具体说明,因此在此处不再赘述。
[0166]
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
[0167]
在本实施例中还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0168]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0169]
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
[0170]
步骤s310,从数据系统中获取全景视频图像的数据流和标签信息。
[0171]
步骤s320,对数据流进行全景解码,并根据解码后的数据流得到全景视频图像。
[0172]
步骤s330,根据标签信息确定标签在全景视频图像中的标记位置,并在标记位置绘制标签。
[0173]
步骤s340,接收用户输入的标签操作请求,并将标签操作请求发送至数据系统,其中标签操作请求用于更新数据系统中的标签信息。
[0174]
需要说明的是,在本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,在本实施例中不再赘述。
[0175]
此外,结合上述实施例中提供的全景视频数据处理方法,在本实施例中还可以提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种全景视频数据处理方法。
[0176]
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本技术提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本技术保护范围。
[0177]
显然,附图只是本技术的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本技术适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本技术披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本技术公开的内容不足。
[0178]“实施例”一词在本技术中指的是结合实施例描述的具体特征、结构或特性可以包括在本技术的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本技术中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
[0179]
以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。

技术特征:


1.一种全景视频数据处理方法,其特征在于,所述方法包括:从数据系统中获取全景视频图像的数据流和标签信息;对所述数据流进行全景解码,并根据解码后的数据流得到所述全景视频图像;根据所述标签信息确定标签在所述全景视频图像中的标记位置,并在所述标记位置绘制所述标签;接收用户输入的标签操作请求,并将所述标签操作请求发送至所述数据系统,其中所述标签操作请求用于更新所述数据系统中的标签信息。2.根据权利要求1所述的全景视频数据处理方法,其特征在于,所述对所述数据流进行全景解码,并根据解码后的数据流得到所述全景视频图像包括:建立全景坐标模型,并确定所述全景视频图像的初始视角;根据所述全景坐标模型对所述数据流进行全景解码,并根据解码后的数据流得到具有所述初始视角的全景视频图像。3.根据权利要求2所述的全景视频数据处理方法,其特征在于,所述标签信息包括标签位置信息,所述数据系统包括前端设备;所述从数据系统中获取全景视频图像的数据流和标签信息包括:从所述前端设备中获取所述全景视频图像的数据流,其中所述数据流中携带有所述标签位置信息;从所述数据流中提取所述标签位置信息,所述标签位置信息包括第一坐标,其中所述第一坐标为所述标签在全景平面图像中的坐标;所述根据所述标签信息确定标签在所述全景视频图像中的标记位置包括:根据预设的第一转换规则,将所述第一坐标转换为第二坐标,并根据所述第二坐标确定标签在所述全景视频图像中的标记位置;其中,所述第二坐标为所述标签在所述全景视频图像中的坐标,所述第一转换规则根据所述全景坐标模型确定。4.根据权利要求3所述的全景视频数据处理方法,其特征在于,所述根据所述第二坐标确定标签在所述全景视频图像中的标记位置包括:确定播放窗口中展示的当前全景视频图像,并确定处于所述当前全景视频图像中的第二坐标;根据预设的第二转换规则,将处于所述当前全景视频图像中的第二坐标转换为第三坐标,其中所述第三坐标为所述标签在所述播放窗口中的坐标;根据所述第三坐标确定所述标记位置。5.根据权利要求3或权利要求4所述的全景视频数据处理方法,其特征在于,所述全景视频图像的初始视角包括初始角度和初始高度,所述全景坐标模型包括柱面坐标模型和球面坐标模型;所述根据预设的第一转换规则,将所述第一坐标转换为第二坐标包括:基于所述初始角度和初始高度,在所述柱面坐标模型下将所述第一坐标转换为柱面坐标;在所述球面坐标模型下将所述柱面坐标转换为球面坐标;通过预设的坐标处理规则,将所述球面坐标转换为所述第二坐标。
6.根据权利要求3或权利要求4所述的全景视频数据处理方法,其特征在于,所述标签信息还包括标签内容信息,所述数据系统还包括服务器;所述从数据系统中获取全景视频图像的数据流和标签信息还包括:根据所述标签位置信息从服务器中获取相应的标签内容信息,所述标签内容信息包括标签名称信息和标签图片信息。7.根据权利要求1至权利要求4中任一项所述的全景视频数据处理方法,其特征在于,所述标签操作请求至少包括如下之一:标签增加请求、标签删除请求和标签修改请求;所述接收用户输入的标签操作请求,并将所述标签操作请求发送至所述数据系统包括:接收用户输入的标签增加请求,所述标签增加请求包括标签增加指令和新增的标签信息,将所述标签增加指令和所述新增的标签信息发送至所述数据系统;和/或接收用户输入的标签删除请求,所述标签删除请求包括标签删除指令,将所述标签删除指令发送至所述数据系统;和/或接收用户输入的标签修改请求,所述标签修改请求包括标签修改指令和修改后的标签信息,将所述标签修改指令和所述修改后的标签信息发送至所述数据系统。8.一种全景视频数据处理装置,其特征在于,所述装置包括:数据接收模块,用于从数据系统中获取全景视频图像的数据流和标签信息;数据解码模块,用于对所述数据流进行全景解码,并根据解码后的数据流得到所述全景视频图像;标签获取模块,用于根据所述标签信息确定标签在所述全景视频图像中的标记位置,并在所述标记位置绘制所述标签;请求接收模块,用于接收用户输入的标签操作请求,并将所述标签操作请求发送至所述数据系统,其中所述标签操作请求用于更新所述数据系统中的标签信息。9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至权利要求7中任一项所述的全景视频数据处理方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求7中任一项所述的全景视频数据处理方法的步骤。

技术总结


本申请涉及一种全景视频数据处理方法、装置、电子装置和存储介质,其中,该全景视频数据处理方法包括:从数据系统中获取全景视频图像的数据流和标签信息;对所述数据流进行全景解码,并根据解码后的数据流得到所述全景视频图像;根据所述标签信息确定标签在所述全景视频图像中的标记位置,并在所述标记位置绘制所述标签;接收用户输入的标签操作请求,并将所述标签操作请求发送至所述数据系统,其中所述标签操作请求用于更新所述数据系统中的标签信息。通过本申请,解决了现有的全景视频播放技术不支持用户在全景视频中增加、删除、修改标签等操作的问题,实现了在客户端上根据用户操作更新标签的效果。作更新标签的效果。作更新标签的效果。


技术研发人员:

刘阳 朱书军 杨勇 钱李勇

受保护的技术使用者:

浙江大华技术股份有限公司

技术研发日:

2022.07.04

技术公布日:

2022/11/18

本文发布于:2024-09-22 22:24:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/8423.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:全景   标签   所述   坐标
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议