用于流传输全景视频的方法和装置与流程

文档序号:17733306发布日期:2019-05-22 02:59阅读:220来源:国知局
用于流传输全景视频的方法和装置与流程

本申请要求于2016年6月2日提交的题为methodandapparatusforstreamingequirectangularvideo的美国临时专利申请序列号62/344,543的优先权和权益,通过引证将其全部内容结合于本文中。

本公开涉及提供一种用于虚拟现实环境的视觉模拟。公开了用于捕获或上传、拼接、编码、和流传输形态化为球形(全景)用以呈现的单视场和立体全景视频的方法、过程和系统的各种实施方式。该呈现在虚拟现实中模拟适合用于其他设备的环境。



背景技术:

vr内容可以包括视频和音频数据。vr内容可以包括电影胶片。vr内容的消费者(在下文中,“观看者”)可以在不同的方向上观看并体验不同的对象、解说和/或声音。vr内容允许观看者在三个和六个方向和/或自由度之间感知。当体验vr内容时,所显示的视频内容可以响应于观看者向上、向下及侧向(俯仰、偏转和滚动)观看而转移。当体验vr内容时,所显示的视频内容可以响应于观看者在一方向上的移动而转移。体验vr内容通常需要专用设备提供所希望的体验。这种专用设备可以包括可佩带的耳机和/或专用处理器。

通常预先获得vr内容的本地复制,即,容易到达观看者设备。通常,存储vr内容的电子数据文件大。例如,观看vr内容可能需要每分钟750兆字节至1千兆字节的视频数据。

“在体验之前下载”vr模型存在一些缺点。观看者在其能够观看之前可能需要下载整个文件。vr数据文件大并且可能花费相对较长的时间下载。由于互联网服务供应商(isp)为较大的文件分配较低的传输优先级,下载时间可能进一步减慢。

此外,观看者必须具有可用的存储容量以存储vr内容。所存储的vr数据甚至在vr数据已观看之后仍可以保留在观看设备上,致使观看者的其他需求的可用存储容量较少。能够进行vr内容播放的设备的销售已增加。vr耳机越来越多地与其他常见移动设备一起工作。例如,当前的vr耳机利用观看者的智能电话或其他移动设备的屏幕和处理能力。vr耳机和移动设备通常以电池功率进行操作。观看vr内容可能需要集中的图像处理能力,其降低了移动观看设备的电池寿命预测。

对访问vr内容的需求已增加。期望观看者增加对实时和点播高质量vr内容的需求。进一步预期观看者需要可在他们选择的硬件设备上观看的大范围、良好组织的高质量vr内容。

因此,期望提供用于以为观看者提供沉浸式实时或点播vr体验的方式观看vr内容的装置和方法。进一步期望以实时或点播模式为观看者提供高效、标准化处理的vr内容。



技术实现要素:

在各种实施方式中,方法、过程、和系统可以包括实时捕获或接收多个单视场或立体视频帧馈送;将多个视频馈送拼接到单个全景视频帧流中;将全景帧编码并转换为由以比特率的形式定量表示的多个分辨率质量的多个视频帧组成的视频束(videobunch,视频聚束)帧流或文件,以及将束帧流式传输至如由观看者客户端设备的感兴趣区域确定的观看者客户端设备。

在一个方面中,提供了一种流式传输全景视频的方法。在一个实施方式中,方法包括:在编码设备处接收由一系列拼接全景帧形成的全景视频流,其中,每个拼接全景帧表示由相对于中央观看点的水平维度和垂直维度定义的全景图;将拼接的全景帧划分为片段以形成与全景视频流的分帧部分有关的多个分帧和相应多个分帧流;以多个比特率为每个分帧流编码多个分帧以形成每个分帧流的多个分辨率质量,其中,多个分辨率质量的范围为从最高的分辨率质量到最低的分辨率质量;以及组合多个分辨率质量中的每一个的多个分帧流以形成视频束帧流。

在另一方面中,提供一种用于流传输全景视频的装置。在一个实施方式中,装置包括:编码设备,被配置为接收由一系列拼接全景帧形成的全景视频流,其中,每个拼接全景帧表示由相对于中央观看点水平和垂直维度的全景图;其中编码设备被配置为将拼接的全景帧分成片段以形成多个分帧和与全景视频流的分帧部分有关的相应多个分帧流;其中,编码设备被配置为以多个比特率对每个分帧流的多个分帧进行编码以形成每个分帧流的多个分辨率质量,其中,多个分辨率质量的范围为从最高的分辨率质量到最低的分辨率质量;其中,编码设备被构造为组合多个分辨率质量中的每一个的多个分帧流以形成视频束帧流。

在又一方面中,提供了一种非易失性计算机可读介质。存储程序指令的非易失性计算机可读介质,当由一个或者多个计算系统或处理器执行程序指令时,使得计算机控制的系统执行流式全景视频的方法。在一个实施方式中,方法包括:在编码设备处接收由一系列拼接全景帧形成的全景视频流,其中,每个拼接全景帧由相对于中央观看点水平和垂直维度定义的全景图;将拼接的全景帧分为片段以形成多个分帧和与全景视频流的分帧部分有关的相应多个分帧流;以多个比特率为每个分帧流的多个分帧进行编码以形成每个分帧流的多个分辨率质量,其中,多个分辨率质量的范围为从最高的分辨率质量到最低的分辨率质量;并且组合多个分辨率质量中的每一个的多个分帧流以形成视频束帧流。

另外的优势和实施方式将在接下来的描述中部分阐述或者可以通过实践而学习。应当理解,以上小结和以下详细说明是出于说明性的目的的示例性实施方式而并非限制性的。

本发明的适用性的进一步范围将从以下提供的详细说明显而易见。然而,应当理解的是,虽然详细描述和具体实例表明了本发明的优选实施方式,但所述详细描述和具体实例仅以示例的方式给出,因此,通过所述详细描述,对于本领域技术人员来说,落入本发明的精神和范围内的各种改变和变型是显而易见的。

附图说明

本发明反应在设备的各个部分的构造、布置和组合,及方法的步骤,借此,如在下文中更完整地阐述、在权利要求中具体指出并在附图中示出的,达到了预料的目的,在附图中:

图1示出了用于流传输单视场或立体全景视频的方法、过程、和系统的示例性硬件和软件环境;

图2示出了利用自定义、第三方、或定制第三方拼接过程流传输单视场或立体全景视频的示例性方法、过程、和系统;

图3示出了利用照相机组并在生产水平处从不同的照相机组手动切换视频馈送来流传输单视场或立体全景视频的示例性方法、过程、和系统;

图4示出了利用多个照相机组并在播放水平处在视频馈送之间手动切换来流传输单视场或立体全景视频的示例性方法、过程、和系统,每个照相机组均具有所指定的生产站;

图5示出了用于流传输先前拼接的单视场或立体全景视频流的示例性方法、过程、和系统;

图6示出了用于上传并流传输先前产生的单视场或立体全景视频文件的示例性方法、过程、和系统;

图7是用于拼接和编码完整的单视场或立体全景视频帧从而将视频帧转换为束帧集合的示例性方法和过程的流程图;

图8是用于识别、流传输、和显示单视场或立体全景视频束帧的示例性方法和过程的流程图,单视场或立体全景视频束帧由如由观看者客户端设备选择的或者单独显示在观看者客户端设备中的感兴趣区域(roi)确定的内帧(关键帧)和预测帧(△帧)组成;

图9是当利用m水平的束帧时用于流传输和显示单视场或立体全景视频束帧的示例性方法、过程、和系统的流程图;

图10是用于识别和流传输单视场或立体全景视频束帧集合的示例性方法、过程、和系统的流程图,单视场或立体全景视频束帧集合由如由观看者客户端设备选择的感兴趣区域确定的内帧(关键帧)和预测帧(△帧)的特定组合组成;

图11是用于将完整的帧单视场或立体全景视频文件划分为束帧片段的示例性方法的示意图,束帧片段的尺寸和数量可基于应用变化;

图12是用于流传输全景视频的过程的示例性实施方式的流程图;

图13结合图12提供用于流传输全景视频的过程的另一示例性实施方式的流程图;

图14结合图12提供用于流传输全景视频的过程的又一示例性实施方式的流程图;

图15结合图12提供用于流传输全景视频的过程的又一示例性实施方式的流程图;

图16结合图12提供用于流传输全景视频的过程的又一示例性实施方式的流程图;

图17结合图12提供用于流传输全景视频的过程的另一示例性实施方式的流程图;

图18a和图18b结合图12提供用于流传输全景视频的过程的又一示例性实施方式的流程图;

图19是被配置为流传输全景视频的系统的示例性实施方式的框图。

具体实施方式

在公开和描述本方法、过程、和系统之前,要理解的是,方法、过程、和系统不限于具体的合成方法、具体的组件或特定的组合物。例如,本文中公开的各种特征和组件可以任何合适的方式组合以形成其他实施方式。也应当理解的是本文所使用的术语是用于描述具体实施方式的目的,而不是旨在限制本发明。

除非上下文中另有明确规定,否则在示图和说明书中使用的单数形式的“一个”、“一种”和“所述”包括复数对象。

如在本文中使用的“示例性”是指“...的实例”并非意味着传达理想或优选的实施方式的感觉。

“可选的”或“可选地”是指随后描述的事件或情况可以发生或可以不发生,并且该描述包括所述事件或状况发生的情况和不发生的情况。

本发明可以通过参考本文中提供的各种实施方式的描述、附图、和本文中提供的附图的描述更容易地理解。

本发明涉及用于捕获或上传、拼接、编码、和流传输形态化为球形(全景)用以呈现的单视场和立体全景视频的方法、过程和系统。在一个实施方式中,方法、过程、和系统可以包括实况捕获或接收多个单视场或立体视频帧馈送;将多个视频馈送拼接到单个全景视频帧流中;将全景帧流编码并转换为视频束帧流或文件,视频束帧流或文件由以比特率的形式定量表示的多个分辨率质量的多个视频帧的片段组成,以及将束帧流传输至如通过观看者客户端设备的感兴趣区域确定的观看者客户端设备。

图1示出了根据用于流传输单视场或立体全景视频的方法、过程、和系统的一些实施方式实现的示例性硬件和软件环境。如所示出的,示例性硬件和软件环境包括照相机系统101;生产站102,由视频捕获模块103、拼接模块104、编码模块105、和广播模块106组成;存储设备组件107;流式服务器组件108;通信网络109,和观看者客户端设备110。连接照相机系统101、生产站102、存储设备组件107、流式服务器组件108、通信网络109、和观看者客户端设备110的网络可以部分或完全经由例如由局域网(lan)、无线lan(wlan)、城域网(man)、通用串行总线(usb)、混合光纤-同轴(hfc)网络、卫星网、以太网网络、无线man(wman)、广域网(wan)、无线wan(wwan)、个人局域网(pan)、无线pan(wpan)、互联网、和/或无线标准诸如eee802.11标准、wifi、蓝牙、红外线、wimax、长期演进(lte)、或任何合适的组合的任何合适的通信网络组成的网络相互连接。由这些组件形成的示例性硬件和软件环境还可以包括任何其他合适的元件以便于捕获或上传、拼接、编码、和流传输单视场和立体全景视频用以观看。

照相机系统101由多个照相机组组成,多个照相机组由编号2至n的独立照相机组成并且支持单视场或立体视频。根据本发明的特殊实现方式,照相机组中的照相机的数量的范围可以为从2至n,且总记录视野至多达360度。包括照相机系统的照相机组中的每个照相机向视频捕获模块103发送视频馈送。当给定的照相机组中的照相机布置为提供至多360度×180度的总记录视野,从拼接的视频馈送中得到的全景视频流可以称为球形投影(equirectangular)视频流。

由视频捕获模块103、拼接模块104、编码模块105、和广播模块106组成的生产站102可以是一个计算设备或者每个模块均可以在单独的计算设备上实现。

视频捕获模块103由多个内部或外部视频捕获设备组成。需要视频捕获设备从照相机组中的每个照相机捕获视频。视频捕获设备的数量取决于每个视频捕获设备输入的数量和照相机组中照相机的数量。在发送至拼接模块104之前,视频捕获模块捕获并临时存储来自照相机系统101的视频馈送。

拼接模块104是经由视频捕获模块103将来自照相机组中的每个照相机的单独的视频馈送转换为一个单视场或立体全景视频流的计算设备操作软件。

编码模块105由将从拼接模块104接收的单视场或立体全景视频流转换为视频束帧流或文件的多个计算机cpu和/或gpu组成。编码模块通过将单视场或立体视频流划分为多个片段并对以比特率的形式定量表示的多个分辨率质量的每个片段进行编码产生视频束帧流。每个分片段的数量和形状均基于所希望的配置而变化。编码模块可以利用任何合适的编码解码器,包含任何当前或未来的标准编码解码器(例如,h.264、h.265等)。

存储设备组件107由多个存储设备组成,多个存储设备可以可选地接收并保存来自编码模块105的视频束帧流。多个存储设备可以包括内部硬盘驱动器、外部硬盘驱动器、固态驱动器(ssd)、vram、dram、网络附接存储器(nas)设备、usb拇指驱动器、闪存驱动器、存储卡、光驱动器(例如,cd驱动器、dvd驱动器等)、云存储器(例如,亚马逊s3、google驱动器、sky驱动器等)、以及任何合适的组合的其他合适的存储设备。

广播模块106从编码模块105接收并临时存储来自编码模块105的视频束帧流。基于由观看者客户端设备110识别并从流式服务器组件108接收的感兴趣区域(roi),广播模块向流式服务器组件108发送视频束帧流的段。

流式服务器组件108由多个流式服务器组成,多个流式服务器从广播模块106接收视频束帧流片段或基于如由观看者客户端设备110确定的感兴趣区域(roi)从存储设备组件107进行读取。流式服务器组件经由通信网络109向观看者客户端设备发送如通过roi确定的视频束帧流片段。

观看者客户端设备110将roi传送至流式服务器组件108,并且显示经由通信网络109从流式服务器组件108接收的视频束帧流片段。观看者客户端设备110在多个观看者设备上操作,每个观看者设备传送唯一的roi并从流式服务器组件108接收一组特有的视频束帧流片段。观看者客户端设备110可以在能够接收和播放单视场或立体全景视频的任何用户设备(例如,个人计算设备、智能电话、虚拟现实耳机等)上操作。

图2示出了利用自定义、第三方、或定制第三方拼接过程流传输单视场或立体全景视频的示例性方法、过程、和系统。图2示出了图1的另一实施方式,其中拼接模块104利用自定义、第三方、或定制的第三方拼接软件111。

图3示出了利用照相机组并在生产水平处从不同的照相机组手动切换视频馈送来流传输单视场或立体全景视频的示例性方法、过程、和系统。图3示出了图1的另一实施方式,其中照相机系统112由多个照相机组组成,每个照相机组均由编号2至n并且支持捕获单视场或立体视频的独立照相机组成。在这个实施方式中,每个照相机组向生产者子系统113发送视频流。生产者子系统允许手动选择单个照相机组。只有由生产者子系统主动选择的照相机组向视频捕获模块发送包括所选择的照相机组的照相机的视频馈送用以在观看者客户端设备中进行处理和最终的播放。

图4示出了利用多个照相机组并在播放水平处在视频馈送之间手动切换115来流传输单视场或立体全景视频的示例性方法、过程、和系统,每个照相机组均具有指定的生产站114。图4示出了图1的另一实施方式,其中多个照相机组各自具有专用生产站114。在这个实施方式中,每个照相机组和专用生产站产生唯一的视频束帧流。观看者客户端设备117将手动照相机组选择传送到流式服务器组件116,其在仅有的视频束帧流115之间进行切换并将视频束帧流从所选择的照相机组发送至观看者客户端设备117进行播放。

图5示出了用于流传输先前拼接的单视场或立体全景视频流的示例性方法、过程、和系统。图5示出了图1中的生产站的另一实施方式,其中生产站118由输入流119、编码模块120、和广播模块121组成。在这个实施方式中,输入流由在进入本系统之前的原点处拼接的单视场或立体全景视频流组成,从而消除了对拼接模块的需要。

图6示出了用于上传并流传输先前产生的单视场或立体全景视频文件的示例性方法、过程、和系统。图6示出了图1中的生产站的另一实施方式,其中生产站122由文件上传模块123和编码模块124组成。在这个实施方式中,将先前产生并拼接的单视场或立体全景视频文件上传至文件上传模块123。编码模块124由将从文件上传模块123接收的单视场或立体全景视频流转换为视频束帧流或文件的多个计算机cpu和/或gpu组成。编码模块通过将单视场或立体全景视频流划分为多个片段并对以比特率的形式定量表示的多个分辨率质量的每个片段进行编码产生视频束帧流。每个分片段的数量和形状均基于所希望的配置而变化。编码模块可以利用任何合适的编码解码器,包含任何当前或未来的标准编码解码器(例如,h.264、h.265等)。

存储设备组件125由多个存储设备组成,多个存储设备可以可选地接收并保存来自编码模块124的视频束帧流。多个存储设备可以包括内部硬盘驱动器、外部硬盘驱动器、固态驱动器(ssd)、vram、dram、网络附接存储器(nas)设备、usb拇指驱动器、闪存驱动器、存储卡、光驱动器(例如,cd驱动器、dvd驱动器等)、云存储器(例如,亚马逊s3、google驱动器、sky驱动器等)、以及任何合适的组合的其他合适的存储设备。

流式服务器组件126由多个流式服务器组成,多个流式服务器读取基于如由观看者客户端设备127确定的感兴趣区域(roi)从存储设备组件125进行读取的视频束帧流的片段。流式服务器组件向观看者客户端设备127发送如通过roi确定的视频束帧流的片段。

图7是用于拼接和编码完整的单视场或立体全景视频帧从而将视频帧转换为束帧集合的示例性方法和过程的流程图。图7示出了编码模块200使用的方法和过程的实施方式。拼接模块201将来自每个视频捕获设备的单独的视频馈送转换为一个单视场或立体全景视频流(全帧)。每个视频捕获设备与照相机组的相应照相机相关联。编码模块200将全帧分成多个片段203,片段的形状和数量基于所希望的配置而变化。全帧的每个分片段被临时记录在存储设备组件204中。在并行过程中,多个编码器对以比特率的形成定量表示的分辨率质量[(ql1)...(qlm)]205的全帧的每个分片段进行编码。在编码205之后,每个分片段的多个分辨率质量(以比特率的形式定量表示的)组合成视频聚束帧集合206。聚束帧集合由两种类型的分帧、内帧(关键帧)和预测帧(△帧)组成。视频束帧流由内帧和预测帧的组合(ipppipppi...)组成。

图8是用于识别、流传输、和显示单视场或立体视频束帧的示例性方法和过程的流程图,单视场或立体视频束帧由如由观看者客户端设备选择的或者单独显示在观看者客户端设备中的关注区域(roi)确定的内帧(关键帧)和预测帧(△帧)组成。在这个实施方式中,单视场或立体全景视频束帧从存储设备组件300或广播模块301流传输。存储器和广播模块包含视频束帧集合,其包括用于每个分帧片段的多个分辨率质量。图8中的实施方式仅示出两种分辨率质量,低质量(lq)和高质量(hq),而其他实施方式利用以比特率的形式定量表示的多个分辨率质量[(ql1)...(qlm)]。束帧集合由两种类型的分帧、内帧(关键帧)和预测帧(△帧)组成。视频束帧流由内帧和预测帧的组合(ipppipppi...)组成。

流式服务器组件302从存储器300和广播模块301接收视频束帧流。观看者客户端设备304连接至流式服务器组件302并且在建立连接之后将roi坐标发送至流式服务器组件。roi坐标基于放置在观看者客户端设备303的感兴趣区域中的内帧。基于从观看者客户端设备接收的roi坐标和当前帧状态(内帧或预测帧),流式服务器组件选择并组装特有的所需分辨率质量(以比特率的形式定量表示的)的片段集合以形成对应的唯一视频束帧流,该唯一视频束帧流被发送至观看者客户端设备进行显示304。该过程导致高质量帧片段被显示在观看者客户端设备的感兴趣区域,而低质量的帧片段被发送至感兴趣区域之外的区域。当感兴趣区域在全帧内移动时,流式服务器组件时实基于新的roi坐标和当前帧状态调整被发送至观看者客户端设备的唯一的视频束帧流。

在这个实施方式中,帧片段基于应用被显示在观看者客户端设备中。帧片段可以组装成完整的单视场或立体全景视频305或者可以彼此单独显示306。在不需要拼接并且从每个源照相机产生单独的视频流的应用中可以使用单独的显示器306。

图9是当利用(ql1)...(qlm)质量水平的束帧时用于流传输和显示单视场或立体全景视频束帧的示例性方法、过程、和系统的流程图。图9示出了图8的实施方式,其示出了包含以每个分帧的比特率形式定量表示的多个分辨率质量的视频束帧流。

图10是用于识别和流传输单视场或立体视频束帧集合的示例性方法、过程、和系统的流程图,单视场或立体视频束帧集合由如由观看者客户端设备选择的感兴趣区域确定的内帧(关键帧)和预测帧(△帧)的特定组合组成。当前实施方式说明了阐述包含观看者客户端设备的唯一的视频束帧流的帧片段的分辨率质量(以比特率的形式定量表示的)的变化的过程,即当观看者客户端设备的感兴趣区域变化时,包含唯一的视频束帧流的帧片段的组合基于新的roi坐标和当前内帧(关键帧)变化使得高质量帧片段显示在观看者客户端设备的感兴趣区域上。

虽然流传输单视场或立体视频,但流式服务器组件从广播模块400接收新的帧束数据。当接收新的帧数据时,流式服务器组件查看是否接收到内帧(关键帧)401。流式服务器组件跳过新的帧数据直至接收到内帧(关键帧)401。如果接收到内帧(关键帧)并且观看者客户端设备的roi坐标不改变,则帧质量输出不改变402。如果接收内帧(关键帧)并且从观看者客户端设备接收的roi坐标已改变,则通过流式服务器组件改变帧质量输出403。检查视频帧束中的每个分帧片段404。如果分帧片段位于roi内部,则输出到观看者客户端设备的视频束帧流是分帧片段的高比特率版本405。如果分帧片段位于roi外部,则输出到观看者客户端设备的视频束帧流是分帧片段的低比特率版本406。

图11是用于将完整的帧单视场或立体全景视频文件划分为分帧片段的示例性方法的示意图,分帧片段的尺寸和数量可基于应用而变化。图11提供了在编码过程期间单视场或立体全景视频流如何被划分为分帧片段的实例。用于包含编码过程期间最后的视频束帧的片段的形状和数量是可变的并且基于应用,例如,预期为观看者客户端设备形成细长的、从左到右的roi的视频内容可以以水平线段进行分割。

参照图12,用于流传输全景视频的过程1200的示例性实施方式开始于1202,其中在编码设备处接收由一系列拼接的全景帧形成的全景视频流。每个拼接的全景帧由相对于中央观看点水平和垂直维度限定的全景图表示。在1204中,将拼接的全景帧分成片段以形成多个分帧和与全景视频流的分帧部分有关的对应多个分帧流。接下来,以多个比特率对每个分帧流的多个分帧进行编码以为每个分帧流形成多个分辨率质量(1206)。多个分辨率质量的范围为从最高的分辨率质量到最低的分辨率质量。在1208中,将多个分辨率质量中的每一个的多个分帧流进行组合以形成视频束帧流。

在过程1200的另一个实施方式中,与全景图相关联的水平维度是180度并且与全景图相关联的垂直维度为90度。在过程1200的又一实施方式中,由拼接的全景帧的序列形成的全景视频流是由一系列拼接的球形投影帧形成的球形投影视频流,与全景图相关联的水平维度是360度,并且与全景图相关联的垂直维度是180度。在过程1200的又一实施方式中,拼接全景帧所分成的片段由预定配置定义使得每个片段可由其在拼接的全景帧内的位置识别并且使得预定配置与全景视频流逐帧一致。在这个实施方式中,拼接的全景帧的片段的预定配置以允许在拼接的全景帧中的不同的位置的分帧具有不同的形状和不同尺寸的方式包括每个分帧的形状和尺寸参数。在过程1200的又一实施方式中,每个分帧的多个比特率包括至少三个比特率使得每个分帧流的多个分辨率质量包括高分辨率质量、至少一个中等分辨率质量、和低分辨率质量。

参照图12和图13,用于流传输全景视频的过程1300的实施方式在1302中开始,其中在一个或多个视频捕获设备处捕获来自多个摄像机的视频馈送。与多个摄像机相关联的视场为使得视场的组合提供与全景图相关联的水平和垂直维度的覆盖范围和中央观看点涉及球体的中心点的球体的相应内表面视图的覆盖范围。在1304中,将所捕获的视频馈送从一个或多个视频捕获设备发送至拼接设备。接下来,将所捕获的视频馈送的帧转换为拼接的全景帧(1306)。在1308中,将具有拼接的全景帧的全景视频流从拼接设备发送至编码设备。过程1300从1308继续至图12中的过程1200的1202。

参照图12和图14,用于流传输全景视频的过程1400的实施方式开始于1402,其中将与先前拼接且记录的全景视频流相关联的一个或多个电子文件从存储设备上传至文件上传设备。先前拼接且记录的全景视频包括全景视频流的拼接全景帧。在1404中,处理一个或多个电子文件以形成全景视频流。接下来,全景视频流被从文件上传设备发送至编码设备(1406)。过程1400从1406继续至图12中的过程1200的1202。

参照图12和图15,用于流传输全景视频的过程1500的实施方式包括图12的过程1200并且从1208继续至1502,其中将视频束帧流从编码设备发送至广播设备。在1504中,将视频束帧流至少临时存储在广播设备能访问的存储设备中。接下来,在广播设备处从第一观看者客户端设备接收第一感兴趣区域的识别信息(1506)。第一感兴趣区域表示全景图的至少第一部分。在1508中,识别与第一感兴趣区域相关联的视频束帧流的分帧和与第一感兴趣区域不关联的其他分帧。接下来,针对与第一感兴趣区域相关联的分帧选择视频束帧流中较高分辨率质量的第一分帧流(1510)。在1512中,针对与第一感兴趣区域不关联的分帧选择视频束帧流中较低分辨率质量的第二分帧流。接下来,将第一分帧流和第二分帧流组合以形成第一定制全景视频流(1514)。在1516中,将第一定制全景视频流从广播设备发送至第一观看者客户端设备。

在另一个实施方式中,过程1500还包括在广播设备处从第二观看者客户端设备接收第二感兴趣区域的识别信息。第二感兴趣区域不同于第一感兴趣区域并且表示全景图的至少第二部分。识别与第二感兴趣区域相关联的视频束帧流的分帧和与第二感兴趣区域不关联的其他分帧。针对与第二感兴趣区域相关联的分帧选择视频束帧流中较高分辨率质量的第三分帧流。针对与第二感兴趣区域不关联的分帧选择视频束帧流中较低分辨率质量的第四分帧流。将第三分帧流和第四分帧流组合以形成第二定制全景视频流。第二定制全景视频流被从广播设备发送至第二观看者客户端设备。

参照图12和图16,用于流传输全景视频的过程1600的实施方式包括图12的过程1200并从1208继续至1602,其中视频束帧流至少临时存储在编码设备可访问的存储设备中。在1604中,将与视频束帧流相关联的分帧信息从存储设备上传至流式服务器组件。接下来,在流式服务器组件处从第一观看者客户端设备接收第一感兴趣区域的识别信息(1606)。第一感兴趣区域表示全景图的至少第一部分。在1608中,识别与第一感兴趣区域相关联的视频束帧流的分帧和至少部分基于分帧信息与第一感兴趣区域不关联的其他分帧。接下来,将视频束帧流中较高分辨率质量的第一分帧流从存储设备上传至与第一感兴趣区域相关联的分帧的流式服务器组件(1610)。在1612中,将视频束帧流中较低分辨率质量的第二分帧流从存储设备上传至与第一感兴趣区域不关联的其他分帧的流式服务器组件。接下来,将第一分帧流和第二分帧流组合以形成第一定制全景视频流(1614)。在1616中,将第一定制全景视频流从流式服务器组件发送至第一观看者客户端设备。

在另一个实施方式中,过程1600还包括在流式服务器组件处从第二观看者客户端设备接收第二感兴趣区域的识别信息。第二感兴趣区域表示全景图的至少第二部分。识别与第二感兴趣区域相关联的视频束帧流的分帧和至少部分基于分帧信息与第二感兴趣区域不关联的其他分帧。将视频束帧流中较高分辨率质量的第三分帧流从存储设备上传至与第二感兴趣区域相关联的分帧的流式服务器组件。将视频束帧流中较低分辨率质量的第四分帧流从存储设备上传至与第二感兴趣区域不关联的其他分帧的流式服务器组件。将第三分帧流和第四分帧流组合以形成第二定制全景视频流。将第二定制全景视频流从流式服务器组件发送至第二观看者客户端设备。

参照图12和图17,用于流传输全景视频的过程1700的实施方式包括图12的过程1200并且从1208继续至1702,其中将视频束帧流从编码设备发送至广播设备。在1704中,视频束帧流至少临时存储在广播设备能访问的存储设备中。接下来,至少每当感兴趣区域变化时,在广播设备处从观看者客户端设备周期性地接收感兴趣区域的识别信息(1706)。观看者客户端设备被配置为允许感兴趣区域响应于观看者客户端设备处的与显示在观看者客户端设备上的流式视频相关联的用户动作动态地改变。感兴趣区域表示全景图的至少一部分。在1708中,响应于对感兴趣区域的动态改变动态地识别与感兴趣区域相关联的视频束帧流的分帧和与感兴趣区域不关联的其他分帧。接下来,响应于对感兴趣区域的动态改变,针对与第一感兴趣区域相关联的分帧动态地选择视频束帧流中较高分辨率质量的第一分帧流(1710)。在1712中,响应于对感兴趣区域的动态改变,针对与第一感兴趣区域不关联的分帧动态地选择视频束帧流中较低分辨率质量的第二分帧流。接下来,将第一分帧流和第二分帧流动态地组合以形成响应于对感兴趣区域的动态改变而动态地调整的定制全景视频流(1714)。在1716中,将定制全景视频流从广播设备发送至观看者客户端设备。

参照图12、图18a和图18b,用于流传输全景视频的过程1800的实施方式包括图12的过程1200并从1208继续至1802,其中视频束帧流至少临时存储在编码设备可访问的存储设备中。在1804中,将与视频束帧流相关联的分帧信息从存储设备上传至流式服务器组件。接下来,至少每当感兴趣区域变化时,在流式服务器组件处从观看者客户端设备周期性地接收感兴趣区域的识别信息(1806)。观看者客户端设备被配置为允许感兴趣区域响应于观看者客户端设备处的与显示在观看者客户端设备上的流式视频相关联的用户动作动态地改变。感兴趣区域表示全景图的至少一部分。接下来,响应于对感兴趣区域的动态改变,动态地识别与感兴趣区域相关联的视频束帧流的分帧和至少部分基于分帧信息与感兴趣区域不关联的其他分帧(1808)。在1810中,响应于对感兴趣区域的动态改变,将视频束帧流中的较高分辨率质量的第一分帧流被从存储设备动态地上传至与感兴趣区域相关联的分帧的流式服务器组件。接下来,响应于对感兴趣区域的动态改变,将视频束帧流中的较低分辨率质量的第二分帧流被从存储设备动态地上传至与感兴趣区域不关联的其他分帧的流式服务器组件(1812)。在1814中,将第一分帧流和第二分帧流动态地组合以形成响应于对感兴趣区域的动态改变而动态地调整的定制全景视频流。接下来,将第二定制全景视频流从流式服务器组件发送至第二观看者客户端设备。

参照图19,用于流传输全景视频的系统1900的示例性实施方式包括被配置为接收由一系列拼接的全景帧形成的全景视频流的编码设备1902。每个拼接的全景帧由相对于中央观看点水平和垂直维度限定的全景图表示。编码设备1902被配置为将拼接的全景帧分成片段以形成多个分帧和与全景视频流的分帧部分有关的对应多个分帧流。编码设备1902被配置为以多个比特率对每个分帧流的多个分帧进行编码以为每个分帧流形成多个分辨率质量。多个分辨率质量的范围为从最高的分辨率质量到最低的分辨率质量。编码设备1902被配置为对多个分辨率质量中的每一个的多个分帧流进行组合以形成视频束帧流。

在另一个实施方式中,系统1900包括一个或多个视频捕获设备1904、多个摄像机1906、和拼接设备1908。一个或多个视频捕获设备1904被配置为从多个摄像机1906捕获视频馈送。与多个摄像机1906相关联的视场为使得视场的组合提供与全景图相关联的水平和垂直维度的覆盖范围和中央观看点涉及球体的中心点的球体的相应内表面视图的覆盖范围。一个或多个视频捕获设备1904被配置为向拼接设备1908发送所捕获视频馈送。拼接设备1908被配置为将所捕获视频馈送的帧转换为拼接的全景帧。拼接设备1908被配置为向编码设备1902发送具有拼接全景帧的全景视频流。

在又一个实施方式中,系统1900包括文件上传设备1910,文件上传设备被配置为从存储设备1912上传与先前拼接且记录的全景视频流相关联的一个或多个电子文件。先前拼接且记录的全景视频包括全景视频流的拼接全景帧。文件上传设备1910被配置为处理一个或多个电子文件以形成全景视频流。文件上传设备1910被配置为向编码设备1902发送全景视频流。

在又一实施方式中,系统1900包括广播设备1914。在这个实施方式中,编码设备1902被配置为向广播设备1914发送视频束帧流。广播设备1914被配置为将视频束帧流至少临时存储在存储设备1916中。广播设备1914被配置为从第一观看者客户端设备1918接收第一感兴趣区域的识别信息。第一感兴趣区域表示全景图的至少第一部分。广播设备1914被配置为识别与第一感兴趣区域相关联的视频束帧流的分帧和与第一感兴趣区域不关联的其他分帧。广播设备1914被配置为选择与第一感兴趣区域相关联的分帧的视频束帧流中较高的分辨率质量的第一分帧流。广播设备1914被配置为选择与第一感兴趣区域不关联的分帧的视频束帧流中较低的分辨率质量的第二分帧流。广播设备1914被配置为将第一分帧流和第二分帧流组合以形成第一定制全景视频流。广播设备1914被配置为向第一观看者客户端设备1918发送第一定制全景视频流。

在又一实施方式中,系统1900包括流式服务器组件1920。在这个实施方式中,编码设备1902被配置为将视频束帧流至少临时存储在存储设备1922中。流式服务器组件1920被配置为从存储设备1922上传与视频束帧流相关联的分帧信息。流式服务器组件1920被配置为从第一观看者客户端设备1918接收第一感兴趣区域的识别信息。第一感兴趣区域表示全景图的至少第一部分。流式服务器组件1920被配置为识别与第一感兴趣区域相关联的视频束帧流的分帧和至少部分基于分帧信息与第一感兴趣区域不关联的其他分帧。流式服务器组件1920被配置为从与第一感兴趣区域相关联的分帧的存储设备1922上传视频束帧流中较高的分辨率质量的第一分帧流。流式服务器组件1920被配置为从与第一感兴趣区域不关联的其他分帧的存储设备1922上传视频束帧流中较低的分辨率质量的第二分帧流。流式服务器组件1920被配置为将第一分帧流和第二分帧流组合以形成第一定制全景视频流。流式服务器组件1920被配置为向第一观看者客户端设备1918发送第一定制全景视频流。

在另一个实施方式中,系统1900包括广播设备1914。在这个实施方式中,编码设备1902被配置为向广播设备1914发送视频束帧流。广播设备1914被配置为将视频束帧流至少临时存储在存储设备1916中。广播设备1914被配置为至少每当感兴趣区域改变时从观看者客户端设备1918周期性地接收感兴趣区域的识别信息。观看者客户端设备1918被配置为允许感兴趣区域响应于观看者客户端设备1918处的与显示在观看者客户端设备1918上的流式视频相关联的用户动作动态地改变。感兴趣区域表示全景图的至少一部分。广播设备1914被配置为响应于对感兴趣区域的动态改变而动态地识别与感兴趣区域相关联的视频束帧流的分帧和与感兴趣区域不关联的其他分帧。广播设备1914被配置为响应于对感兴趣区域的动态改变,针对与第一感兴趣区域相关联的分帧动态地选择视频束帧流中较高分辨率质量的第一分帧流。广播设备1914被配置为响应于对感兴趣区域的动态变化针对与第一感兴趣区域不关联的分帧动态地选择视频束帧流中较低的分辨率质量的第二分帧流。广播设备1914被配置为将第一分帧流和第二分帧流动态地组合以形成响应于对感兴趣区域的动态改变而动态地调整的定制全景视频流。广播设备1914被配置为向第一观看者客户端设备1918发送定制全景视频流。

在另一个实施方式中,系统1900包括流式服务器组件1920。在这个实施方式中,编码设备1902被配置为将视频束帧流至少临时存储在存储设备1922中。流式服务器组件1920被配置为从存储设备1922上传与视频束帧流相关联的分帧信息。流式服务器组件1920被配置为至少每当感兴趣区域改变时从观看者客户端设备1918周期性地接收感兴趣区域的识别信息。观看者客户端设备1918被配置为允许感兴趣区域响应于观看者客户端设备1918处的与显示在观看者客户端设备1918上的流式视频相关联的用户动作动态地改变。感兴趣区域表示全景图的至少一部分。流式服务器组件1920被配置为响应于感兴趣区域的动态变化动态地识别与感兴趣区域相关联的视频束帧流的分帧和至少部分基于分帧信息与感兴趣区域不关联的其他分帧。流式服务器组件1920被配置为响应于对感兴趣区域的动态改变从与感兴趣区域相关联的分帧的存储设备1922上传视频束帧流中较高的分辨率质量的第一分帧流。流式服务器组件1920被配置为响应于对感兴趣区域的动态改变从与感兴趣区域不关联的其他分帧的存储设备1922上传视频束帧流中较低的分辨率质量的第二分帧流。流式服务器组件1920被配置为将第一分帧流和第二分帧流动态地组合以形成响应于感兴趣区域的动态变化动态地调整的定制全景视频流。流式服务器组件1920被配置为向第一观看者客户端设备1918发送定制全景视频流。

参照图12-图19,存储程序指令的非易失性计算机可读介质的各种示例性实施方式,该程序指令当由至少一个计算机或者处理器执行时使得相应处理器-控制的系统(例如,系统1900)执行流式全景视频的方法。例如,上文参照图19描述了处理器控制的系统的各种实施方式。上文参照图12-17、图18a、图18b描述了流式全景视频的方法的各种实施方式。换言之,非易失性计算机可读介质的各种示例性实施方式的程序指令由在上文参照图12-17、图18a、图18b描述的过程1200、1300、1400、1500、1600、1700、和1800的任意合适的组合定义。类似地,与非易失性计算机可读介质的各种示例性实施方式相关联的处理器控制的系统1900由上文参照图19描述的任意合适的组件组合定义。

鉴于上述说明,有关上述方法、过程、和系统的各种实施方式的许多附加的变化将对本领域中的技术人员显而易见。这种变化包括目前无法预料的或者不曾预料到的随后可以由本领域中的技术人员进行的并且旨在在本文中描述的方法、过程、和系统的范围内的替代、修改、和改进。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1