一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

全景视频分发方法、装置、设备及计算机存储介质与流程

2022-11-06 14:18:49 来源:中国专利 TAG:


1.本技术属于视频分发技术领域,尤其涉及一种全景视频分发方法、装置、设备及计算机存储介质。


背景技术:

2.全景视频是一种用三维摄像机进行全方位360度进行拍摄的视频,是虚拟现实(virtual reality,vr)技术应用的内容承载。现有的全景视频通常采用视场角(fov)传输的分发方式,将全景视频预先分割成若干fov分区,再辅助全景背景流进行拼接,往往难以及时适应用户操作,导致全景视频分发不够流畅。


技术实现要素:

3.本技术实施例提供一种在全景视频分发方法、装置、设备及计算机存储介质,以解决全景视频分发不够流畅的技术问题。
4.第一方面,本技术实施例提供一种全景视频分发方法,方法包括:
5.在与终端建立全景视频传输连接的情况下,接收所述终端的播放参数,其中所述播放参数包括位置信息、时间信息和视野信息;
6.根据所述位置信息与所述时间信息,从所述全景视频中确定出初选全景图像帧;
7.根据所述视野信息,对所述初选全景图像帧进行裁剪,得到目标图像帧;
8.将所述目标图像帧分发至所述终端。
9.在一个实施例中,所述全景视频包括n个全景子视频,每一所述全景子视频均关联有拍摄点位,每一所述全景子视频包括至少一个全景图像帧,其中n为大于或等于1的整数,
10.所述根据所述位置信息与所述时间信息,从所述全景视频中确定出初选全景图像帧,包括:
11.根据预设的位置信息与拍摄点位的对应关系,从所述全景视频中确定出与所述位置信息匹配的第一全景子视频;
12.根据预设的时间信息与全景图像帧的对应关系,从所述第一全景子视频包括的至少一个全景图像帧中,确定出与所述时间信息匹配的初选全景图像帧。
13.在一个实施例中,所述接收终端的播放参数之前,所述方法还包括:
14.获取全景视频中的n个全景子视频,以及每一所述全景子视频关联的点位信息,所述全景子视频为全景视频中的每一拍摄点位所拍摄的视频;
15.获取每一全景子视频的帧序列,所述帧序列包括至少一个全景图像帧,以及每一所述全景图像帧对应的播放进度;
16.关联存储所述全景子视频与所述点位信息,以及所述全景图像帧与所述播放进度。
17.在一个实施例中,所述获取每一全景子视频的帧序列之后,所述方法还包括:
18.获取每一所述全景图像帧的各个像素点在预设图像坐标系中的像素坐标;
19.关联存储所述像素点与所述像素坐标。
20.在一个实施例中,所述视野信息包括视场坐标和初始视场角,所述根据所述视野信息,对所述初选全景图像帧进行裁剪,得到目标图像帧,包括:
21.根据所述视场坐标,从所述初选全景图像帧中确定出中心点,所述中心点为所述像素坐标与所述视场坐标匹配的像素点;
22.基于所述中心点与所述初始视场角,对所述初选全景图像帧进行裁剪,得到目标图像帧。
23.在一个实施例中,所述播放参数还包括缩放比例,所述基于所述中心点与所述初始视场角,对所述初选全景图像帧进行裁剪,得到目标图像帧,包括:
24.根据所述缩放比例与所述初始视场角,得到目标视场角;
25.基于所述中心点与所述目标视场角,对所述初选全景图像帧进行裁剪,得到目标图像帧。
26.在一个实施例中,所述初始视场角基于所述终端根据人眼视野范围得到,所述缩放比例基于所述终端的传感器采集到的操作信息得到,或者基于所述终端接收到的第一输入得到。
27.第二方面,本技术实施例提供了一种全景视频分发装置,装置包括:
28.接收模块,用于在与终端建立全景视频传输连接的情况下,接收所述终端的播放参数,其中所述播放参数包括位置信息、时间信息和视野信息;
29.确定模块,用于根据所述位置信息与所述时间信息,从所述全景视频中确定出初选全景图像帧;
30.裁剪模块,用于根据所述视野信息,对所述初选全景图像帧进行裁剪,得到目标图像帧;
31.分发模块,用于将所述目标图像帧分发至所述终端。
32.第三方面,本技术实施例提供了一种电子设备,设备包括:
33.处理器以及存储有计算机程序指令的存储器;
34.所述处理器执行所述计算机程序指令时实现上述的方法。
35.第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述的方法。
36.本技术实施例的全景视频分发方法、装置、设备及计算机存储介质,能够在与终端建立全景视频传输连接的情况下,接收终端的位置信息、时间信息和视野信息等播放参数,先根据位置信息与时间信息,从全景视频中确定出初选全景图像帧,然后再根据视野信息,对初选全景图像帧进行裁剪,得到最终分发至终端的目标图像帧。本技术实施例利用终端的播放参数与全景视频进行匹配,最终对匹配到的全景图像帧进行裁剪后,分发裁剪后的目标图像帧至终端,可以及时响应用户操作裁剪得到目标图像帧,有效避免了对全景视频切割分区,后续拼接感严重的问题,从而可以保证全景视频分发的流畅度。
附图说明
37.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还
可以根据这些附图获得其他的附图。
38.图1是本技术一个实施例提供的全景视频分发方法的流程示意图;
39.图2是本技术实施例中的全景子视频的点位信息示意图;
40.图3是本技术实施例中的全景图像帧的各个像素点的坐标示意图;
41.图4是本技术实施例中的目标图像帧的示意图;
42.图5是本技术另一个实施例提供的全景视频分发装置的结构示意图;
43.图6是本技术又一个实施例提供的电子设备的结构示意图。
具体实施方式
44.下面将详细描述本技术的各个方面的特征和示例性实施例,为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本技术进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
45.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
46.为了解决现有技术问题,本技术实施例提供了一种全景视频分发方法、装置、设备及计算机存储介质。下面首先对本技术实施例所提供的全景视频分发方法进行介绍。
47.图1示出了本技术一个实施例提供的全景视频分发方法的流程示意图。该全景视频分发方法可以应用在任意涉及全景视频分发的场景中,例如,可以应用于智能手机、计算机或智能电视等终端请求播放全景视频的场景中,也可以应用于虚拟现实(virtual reality,vr)场景中,此处不做具体限定;而为了简化说明,后续主要以vr场景为例进行说明。
48.如图1所示,该全景视频分发方法,包括:
49.步骤s101,在与终端建立全景视频传输连接的情况下,接收终端的播放参数,其中播放参数包括位置信息、时间信息和视野信息;
50.步骤s102,根据位置信息与时间信息,从全景视频中确定出初选全景图像帧;
51.步骤s103,根据视野信息,对初选全景图像帧进行裁剪,得到目标图像帧;
52.步骤s104,将目标图像帧分发至终端。
53.在本实施例中,步骤s101中与终端建立全景视频传输连接,可以是服务器与终端进行交互,终端请求播放全景视频,而服务器响应于终端的请求向终端分发该全景视频。
54.其中,服务器可以是任意存储有全景视频相关数据的设备,例如,可以是内容分发网络(content delivery network,cdn)设备,为了简化说明,以下以服务器为cdn设备为例进行说明。
55.其中,终端可以是智能手机、计算机、智能电视、vr头显设备等具备处理全景视频数据的功能的设备。具体的,终端可以包括传感器、遥控器、按钮或鼠标等,可以用于获取位置信息、视野信息等播放参数;终端还可安装有播放软件(应用程序),可以用于播放全景视频,并可获取播放时间。
56.播放参数可以包括位置信息、时间信息和视野信息。其中位置信息可以是控制装置获取到的用户所处的空间位置,例如用户佩戴vr头显设备,进入到vr场景的第一空间中,此时位置信息对应于第一空间,即播放参数指示需要播放与第一空间关联的全景视频数据。
57.时间信息可以是对全景视频的时间维度的虚拟控制,例如可以是全景视频的播放时间轴,还可以根据快进、快退等操作改变全景视频的播放时间轴。此时可以根据全景视频的播放时间轴对应到具体的全景图像帧,即播放参数指示需要播放与当前播放时间轴匹配的全景图像帧。
58.视野信息可以是用户的视野范围,即用户视野可以看见的区域。例如用户在vr空间的第一空间中看向前方,此时以用户的朝向为参照,用户的可视范围可能是第一空间中正前方的部分区域。
59.在步骤s102中,可以根据位置信息与时间信息,从全景视频中确定出初选全景图像帧。如上文所述,全景视频可以包括一个或多个不同空间关联的全景子视频。
60.如果全景子视频为一个,即可以说明全景视频只有一个空间,此时位置信息对应于该空间中,因此与位置信息匹配的是该全景子视频。如果全景子视频为多个,则可以根据位置信息确定用户所属的空间,此时与该空间关联的全景子视频就是与位置信息匹配的全景子视频。
61.可以先根据位置信息确定出与位置信息匹配的第一全景子视频,再根据时间信息确定出第一全景子视频中与时间信息匹配的初选全景图像帧。也可以先根据时间信息确定出全景视频中与时间信息匹配的所有全景图像帧,再根据位置信息与所有全景图像帧进行匹配,得到与位置信息所属空间对应的全景图像帧作为初选全景图像帧。
62.在步骤s103中,可以根据视野信息,对初选全景图像帧进行裁剪,得到目标图像帧。本实施例在确定出初选全景图像帧后,此时并未直接将初选全景图像帧分发至终端,可以根据视野信息裁剪初选全景图像帧,即将用户的可视范围内的图像帧区域从全景图像帧裁剪下来,该图像帧区域作为目标图像帧。
63.在步骤s104中,将目标图像帧分发至终端。cdn设备可以直接将目标图像帧分发至终端,从而可以在终端的显示屏幕显示该目标图像帧。
64.本技术实施例提供的全景视频分发方法能够在与终端建立全景视频传输连接的情况下,接收终端的位置信息、时间信息和视野信息等播放参数,先根据位置信息与时间信息,从全景视频中确定出初选全景图像帧,然后再根据视野信息,对初选全景图像帧进行裁剪,得到最终分发至终端的目标图像帧。本技术实施例利用终端的播放参数与全景视频进行匹配,最终对匹配到的全景图像帧进行裁剪后,分发裁剪后的目标图像帧至终端,可以及时响应用户操作裁剪得到目标图像帧,有效避免了对全景视频切割分区,后续拼接感严重的问题,从而可以保证全景视频分发的流畅度。
65.可选的,在一个实施例中,全景视频可以包括n个全景子视频,每一全景子视频均
可关联有拍摄点位,每一全景子视频包括至少一个全景图像帧,其中n为大于或等于1的整数,
66.步骤s102,根据位置信息与时间信息,从全景视频中确定出初选全景图像帧,可以包括:
67.根据预设的位置信息与拍摄点位的对应关系,从全景视频中确定出与位置信息匹配的第一全景子视频;
68.根据预设的时间信息与全景图像帧的对应关系,从第一全景子视频包括的至少一个全景图像帧中,确定出与时间信息匹配的初选全景图像帧。
69.在本实施例中,全景视频可以包括n个全景子视频,其中n为大于或等于1的整数,每一全景子视频均可关联有拍摄点位。例如,全景视频可以由n个不同空间的全景子视频构成,具体的,每个空间可以由一个拍摄点位进行拍摄。
70.其中一个拍摄点位可以包括多个环绕设置的感光传感器,例如一个拍摄点位可以包括3个120
°
的广角摄像头进行拍摄,从而得到该空间的全景子视频。一个拍摄点位还可以是一个旋转拍摄的摄像头,或者其他能够拍摄处全景视频的设备。
71.每一全景子视频包括至少一个全景图像帧,例如全景子视频可以包括“全景图像帧1”、“全景图像帧2”、“全景图像帧3
”……“
全景图像帧n”。
72.根据预设的位置信息与拍摄点位的对应关系,从全景视频中确定出与位置信息匹配的第一全景子视频。其中预设的位置信息与拍摄点位的对应关系可以是一个拍摄点位对应一个位置信息,位置信息可以是一个具体的位置点,也可以是处于一个位置范围内。
73.根据位置信息与拍摄点位的对应关系,可以确定出与位置信息匹配的拍摄点位,而与该拍摄点位关联的全景子视频,就是与位置信息匹配的第一全景子视频。
74.根据预设的时间信息与全景图像帧的对应关系,从第一全景子视频包括的至少一个全景图像帧中,确定出与时间信息匹配的初选全景图像帧。其中预设的时间信息与全景图像帧的对应关系可以是一个全景图像帧对应一个时间信息。
75.例如,“全景图像帧1”对应时间t1,“全景图像帧2”对应时间t2,“全景图像帧3”对应时间t3
……“
全景图像帧n”对应时间tn。
76.根据时间信息与全景图像帧的对应关系,可以从上个步骤确定出的第一全景子视频包括的“全景图像帧1”、“全景图像帧2”、“全景图像帧3
”……“
全景图像帧n”中,确定出与时间信息匹配的初选全景图像帧。
77.例如,时间信息为t3,则对应的“全景图像帧3”可以确定为与时间信息匹配的初选全景图像帧。
78.本实施例先根据位置信息确定出匹配的第一全景子视频,再根据时间信息从第一全景子视频中确定出初选全景图像帧,根据确定出的初选全景图像帧进行裁剪得到目标图像帧,再将目标图像帧分发至终端。能够根据播放参数及时响应用户操作,得到目标图像帧,从而保证全景视频分发的流畅度。
79.可选的,在一个实施例中,接收终端的播放参数之前,全景视频分发方法还可以包括:
80.获取全景视频中的n个全景子视频,以及每一全景子视频关联的点位信息,全景子视频为全景视频中的每一拍摄点位所拍摄的视频;
81.获取每一全景子视频的帧序列,帧序列包括至少一个全景图像帧,以及每一全景图像帧对应的播放进度;
82.关联存储全景子视频与点位信息,以及全景图像帧与播放进度。
83.在本实施例中,可以获取全景视频中的n个全景子视频,以及每一全景子视频关联的点位信息。例如,可以针对全景视频建立一个空间坐标系,如图2所示,空间坐标系的坐标原点可以是某一个拍摄点位,从而获取其他拍摄点位在空间坐标系中的坐标。可以将拍摄点位在空间坐标系中的坐标作为全景子视频关联的点位信息。
84.或者,还可以获取每一拍摄点位所拍摄的全景子视频,再将全景子视频的中心点在空间坐标系中的坐标作为该全景子视频关联的点位信息。
85.为了简化说明,以拍摄点位在空间坐标系中的坐标作为全景子视频关联的点位信息为例进行说明。
86.例如,“拍摄点位1”在空间坐标系中的坐标为(x1,y1,z1),则“拍摄点位1”拍摄的全景子视频关联的点位信息为(x1,y1,z1);“拍摄点位2”在空间坐标系中的坐标为(x2,y2,z2),则“拍摄点位2”拍摄的全景子视频关联的点位信息为(x2,y2,z2)
……“
拍摄点位n”在空间坐标系中的坐标为(xn,yn,zn),则“拍摄点位n”拍摄的全景子视频关联的点位信息为(xn,yn,zn)。
87.还可以获取每一全景子视频的帧序列,帧序列包括至少一个全景图像帧,以及每一全景图像帧对应的播放进度。例如,可以根据视频播放时间或者视频编辑前后顺序,获取每一全景子视频的帧序列,帧序列可以包括至少一个全景图像帧。
88.其中,可以用t来表示每一全景图像帧对应的播放进度。例如,t1可以表示在t1时刻的全景图像帧,或者可以直接表示第t1个全景图像帧。
89.关联存储全景子视频与点位信息,以及全景图像帧与播放进度。具体的,可以存储全景子视频以及全景视频对应的点位信息,并在此基础上,存储全景子视频中每一全景图像帧以及每一全景图像帧对应的播放进度。
90.例如,“拍摄点位1”拍摄的全景子视频在t1时刻的全景图像帧的点位信息与播放进度存储为(x1,y1,z1,t1);“拍摄点位1”拍摄的全景子视频在t2时刻的全景图像帧的点位信息与播放进度存储为(x1,y1,z1,t2);“拍摄点位2”拍摄的全景子视频在t1时刻的全景图像帧的点位信息与播放进度存储为(x2,y2,z2,t1)
……“
拍摄点位n”拍摄的全景子视频在tn时刻的全景图像帧的点位信息与播放进度存储为(xn,yn,zn,tn)。
91.本技术实施例能够在获取到全景子视频关联的点位信息与和全景图像帧对应的播放进度后,将全景子视频与点位信息,以及全景图像帧与播放进度进行关联存储,对全景视频进行索引化,方便后续根据索引信息快速查找到对应的初选全景图像帧,从而保证全景视频分发的流畅度。其中索引信息可用于指示上述点位信息和播放进度。
92.在一个示例中,终端的位置信息可以是基于用户操作或者基于预设位置关系,获取一个初始位置坐标(x,y,z),该初始位置坐标(x,y,z)匹配一个初始点位信息,例如,匹配的初始点位信息可以为(x2,y2,z2)。
93.位置信息可以根据终端的传感器采集到的用户操作发生改变,例如vr设备中的陀螺仪采集到的用户动作,用户移动位置,从而发生位置坐标的改变。还可以根据遥控器、鼠标等输入的“前进、后退、上升、下降”等虚拟空间动作,形成位置坐标的改变。位置坐标发生
改变,其匹配的点位信息也可能发生改变。
94.终端的时间信息也可以是基于预设的时间轴,获取到时间t,时间t匹配一个播放进度,例如,匹配的播放进度可以为t1。时间信息还可以根据遥控器、鼠标等输入的“快进、快退”等指令发生变化,其匹配的播放进度也可能发生变化。
95.例如,终端的初始位置信息和时间信息(x,y,z,t)匹配的点位信息和播放进度是(x2,y2,z2,t1),则可以将(x2,y2,z2,t1)对应的全景图像帧作为初选全景图像帧。而随着位置移动和时间轴的变化,可能在下一时刻,终端的位置信息和时间信息(x,y,z,t)匹配的点位信息和播放进度变成(x1,y1,z1,t2),此时则可以将(x1,y1,z1,t2)对应的全景图像帧作为初选全景图像帧。
96.可选的,在一个实施例中,获取每一全景子视频的帧序列之后,全景视频分发方法还可以包括:
97.获取每一全景图像帧的各个像素点在预设图像坐标系中的像素坐标;
98.关联存储像素点与像素坐标。
99.在本实施例中,还可以获取每一全景图像帧的各个像素点在预设图像坐标系中的像素坐标。其中,预设图像坐标系可以是针对每一全景图像帧建立的二维坐标系。
100.如图3所示,可以选取拍摄点位所拍摄位置的物理方位起点,例如正北方向,建立图像坐标系,当然也可以选取其他方向起点建立图像坐标系,此处不做限定。从而实现将全景图像帧在图像坐标系中全景展平,获取各个像素点在图像坐标系中的像素坐标。
101.例如,第一个像素点的像素坐标可以表示为(a1,b1),第二个像素点的像素坐标可以表示为(a2,b2)
……
第n个像素点的像素坐标可以表示为(an,bn)。
102.关联存储像素点与像素坐标。具体的,可以结合点位信息、播放进度和像素坐标,关联存储每个全景子视频中的每一全景图像帧中的每个像素点。
103.例如,“拍摄点位1”拍摄的全景子视频在t1时刻的全景图像帧中的第一个像素点的点位信息、播放进度和像素坐标存储为(x1,y1,z1,t1,a1,b1);“拍摄点位2”拍摄的全景子视频在t1时刻的全景图像帧中的第二个像素点的点位信息、播放进度和像素坐标存储为(x2,y2,z2,t1,a2,b2)
……“
拍摄点位n”拍摄的全景子视频在tn时刻的全景图像帧中的第n个像素点的点位信息、播放进度和像素坐标存储为(xn,yn,zn,tn,an,bn)。
104.本技术实施例能够还可以获取到每个像素点在预设图像坐标系中的像素坐标,并将每个像素点和像素坐标进行关联存储,对全景视频进行进一步索引化,进一步方便后续根据索引信息快速查找到对应的初选全景图像帧中的具体像素点,根据该像素点能够对初选全景图像帧进行快速处理,例如裁剪得到目标图像帧,从而进一步保证全景视频分发的流畅度,并有效节省全景视频分发过程中的传输资源。其中索引信息还可用于指示上述像素坐标。
105.可选的,视野信息可以包括视场坐标和初始视场角,根据视野信息,对初选全景图像帧进行裁剪,得到目标图像帧,可以包括:
106.根据视场坐标,从初选全景图像帧中确定出中心点,中心点为像素坐标与视场坐标匹配的像素点;
107.基于中心点与初始视场角,对初选全景图像帧进行裁剪,得到目标图像帧。
108.在本实施例中,视场坐标可以用于表征人眼的聚焦点。例如,可以根据眼球追踪感
应器,实时追踪人眼聚焦点,并保存聚焦点坐标(a,b)作为视场坐标。
109.根据视场坐标,从初选全景图像帧中确定出中心点,中心点可以为像素坐标与视场坐标匹配的像素点。例如,视场坐标(a,b)匹配的像素坐标是(a3,b3),则可以将初选全景图像帧中的像素坐标为(a3,b3)对应的像素点作为中心点,即初选全景图像帧中的第三个像素点为中心点。
110.初始视场角f,可以根据实际情况预设,例如,通常来说普遍人眼视场角的感知能力,一般是横向小于120
°
,纵向小于60
°
,可以将初始视场角预设为横向120
°
,纵向60
°

111.又或者,为了适应用户可能快速摇头、点头等相关操作,可以结合终端的性能,扩大初始视场角的范围,例如,可以将初始视场角预设为横向150
°
,纵向80
°
,从而保证在用户处于快速摇头、点头等状态下,初始视场角依旧在人眼视野范围内。
112.另外,初始视场角还可以是终端基于捕捉不同用户的视野范围差异进行设定。初始视场角还可以包括分辨率,分辨率可以是预设的固定值,也可以基于用户选择设定为不同值。
113.基于中心点与初始视场角,对初选全景图像帧进行裁剪,得到目标图像帧。为了简化说明,以初始视场角为横向120
°
,纵向60
°
为例,将初选全景图像帧以中心点作为裁剪中心,横向裁剪120
°
,纵向裁剪60
°
,得到的区域为目标图像帧。
114.本技术实施例能够根据视场坐标和初始视场角,快速获取到初选全景图像帧中的中心点和裁剪范围,经过裁剪得到目标图像帧分发至终端,从而保证全景视频分发的流畅度,并有效节省全景视频分发过程中的传输资源。
115.在一个示例中,可以根据用户穿戴的vr设备中的陀螺仪抓取用户真实头部或身体的旋转运动,可正向、或者反向表征用户视场的空间变换,从而导致视场坐标的改变。或者可以根据鼠标、遥控器等输入的“左右旋转,上下移动”等虚拟空间动作,形成用户所在虚拟位置下的视场变换,从而导致视场坐标的改变。而视场坐标发生改变,其在初选全景图像帧中的中心点也可能随之发生改变。
116.可选的,在一个实施例中,播放参数还可以包括缩放比例,基于中心点与初始视场角,对初选全景图像帧进行裁剪,得到目标图像帧,可以包括:
117.根据缩放比例与初始视场角,得到目标视场角;
118.基于中心点与目标视场角,对初选全景图像帧进行裁剪,得到目标图像帧。
119.在本实施例中,播放参数还可以包括缩放比例,可以根据缩放比例与初始视场角,得到目标视场角。例如,在缩放比例为放大倍数的情况下,在初选全景图像帧中,用户所看到的区域变小,即其目标视场角小于初始视场角;反之,在缩放比例为缩小倍数的情况下,在初选全景图像帧中,用户所看到的区域变大,即其目标视场角大于初始视场角。
120.如图4所示,为了便于理解,以目标图像帧为长方形进行说明。用户选择放大2倍时,其初始视场角横向和纵向皆缩小2倍,即目标视场角可以为初始视场角的1/4。
121.基于中心点与目标视场角,对初选全景图像帧进行裁剪,得到目标图像帧。以目标视场角为初始视场角的1/4为例,将初选全景图像帧以中心点作为裁剪中心,以目标视场角为裁剪范围,得到目标图像帧。该目标图像帧为以初始视场角作为裁剪范围区域的1/4。
122.本实施例可以结合缩放比例获取最终的目标图像帧,保证全景视频分发的流畅度的同时有效节省了全景视频分发过程中的传输资源。
123.可选的,在一个实施例中,初始视场角可以基于终端根据人眼视野范围得到,缩放比例可以基于终端的传感器采集到的操作信息得到,或者可以基于终端接收到的第一输入得到。
124.在本实施例中,初始视场角可以基于终端根据人眼视野范围得到。例如,用户穿戴上vr设备后,vr设备可以通过眼球追踪感应器或其他传感器分析用户的人眼视野范围,从而基于分析得到的数据设定初始视场角。
125.其中,可以直接将分析得到的角度范围作为初始视场角,还可以在分析得到的角度范围得基础上,加上预设角度值后作为初始视场角,用于消除分析可能存在的误差带来的影响。
126.缩放比例可以基于终端的传感器采集到的操作信息得到,例如,vr设备上的陀螺仪感知到用户的“拉近、拉远”动作等。或者可以基于终端接收到的第一输入得到,例如,用户可以通过遥控器、鼠标等执行缩小或放大的输入。
127.在一个实施例中,终端开机后,用户选择需要播放的全景视频,生成对应的初始播放统一资源定位符(uniform resource locator,url),以下用url1表示,url1仅表征具体全景视频内容选择,不表征终端的播放参数。
128.终端根据用户初始位置、用户综合视场角、用户视场坐标、缩放比例、时间维度(即位置信息、时间信息、视野信息、缩放比例等播放参数,其中视野信息包括视场坐标和视场角),即(x,y,z,t,a,b,f,l)等信息对url1进行本地处理,形成url2(x,y,z,t,a,b,f,l),其中url2(x,y,z,t,a,b,f,l)表征终端的播放参数。
129.终端根据url2(x,y,z,t,a,b,f,l),向cdn系统发送播放请求。cdn系统经过自身调度机制调度后,将该播放请求最终指向为该终端提供服务的具体cdn设备。其中cdn系统的具体调度过程可通过现有的视频存储服务器系统的调度方法实现,此处不做赘述。
130.该cdn设备收到播放请求url2(x,y,z,t,a,b,f,l)后,先根据url2
131.(x,y,z,t)查找匹配的索引信息(x,y,z,t);根据(x,y,z,t)信息查找到对应的初选全景图像帧(即根据位置信息与时间信息,从全景视频中确定出初选全景图像帧)。
132.cdn设备进一步根据播放请求url2(a,b,f,l),查找到初选全景图像帧中对应的中心点(a,b),结合f、l进行分发画面计算,并完成对初选全景图像帧的裁剪(即根据视场坐标,从初选全景图像帧中确定出中心点,中心点为像素坐标与视场坐标匹配的像素点;基于中心点与初始视场角,对初选全景图像帧进行裁剪,得到目标图像帧)。
133.cdn设备完成对应目标的素材处理后,仅将裁剪后的目标图像帧分发给终端进行显示(即将目标图像帧分发至终端)。
134.图5示出了本技术另一个实施例提供的全景视频分发装置的结构示意图,为了便于说明,仅示出了与本技术实施例相关的部分。
135.参照图5,全景视频分发装置包括:
136.接收模块,用于在与终端建立全景视频传输连接的情况下,接收终端的播放参数,其中播放参数包括位置信息、时间信息和视野信息;
137.确定模块,用于根据位置信息与时间信息,从全景视频中确定出初选全景图像帧;
138.裁剪模块,用于根据视野信息,对初选全景图像帧进行裁剪,得到目标图像帧;
139.分发模块,用于将目标图像帧分发至终端。
140.可选的,全景视频包括n个全景子视频,每一全景子视频均关联有拍摄点位,每一全景子视频包括至少一个全景图像帧,其中n为大于或等于1的整数,确定模块可以包括:
141.第一确定单元,用于根据预设的位置信息与拍摄点位的对应关系,从全景视频中确定出与位置信息匹配的第一全景子视频;
142.第二确定单元,用于根据预设的时间信息与全景图像帧的对应关系,从第一全景子视频包括的至少一个全景图像帧中,确定出与时间信息匹配的初选全景图像帧。
143.可选的,装置还可以包括:
144.第一获取模块,用于获取全景视频中的n个全景子视频,以及每一全景子视频关联的点位信息,全景子视频为全景视频中的每一拍摄点位所拍摄的视频;
145.第二获取模块,用于获取每一全景子视频的帧序列,帧序列包括至少一个全景图像帧,以及每一全景图像帧对应的播放进度;
146.第一存储模块,用于关联存储全景子视频与点位信息,以及全景图像帧与播放进度。
147.可选的,装置还可以包括:
148.第三获取模块,用于获取每一全景图像帧的各个像素点在预设图像坐标系中的像素坐标;
149.第二存储模块,用于关联存储像素点与像素坐标。
150.可选的,视野信息包括视场坐标和初始视场角,裁剪模块可以包括:
151.第三确定单元,用于根据视场坐标,从初选全景图像帧中确定出中心点,中心点为像素坐标与视场坐标匹配的像素点;
152.裁剪单元,用于基于中心点与初始视场角,对初选全景图像帧进行裁剪,得到目标图像帧。
153.可选的,播放参数还包括缩放比例,裁剪单元可以包括:
154.获取子单元,用于根据缩放比例与初始视场角,得到目标视场角;
155.裁剪子单元,用于基于中心点与目标视场角,对初选全景图像帧进行裁剪,得到目标图像帧。
156.可选的,初始视场角基于终端根据人眼视野范围得到,缩放比例基于终端的传感器采集到的操作信息得到,或者基于终端接收到的第一输入得到。
157.需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,与本技术方法实施例基于同一构思,是与上述全景视频分发方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
158.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单
元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
159.图6示出了本技术又一个实施例提供的电子设备的硬件结构示意图。
160.设备可以包括处理器601以及存储有计算机程序指令的存储器602。
161.处理器601执行计算机程序时实现上述任意各个方法实施例中的步骤。
162.示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器602中,并由处理器601执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在设备中的执行过程。
163.具体地,上述处理器601可以包括中央处理器(cpu),或者特定集成电路(application specific integrated circuit,asic),或者可以被配置成实施本技术实施例的一个或多个集成电路。
164.存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(hard disk drive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universal serial bus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器602可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器602可在综合网关容灾设备的内部或外部。在特定实施例中,存储器602是非易失性固态存储器。
165.存储器可包括只读存储器(rom),随机存取存储器(ram),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本公开的一方面的方法所描述的操作。
166.处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述实施例中的任意一种方法。
167.在一个示例中,电子设备还可包括通信接口603和总线610。其中,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。
168.通信接口603,主要用于实现本技术实施例中各模块、装置、单元和/或设备之间的通信。
169.总线610包括硬件、软件或两者,将在线数据流量计费设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本技术实施例描述和示出了特定的总线,但本技术考虑任何合适的总线或互连。
170.另外,结合上述实施例中的方法,本技术实施例可提供一种计算机存储介质来实现。该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种方法。
171.需要明确的是,本技术并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本技术的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本技术的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
172.以上所述的结构框图中所示的功能模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本技术的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网格被下载。
173.还需要说明的是,本技术中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本技术不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
174.上面参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
175.以上所述,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献