多视图视频流式传输的制作方法

未命名 10-09 阅读:100 评论:0

over the internet[互联网上的动态自适应多视图视频流式传输],immersiveme’13:proceedings of the 2013acm international workshop on immersive media experiences[2013年关于acm沉浸式媒体体验的国际研讨会论文集],2013年10月,第51至56页中描述了用于将3d自由视点视频流式传输到客户端的基于http的自适应流式传输过程。作者描述了用于3d自由视点类型多视图视频的mpeg-dash方案,该方案包括针对在常规自动立体显示器上的呈现的进行动态视图适应。在3d自由视点方案中,用户能够基于用户控制浏览场景。为此,多个视图和深度信息被发送到客户端。对于特定视点,常规立体图像是基于两个视图来构建的。
[0007]
为限制流式传输期间网络上的总负载,作者建议可以基于可用带宽来自适应发送到客户端的视图数量,同时可以在客户端侧使用基于深度图像的渲染(dibr)来构建附加视图。为此目的,开发了mpeg参考视图合成方案,其被称为视图合成参考软件(vsrs)。因此,dibr允许减少发送的视图数量。所提出的方法是选择性地请求视图子集的处于最高可能质量的片段,并且使用dibr基于深度信息来估计接收器未分发的视图,使得立体显示器可以产生立体效果。
[0008]
然而,上文描述的基于动态视图适应的流式传输方案不适用于现代3d多视图全息显示器,这些显示器要求预定的最小数量的视图在不考虑带宽波动的情况下实现全息效果。另外地,依赖于客户端侧的繁重计算过程(比如视图合成)不能在视图量迅速增加到大量视图(例如,在利用来自lookingglass factory的最新显示器的情况下为45个视图)时为多视图显示器提供可扩展的解决方案。
[0009]
因此,从上文可知,本领域需要改进用于多视图显示器的自适应多视图视频流式传输。另外地,需要允许在资源、计算能力、电池、传输带宽、硬件视频解码能力等受到约束的情况下将多视图视频高效流式传输到多视图显示器的自适应多视图视频格式。


技术实现要素:

[0010]
如将由本领域的技术人员理解的,本发明的各方面可以具体化为一种系统、方法或计算机程序产品。因此,本发明的各方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者在本文中通常可以被称为“电路”、“模块”或者“系统”的组合软件和硬件方面的实施例的形式。本披露内容中描述的功能可以实施为由计算机的处理器/微处理器执行的算法。此外,本发明的各方面可以采取在具有在其上体现的、例如存储的计算机可读程序代码的一种或多种计算机可读介质中体现的计算机程序产品的形式。
[0011]
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁、光、电磁、红外、或半导体系统、装置或设备,或上述的任何合适的组合。计算机可读存储介质的更具体的示例可以包括但不限于以下各项:具有一个或多个导线的电连接装置、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪速存储器)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储设备、磁存储设备、或者上述的任何合适的组合。在本发明的上下文中,计算机可读存储介质可以是可包含或存储用于由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用的程序的任何有形介质。
[0012]
计算机可读信号介质可以包括具有在其中(例如,在基带中或作为载波的一部分)体现的计算机可读程序代码的传播数据信号。这种传播信号可以采取各种形式中的任何一种,包括但不限于,电磁的、光的或其任何合适的组合。计算机可读信号介质可以是不是计算机可读存储介质并且可以通信、传播、或传输程序(以用于由指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合使用)的任何计算机可读介质。
[0013]
可以使用任何适当的介质发送在计算机可读介质上体现的程序代码,这种介质包括但不限于无线、有线、光纤、电缆、rf等,或上述的任何合适的组合。用于执行本发明的各方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合编写,该一种或多种编程语言包括比如java(tm)、smalltalk、c++等面向对象的编程语言以及比如“c”编程语言或类似的编程语言等常规过程编程语言。程序代码可以完全地在个人计算机上执行、部分地在个人计算机上执行、作为独立软件包执行、部分地在个人计算机上执行并部分地在远程计算机上执行、或完全地在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过包括局域网(lan)或广域网(wan)的任何类型网络连接到个人计算机,或可以进行与外部计算机的连接(例如,使用互联网服务提供商、通过互联网)。
[0014]
下面参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解的是,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机程序指令实施。可以将这些计算机程序指令提供给通用计算机、专用计算机、或其他可编程数据处理装置的处理器,具体是微处理器或中央处理单元(cpu),以产生机器,使得经由计算机、其他可编程数据处理装置或其他设备的处理器执行的指令创建用于实施流程图和/或框图的一个或多个框中指定的功能/动作的装置。
[0015]
这些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以指导计算机、其他可编程数据处理装置、或其他设备以用特殊的方式发挥功能,从而使得存储在该计算机可读介质中的指令产生包括指令的制品,这些指令实施流程图和/或框图的一个或多个框中指定的功能/动作。
[0016]
计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以引起在计算机、其他可编程装置或其他设备上执行一系列操作步骤以产生计算机实施的过程,从而使得在计算机或其他可编程装置上执行的指令提供用于实施在流程图和/或框图的一个或多个框中指定的功能/动作的过程。
[0017]
附图中的流程图和框图展示了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实施方式的体系架构、功能和操作。关于此,流程图或框图中的每个框可以表示包括用于实施(多个)指定逻辑功能的一个或多个可执行指令的代码的模块、片段或部分。还应当指出的是,在一些替代实施方式中,框中标明的功能可以不按图中标记的顺序发生。例如,根据涉及的功能,连续示出的两个框实际上可以基本上同时地执行,或者这些框可能有时以相反的顺序执行。还将指出的是,可以通过执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实施框图和/或流程图的每个框及框图和/或流程图中框的组合。
[0018]
在第一方面,本发明涉及一种由客户端装置处理多视图视频的方法。该多视图视频可以基于视频流集合来创建,该视频流集合由一组相机以一组视角同时捕获场景中的对象来生成。视角可以定义聚焦到该对象上的相机的光轴与该对象的参考轴线之间的角度。
[0019]
在实施例中,该方法可以包括接收元数据,优选地定义用于该多视图视频的多个窗口的清单文件,其中,窗口可以定义基于从该视频流集合中选择的视频流子集的多视图视频数据,该视频流子集与视角子集相关联,优选地该视角子集中的视角定义有序视角序列。该方法可以包括确定或接收与观看者的角度位置相关联的位置信息,优选地该角度位置与该观看者的眼睛的位置相关联,该角度位置定义由该多视图显示装置显示的该对象的参考轴线与该观看者看向该对象的光轴之间的角度。该方法可以进一步包括从该多个窗口中选择第一窗口,该第一窗口与第一视角子集相关联,该选择基于该位置信息和该第一视角子集。该方法可以进一步包括请求从服务器系统发送与该第一视频流子集相关联的第一多视图视频数据。进一步地,该方法可以包括接收该第一多视图视频数据,并且将该第一多视图视频数据提供到至少一个解码器实例以进行解码。
[0020]
因此,本发明利用了如下事实:观看者在任何给定时间点仅看到由多视图显示器显示的所有视图的子集。因此,本发明旨在高效地分发观看者可见的视图。为此,定义了用于流式传输客户端的多视图视频格式,其中,数据格式包括观看者相对于多视图显示器的特定角度位置所需的视图集合。在所有可用视图中,相连视图集合被捆绑成所谓的“窗口”格式。窗口包括包含那些相连视图的多视图视频数据。本发明允许流式传输客户端基于位置(特别是使用流式传输客户端的观看者的角度位置)请求多视图视频数据,例如与不同视角相关联的视频流集合。可以将多视图视频数据解码成与不同的视角相关联的图片,这些图片可以由多视图显示器同时呈现,使得用户将体验到“全息”效果。
[0021]
在实施例中,该第一多视图视频数据可以包括经编码多视图图片的序列,每个多视图图片包括与该第一视角子集的所有视角相关联的图片。在该实施例中,第一窗口的所有视角的所有图片在空间上布置在多视图图片中。这样,有意将所有视角的图片在时间上同步。
[0022]
在实施例中,该第一多视图视频数据可以包括多组图片,一组图片包括针对时间实例的该第一视角子集的所有视角的图片。在该实施例中,与视角相关联的图片可以作为单独的图片流被流式传输到客户端设备。
[0023]
在实施例中,每个多视图图片可以与打包格式相关联,该打包格式定义与该第一视角子集相关联的这些图片在该多视图图片中的空间布置方式。
[0024]
在实施例中,该方法可以进一步包括:将该第一多视图视频数据解码成与该第一视角子集相关联的第一经解码图片;以及
[0025]
向该多视图显示装置提供这些第一经解码图片,以同时呈现这些第一经解码图片的至少一部分,从而在该观看者的位置处提供全息效果。
[0026]
在实施例中,位置信息可以由位置传感器确定或提供,该位置传感器被配置为计算或预测观看者的角度位置。在实施例中,位置传感器可以包括成像系统,该成像系统被配置为在由成像系统捕获的图像中跟踪观看者的位置。
[0027]
在实施例中,从该多个窗口中选择该第一窗口可以包括:确定该观看者的角度位置是否位于由该第一视角子集的最小和最大视角定义的范围内。因此,通过将观看者的角度位置与由窗口定义的视角子集相比较,可以高效地选择合适的窗口。
[0028]
在实施例中,有序视角序列可以定义增加或减少的视角序列,其中,两个后续视角之间的差异定义视图间距。
[0029]
在实施例中,这些不同视图的视图间距可以被选择为使得在这些多视图图片的呈现期间与从该显示装置的屏幕点发出的不同的多个视角相关联的不同视觉信息进入该观看者的左眼和右眼。
[0030]
在实施例中,该元数据可以进一步包括用于定位该服务器系统的第一资源定位器,该服务器系统被配置为将该第一视频流子集的一个或多个分辨率版本发送到该客户端装置。
[0031]
在实施例中,该多个窗口中的一个窗口可以定义第二窗口,其中,该第二窗口定义从该视频流集合中选择的第二视频流子集,其中,该第二视频流子集与第二视角子集相关联。
[0032]
在实施例中,该第一子集的视角可以与该第二子集的视角部分重叠。
[0033]
在实施例中,该第一子集的视角与该第二子集的视角不重叠。
[0034]
在实施例中,该第一子集的视角可以与该第二子集的视角相同,并且该第一子集的视频流数量大于该第二子集的视频流数量。
[0035]
在实施例中,元数据、优选地清单文件包括以下各项中的至少一项:
[0036]
定义该第一视角子集限定以下项的元数据:用于水平多视图视频呈现的水平视角;用于竖直多视图视频呈现的竖直视角;或者用于水平和竖直多视图视频呈现二者的水平和竖直视角;
[0037]
定义这些多视图图片的数据格式的元数据;
[0038]
定义不同视角的图片在该多视图图片中的空间布置顺序的元数据;
[0039]
定义用于创建该视频流集合的该组相机的一个或多个属性的元数据;
[0040]
定义该第一子集的第一角度和/或该第一子集的最后角度的元数据;
[0041]
定义该第一子集中的视角数量的元数据。
[0042]
在实施例中,该客户端装置可以被实施为http适应流式传输客户端装置,比如mpeg-dash客户端装置,并且其中,该清单文件定义媒体呈现描述(mpd),其中,该mpd包括定义该第一窗口的第一窗口描述符,优选地,该第一窗口描述符是essentialproperty,更优选地,该第一窗口映射到第一adaptationset,该第一adaptationset的essentialproperty包括该第一窗口描述符,该第一adaptationset包括representation,其中,每个representation定义该第一视频流子集中的视频流的一个质量版本。
[0043]
在一方面,本发明可以涉及一种由多视图视频创作系统处理多视图视频的方法。在实施例中,该方法可以包括接收定义多视图视频的视频流集合,该多视频由一组相机以一组视角同时捕获场景中的对象来生成,视角定义聚焦到该对象上的该相机的光轴与该对象的参考轴线之间的角度。该方法可以进一步包括从该视频流集合中选择第一视频流子集和第二视频流子集,该第一视频流子集和该第二视频流子集分别与第一视角子集和第二视角子集相关联。该方法可以包括确定与该第一视频流子集相关联的第一多视图视频数据和与该第二视频流子集相关联的第二多视图视频数据。该方法还可以包括确定清单文件,该清单文件定义用于该多视图视频的第一窗口和第二窗口,其中,该第一窗口定义与该第一视频流子集和该第一视角子集相关联的该第一多视图视频数据,并且该第二窗口定义与该第二视频数据子集和该第二视角子集相关联的该第二多视图视频数据;并且该方法可以包括将该第一多视图视频数据和该第二多视图视频数据以及该清单文件存储在存储介质上。
[0044]
在实施例中,该确定第一多视图视频数据可以包括:
[0045]
将该第一子集的所有视角的图片在空间上布置到多视图图片中;以及基于视频编码过程编码这些多视图图片。
[0046]
在再一方面,本发明可以涉及一种用于处理多视图视频的客户端装置,该多视图视频基于视频流集合来创建,该视频流集合由一组相机以一组视角同时捕获场景中的对象来生成,视角定义聚焦到该对象上的该相机的光轴与该对象的参考轴线之间的角度。在实施例中,该客户端装置可以包括计算机可读存储介质,该计算机可读存储介质具有用其体现的计算机可读程序代码;以及处理器,优选地微处理器,该处理器耦合至该计算机可读存储介质,其中,响应于执行该计算机可读程序代码。在实施例中,该处理器可以被配置为执行可执行操作,这些可执行操作包括以下各项中的至少一项:接收元数据,优选地定义用于该多视图视频的多个窗口的清单文件,窗口定义基于从该视频流集合中选择的视频流子集的多视图视频数据,该视频流子集与视角子集相关联,优选地该视角子集中的视角定义有序视角序列;确定或接收与观看者的角度位置相关联的位置信息,优选地该角度位置与该观看者的眼睛的位置相关联,该角度位置定义由该多视图显示装置显示的该对象的参考轴线与该观看者看向该对象的光轴之间的角度;
[0047]
从该多个窗口中选择第一窗口,该第一窗口与第一视角子集相关联,该选择基于该位置信息和该第一视角子集;请求从服务器系统发送与该第一视频流子集相关联的第一多视图视频数据;接收该第一多视图视频数据,并且将该第一多视图视频数据提供到至少一个解码器实例以进行解码。
[0048]
本发明还可以涉及一种用于处理多视图视频的客户端装置,该客户端装置被配置为执行由上文描述的实施例定义的方法步骤中的任何方法步骤。
[0049]
在又一方面,本发明可以涉及一种多视图视频创作系统,该多视图视频创作系统包括:计算机可读存储介质,该计算机可读存储介质具有用其体现的计算机可读程序代码;以及处理器,优选地微处理器,该处理器耦合至该计算机可读存储介质,其中,响应于执行该计算机可读程序代码,该处理器被配置为执行可执行操作,这些可执行操作包括:接收定义多视图视频的视频流集合,该多视频由一组相机以一组视角同时捕获场景中的对象来生成,视角定义聚焦到该对象上的相机的光轴与该对象的参考轴线之间的角度;从该视频流集合中选择第一视频流子集和第二视频流子集,该第一视频流子集和该第二视频流子集分别与第一视角子集和第二视角子集相关联;确定与该第一视频流子集相关联的第一多视图视频数据和与该第二视频流子集相关联的第二多视图视频数据;确定清单文件,该清单文件定义用于该多视图视频的第一窗口和第二窗口,其中,该第一窗口定义与该第一视频流子集和该第一视角子集相关联的该第一多视图视频数据,并且该第二窗口定义与该第二视频数据子集和该第二视角子集相关联的该第二多视图视频数据;以及将该第一多视图视频数据和该第二多视图视频数据以及该清单文件存储在存储介质上。
[0050]
在一方面,本发明可以涉及一种用于处理多视图视频的服务器,该服务器包括:具有多视图视频存储在其上的存储介质,该多视图视频包括:与第一视频流子集和第一视角子集相关联的第一多视图视频数据以及与第二视频流子集和第二视角子集相关联的第二多视图视频数据,该第一多视图视频数据定义用于该多视图视频的第一窗口并且该第二多视图视频数据定义用于该多视图视频的第二窗口;该第一视频流子集和该第二视频流子集
是从视频流集合中选择的,该视频流集合由一组相机以一组视角同时捕获场景中的对象来生成,视角定义聚焦到该对象上的该相机的光轴与该对象的参考轴线之间的角度;该存储介质进一步具有用其体现的计算机可读程序代码;以及处理器,优选地微处理器,该处理器耦合至该计算机可读存储介质,其中,响应于执行该计算机可读程序代码,该处理器被配置为执行可执行操作,这些可执行操作包括:
[0051]
从客户端装置接收用于向该客户端装置发送与该第一窗口和该第二窗口中的至少一者相关联的多视图视频数据的请求;以及将该第一多视图视频数据和该第二多视图视频数据中的该至少一者发送到该客户端装置。
[0052]
本发明可以涉及一种计算机可读介质,该计算机可读介质包括暂态或非暂态数据,该数据定义数据结构,该数据结构表示定义用于多视图视频的第一窗口和第二窗口的元数据,该多视图视频包括由一组相机以一组视角同时捕获场景中的对象来生成的视频流集合,视角定义聚焦到该对象上的该相机的光轴与该对象的参考轴线之间的角度,该数据结构定义该第一窗口和该第二窗口,该第一窗口定义与第一视频流子集和第一视角子集相关联的第一多视图视频数据,并且该第二窗口定义与第二视频流子集和第二视角子集相关联的第二多视图视频数据;该第一视频流子集和该第二视频流子集是从该视频流集合中选择的。
[0053]
本发明还可以涉及一种计算机程序产品,该计算机程序产品包括软件代码部分,这些软件代码部分被配置用于当在计算机的存储器中运行时执行根据上述过程步骤中任一项所述的方法步骤。
[0054]
将参考附图进一步说明本发明,附图将示意性地示出根据本发明的实施例。将理解的是,本发明不以任何方式局限于这些具体实施例。
[0055]
例如,一个窗口中的流通常可以具有相同的分辨率。然而,窗口中的流可以替代地具有不同的分辨率,例如在窗口边缘处的视图可以具有比更接近窗口中心的视图更低的分辨率。当用户移动、可能比预期更快地移动到新的视图并且需要第二窗口但其尚不可用时,这可以是有利的。因此,具有可能是更宽窗口的第一窗口(其中,在该窗口的边界处的流具有更低的分辨率)可以提供低分辨率回退,在这种情况下,流式传输在该窗口的边界处的视图需要的额外带宽较低。然后可以使用这样的窗口,直到在客户端装置处提供更高分辨率的视图的第二窗口可用。
[0056]
作为另一示例,本发明不排除窗口包括另外的视频流,这些视频流不由相机生成,而是例如基于相机捕获的视频流的插值生成。
附图说明
[0057]
图1a和图1b展示了多视图视频的创建;
[0058]
图2展示了通过多视图显示器对多视图视频的呈现;
[0059]
图3a和图3b描绘了根据本发明的实施例的用于多视图视频的数据处理流水线;
[0060]
图4a至图4c描绘了根据本发明的实施例的基于位置的多视图视频流式传输的概念;
[0061]
图5展示了根据本发明的实施例的多视图视频数据格式的创建;
[0062]
图6描绘了根据本发明的实施例的由服务器装置处理多视图视频的方法;
[0063]
图7描绘了根据本发明的实施例的用于流式传输和呈现多视图视频的系统的示意图;
[0064]
图8描绘了根据本发明的实施例的由客户端装置处理多视图视频的方法;
[0065]
图9展示了根据本发明的实施例的用于流式传输多视图视频的各种窗口数据格式;
[0066]
图10是展示可以以本披露内容中描述的方式使用的示例性数据处理系统的框图。
具体实施方式
[0067]
图1a和图1b描绘了用于多视图视频的内容创建系统的示意图。如图1a中所示出的,包括一个或多个对象106的场景可以由围绕对象布置的类似相机阵列102
1-n
捕获。相机可以围绕对象相等地间隔开,并且以要捕获的对象为中心。相机被布置为使得对象在每个相机的视场(fov)104
1-n
内,这些视场与前部和后部裁剪平面一起形成相机的(3d)视锥。相机可以以弯曲队形围绕对象布置。替代地,相机可以被布置为一条线。然而,在后一种情况下,相机的视锥上可能存在轻微的倾斜,使得不管位移如何,对象对于所有相机来说仍是焦点。另外,该组相机需要被谨慎地配置为使得所有相机以每秒相同数量的图像捕获场景,并且由每个相机捕获的每个图像是在相同的时间实例拍摄的。这是为确保捕获的内容在时间上连贯。如果不满足该条件,则这可能导致视觉伪影和呈现时的体积效果降级。
[0068]
由每个相机捕获的视频帧序列可以表示对象的一个“视图”。因此,这样的视频帧序列在下文中可以被称为视图流或简单地被称为视图。每个视图之间的共同元素是视图具有相同的焦点和视场以及相关联的视角(即视场的角度),该视角在概念上与显示器的中心相匹配。因此,每个视图可以被表达为与参考轴线的偏差,该偏差可以被称为视角α。如图中所示出的,视角可以被定义为聚焦到对象上的相机的光轴110与和对象相关联的参考轴线108(该参考轴线在概念上定义多视图显示器的中心轴线)之间的角度。这样,在相机的光轴平行于(虚拟)多视图显示器的中心轴线的情况下,视角可以是零。视角可以在合适的坐标系中进行定义。
[0069]
进一步地,视图间距δθ可以定义后续相机之间的角度间距,并且因此定义后续视图。为了使显示器生成逼真的全息效果,角度视图间距应该足够小。根据应用,相机阵列可以是一维相机阵列,例如,如图1a中所展示的。在这种情况下,可针对不同的水平视角获取视图。然而,在其他实施例中,相机阵列可以是2d相机阵列,从而不仅生成对象的侧视图,还生成来自“上方”和“下方”的视图。在这种情况下,内容创建系统可以生成如图1b中所示出的2d视图网格,其中,每个视图可以与特定(3d)视角相关联。
[0070]
最先进的多视图显示器包括根据观看者的眼睛位置和注视显示不同的视觉信息的特殊光学元件。特别地,这样的显示器能够同时呈现多个视图,使得可以实现逼真的“全息”效果。为此,不同视图的角度间距应足够小,使得从显示器的同一屏幕点发出的多束光线进入观看者的瞳孔。这在图2中示意地示出,该图描绘了包括显示屏幕202的多视图显示装置,该显示屏幕包括屏幕点203,即被配置为发送与不同视角下的不同视图相关联的不同光学信息的像素结构。
[0071]
例如,该图描绘了在显示器的中心轴线206处的像素结构203同时以背离屏幕的不同视角发送许多不同的视图208
1-n
的光。这些视图的包络204可以定义像素结构的视场,即
可看到从像素结构发出的光的区域。屏幕的所有像素结构可以形成以不同视角发送不同视图的显示器。像素结构的视场可以是与硬件有关的,并且可以根据所使用的显示技术而变化。这样的最先进的显示器的示例包括多视图显示器(有时被称为光场显示器)和全息显示器。例如,由lookingglass factory开发的lookingglass显示器使用了一种光学技术,其中,取决于用户的视角,观看者的眼睛会接收到不同的视图。
[0072]
因此,定位在相对于显示设备的中心轴线的预定角度位置的观看者205将从与定位在中心轴线处的观看者不同的一组视图接收光学信息。此处,观看者的角度位置可以通过由多视图显示装置显示的对象的参考轴线与观看者看向对象的光轴207(观看者轴线)之间的角度来定义。通常,显示器的中心轴线206将与所显示的对象的参考轴线重合,并且观看者轴线207可以表示延伸穿过观看者的位置(具体地,观看者的眼睛)以及在显示器的中心轴线处的像素结构的位置的想象轴线。这样,远离中心轴线定位的观看者将能够看到对象的(部分)侧面,而中心轴线处的观看者不能看到该侧面。在实践中,同时发送的视图数量可以显著大于图2中示意性描绘的视图数量。如该图片中所示出的,观看者205所看到的视觉信息将由不同视图的子集组成,其中,视觉信息的主要部分将源自具有围绕观看者的角度位置的视角的视图。观看者将不会从具有显著大于或小于观看者的角度位置的视角的视图接收任何视觉信息。换句话说,相对于观看者的位置具有小角度距离的视图将是可见的,而相对于用户的角度位置具有大角度距离的视图对观看者不可见。
[0073]
图3a和图3b示意性描绘了用于多视图视频的全部数据处理流水线。该过程可以包括基于相机阵列从不同视角对一个或多个对象进行图像捕获的步骤302,如参考图1描绘(例如描述)的。应注意,视频可以涉及真实场景或虚拟场景(用于虚拟现实等的场景)。与这样的虚拟内容相关联的视图可以基于一组虚拟相机来生成,以类似的方式创建基于真实场景的视图。
[0074]
在步骤304中,可以处理相机的原始帧以满足多视图内容需要。可以应用于该步骤的预处理的示例包括裁剪、缩放、滤波等。根据每帧视觉预处理步骤之后的(多个)目标格式,进一步可以应用特定格式的预处理步骤。例如,在实施例中,一个(单个)时间实例的不同视图的图片被编码在一个帧中,这些图片可以被拼接在一起,并且可以生成描述特定视图位于帧中的哪个位置的元数据。
[0075]
在步骤306中,可以基于视频编解码器对包括视图的合成视频帧进行编码。根据应用,可以使用不同的编解码器,例如传统的编解码器avc、hevc、av1或多视图编解码器,比如基于mpeg-4第10部分avc/h.264编解码器的多视图视频编码(mvc)。mvc是用于视频压缩的编解码器标准,该编解码器标准允许对单个视频流中从多个相机角度同时捕获的视频序列进行高效编码。一个应用是立体内容,即2个视图(用于3d tv),但mvc也处理多视图内容,即大于2个视图。算法使用特定视图作为基础视图,该基础视图可以用于利用类似于帧间预测的技术来进一步预测其他视图。
[0076]
类似地,mv-hevc是基于mpeg-h第2部分/h.265的视频编码标准,该视频编码标准允许对单个视频流中从多个相机角度同时捕获的视频序列进行高效编码。进一步地,存在用于立体内容的单独hevc扩展,其被称为3d-hevc。两个扩展都以相同的第iso/iec 23008-2号规范发布,即mpeg-h第2部分/h.265。这两个标准都基于帧间依赖性。这包括时间上的依赖性(传统编码方案也是如此)以及不同视图的帧之间的依赖性。经编码视频可以被打包到
合适的传输或文件容器中,例如打包成mpeg传输格式或iso基础媒体文件格式(isobmff)。
[0077]
在传输之后,经编码视频数据可以从传输容器中提取并由解码器解码(步骤310)。在一些情况下,可以基于元数据对经解码的帧进行后处理,该元数据可以由解码器在带内和带外接收。例如,可能需要例如裁剪操作来从不同的视图提取图片以形成经解码的视频帧。最后,不同视图的图片可以由多视图显示器呈现,该多视图显示器将同时呈现不同的视图。
[0078]
为实现逼真的全息视频呈现,视图的角度分辨率需要很大,由此需要生成、编码、传输(流式传输)、解码和同时播出包括大量视图的多视图视频。流式传输这样的多视图内容将在带宽利用和服务质量方面带来巨大挑战,因为人类眼睛对呈现多视图视频期间的错误非常敏感。因此,需要一种流式传输方案来提供高效的数据流式传输,同时确保足够的视图被流式传输,使得可以创建全息效果。
[0079]
用于立体多视图视频的最先进流式传输技术使用自适应流式传输技术,比如基于http的动态自适应流式传输(比如mpeg-dash),以将视频数据流式传输到客户端。这些dash方案基于动态视图适应。然而,这样的方法不适用于现代3d多视图全息显示器,这些显示器需要大量的视图在不考虑带宽波动的情况下实现全息效果。另外地,依赖于客户端侧的繁重计算过程(比如视图合成)不能在视图数量迅速增加到大量视图(即,对于最先进的显示器,比如lookingglass factory的8k lookingglass,大约45个视图)时为多视图显示器提供可扩展的解决方案。
[0080]
本技术中的实施例通过引入基于观看者相对于多视图视频显示器的位置的用于多视图视频的自适应流式传输方案来解决这些问题。如参考图2所解释的,从多视图显示器观看视觉信息的观看者将仅能够看到由像素结构发送的所有视觉信息的一小部分,其中,对观看者可见的该部分取决于观看者相对于多视图显示器的位置,例如相对于多视图显示器的中心轴线的位置。因此,对观看者不可见的视觉信息将占用不必要的带宽,带宽在增加由像素结构发送的视图数量时可能很大。为解决该问题,当流式传输多视图视频时,将所有视图的子集流式传输到客户端,其中,视图的子集与观看者实际可见的视图相关。这样,围绕观看者的角度位置的相对大量的视图可以用于为用户产生逼真的全息图像,而不需要将所有视图流式传输到客户端。这样,可以实现带宽的大量减少。另外地,在一些实施例中,可以以低质量下载用户不可见的视图,以应对观看者在显示器前面的快速移动和/或新的观看者突然出现在显示器一侧。
[0081]
图4a至图4c描绘了根据本发明的实施例的基于位置的多视图视频流式传输的概念。如图4a中所示出的,如果多视图显示器的观看者位于相对于参考、例如显示器的中心(光学)轴线401的特定角度位置,则流式传输客户端可以仅请求视图的子集,其中,视图的子集包括观看者可见的视图。因此,给定观看者相对于显示器的特定角度位置(由观看者角度确定),流式传输服务器仅向多视图流式传输客户端提供具有在观看者角度的特定范围内的视角的预定数量的视图。所选择的视图形成可用于流式传输到客户端的所有视图的集合的子集。视图的子集可以从可用视图集合中选择,并且它们的视图间距可以被选择为使得足够数量的相连视图被发送到流式传输客户端,使得可以通过同时呈现不同视角的视图的图片来实现用户相对于显示器定位的方向上的全息效果。
[0082]
例如,如图4a中所示出的,在观看者的位置位于25度的观看者角度α的情况下,可
以仅请求总视图集合的视图子集404
1-4
,使得可以由多视图显示器基于观看者可见的视图来构建全息图像。为实现这样的方案,可以将多视图视频的所有可用视图格式化为视图的子集,流式传输客户端可以请求这样的子集中的一个或多个以在一个或多个角度方向上产生(呈现)全息视频。视图的子集可以被称为窗口。因此,视图的数据格式可以如图4c中所示出的那样定义,其中,视图的子集可以被一起分组为窗口。每个窗口(例如窗口414)可以包括与视角集合相关联的特定数量的视图。这个视角范围可以定义可用视图全集的视角集合内的子集。作为整个可用视图集合的子集的窗口的概念可以在流式传输协议中使用,例如自适应流式传输协议,比如mpeg-dash。
[0083]
代替由客户端单独地请求视图,也可以将这些视图“捆绑”到窗口中,并且可以基于例如清单文件中的元数据来集体请求这些视图,该清单文件可以定义网络中的一个或多个媒体服务器的一个或多个窗口和位置信息(例如资源定位器和/或ip地址),该一个或多个媒体服务器被配置为在流式传输客户端请求时发送窗口的视图。因此,在四个视图(如图4a中描绘的)定义一个窗口的情况下,客户端可以仅请求一个窗口(例如作为基于dash的清单文件的适应集合),该窗口定义覆盖所有视图的总观看空间的特定角度空间的多个视图。
[0084]
如图4b中所示出的,由窗口覆盖的区域由定义窗口的单独视图的三角形包络406示意性地展示。该区域可以被称为观看区域或观看空间。在视图的呈现期间,全息效果对于定位在观看空间中的观看者将是可见的,其中,观看者410的位置可以由角度位置α416来定义。技术人员将理解,图4b中描绘的观看空间仅是展示窗口的概念的示意图,并且观看空间的真实形状可以取决于硬件、视图和呈现的视图数量。例如,在水平视图(由1d相机阵列产生)的情况下,观看空间将是2d区域,例如圆的一部分。然后,在水平视图和竖直视图(由2d相机阵列产生)的情况下,观看空间可以被定义为3d空间,该观看空间有时也被称为截头锥体。
[0085]
如图中所示出的,在一些实施例中,2d观看空间可以由相对于显示器的中心轴线的(角度)窗口宽度412和(角度)中心窗口角度φ414来表征。此处,窗口的中心视角可以被定义为观看空间的垂直平分线408与多视图显示器的中心轴线之间的角度。进一步地,窗口宽度可以被定义为窗口的观看空间的第一侧和第二侧407
1,2
的角度位置之间的差。窗口可以通过由窗口定义的视图数量来进一步表征。视图数量和窗口宽度可以定义视图间距δθ,即两个后续视图之间的角度距离(如参考图1a所描述的)。
[0086]
图5描绘了根据本发明的实施例的用于创建和存储用于基于位置的自适应流式传输的多视图视频数据格式的示意图。如图中所示出的,多视图内容创建系统502可以被配置为生成视频流集合,该视频流集合可以通过针对视角范围同时捕获场景中的对象来创建,其中,视图数量和视角范围被选择为使得不同视图的角度间距足够小,使得从显示器的同一屏幕点发出的多个视图进入观看者的瞳孔。这样,每只眼睛一次将接收多于一个视图,并且优选地,左眼将接收与右眼部分不同的视图。进一步地,所有相机以每秒相同数量的图像捕获场景,并且由每个相机捕获的每个图像是在同样的时间实例拍摄的。这是为确保捕获的内容在时间上连贯。
[0087]
此处,每个视频流可以定义与视角相关联的视图。在视频流的生成期间,可以生成用于识别视频流、例如资源定位器的元数据。元数据可以进一步包括视图数量、与每个视图相关联的视角以及与视频流相关联的任何其他信息,例如图像质量、相机参数(例如相机的
视场)等。视频流和相关联的元数据可以定义多视图视频。
[0088]
在捕获视频流之后,视频数据可以由多视图视频数据处理系统(例如服务器系统)处理,该多视图视频数据处理系统可以包括图像处理器504、窗口生成器506、编码器508、分段器510和元数据生成器512。数据处理流水线可以从由图像数据处理器504对视频数据进行预处理开始。例如,由于相机的空间对准时的小位移,可以裁剪所得到的视频帧,以使这些视频帧具有共同的感兴趣中心点。此处可以应用的其他技术可以包括插值(以生成中间视图)、拼接(如果视图由多于一个相机组成)、照明调整、滤波等。
[0089]
然后,可以将视图提供给窗口选择器506,该窗口选择器被配置为从完整视图集合中选择不同的视图子集,并且创建可以在流式传输协议中使用的多视图窗口数据格式。对子集的选择可以基于不同的标准,这可以取决于多视图显示的类型、应用和/或用例。在实施例中,可以选择由2d网格状相机阵列的一行或多行和/或一列或多列相机生成的视图和与所选择的视图相关联的元数据来形成窗口。视图是总数量的视图的子集,并且子集的视角定义可用的总视角集合的子集。
[0090]
例如,如图5中描绘的,窗口生成器可以从由成2d相机网格生成的视图网格中选择多个视图。对于水平全息多视图呈现,可以从2d完整视图集合中选择多个水平视图504
1-4
并且将该多个水平视图格式化为窗口以定义窗口504
1-4
,这些窗口可以由元数据定义,该元数据包括例如窗口宽度中心窗口角度φ、视图数量和/或与窗口相关联的视图的视图间距δθ等。
[0091]
一旦创建了窗口格式和元数据,在一些实施例中,在提供给视频编码器之前,可以创建合成或多视图视频图片,其中,每个多视图图片被构建为不同视角的图片的空间网格。例如,如图中所示出的,基于定义不同窗口505
1-4
的不同视角下的视频流,可以创建包括合成或多视图图片的视频流507
1-4
,其中,多视图图片可以包括在窗口中定义的不同视角的图片。多视图图片的格式(即图片在空间网格中排序的方式、网格中每个图片的分辨率、图片在网格中布置的顺序等)可以被称为图片的(多视图)打包。例如,定义第一窗口5051的视频流503
1-4
的图片可以用于形成包括由第一窗口定义的不同视角的图片的第一视频流5071的多视图图片。包括多视图图片的视图视频流的形成可能需要预处理(拼接、多相、比特流合并等),这可以在每个窗口的基础上应用。视图的图片可以被组合以形成窗口的方式可以基于在编码步骤期间使用的编码的视频来确定,或者根据现有/推荐的视图打包方案(例如,lookingglass格式的所谓缝被(quilt)格式)来确定。
[0092]
可以使用视频编码器508以各种比特率(各种视频质量)对形成在窗口中定义的视频流的图片序列进行编码。编码过程可以基于已知的多视图视频编解码器,比如mvc、mv-hevc或任何其他视频编码方案,包括用于“传统”视频编码(例如,avc、av1、hevc、vvc等)的编解码器。本技术中描述的实施例可以使用现有的视频编码技术(既有传统的又有多视图的),而不需要对编码方案进行任何修改。然而,对于每个窗口,可以以多种质量对图片进行编码,使得可以在流式传输期间使用比特率适应。例如,定义所有视图的窗口可以以低质量可用,使得该窗口可以被流式传输客户端用作回退选项,例如,在由客户端选择的高质量窗口的多视图视频数据不能及时可用的情况下。在一些实施例中,对于一个观看空间,可以定义不同的窗口,其中,每个窗口定义预定数量的视图。因此,这样,对于一个观看空间,可以定义具有第一数量的视图(和第一视图间距)以及第二数量的视图(和第二视图间距)的窗
口,其中,第一数量的视图可以多于或基本上多于第二数量的视图。
[0093]
经编码视频可以由分段器510打包成片段,即预定长度的视频帧序列。这样,可以在服务器系统上创建并存储在时间上分段的视频511
1-3
,例如内容分布网络(cdn)的媒体服务器系统。可以以多视图视频的不同质量513
1,2
(比特率)来创建包括由窗口定义的经编码多视图视频数据的一部分的片段。每个片段可以链接到资源定位器,例如,url,使得这些片段可以被容易地访问并且发送到客户端。
[0094]
此后,元数据生成器512可以生成窗口元数据。窗口元数据可以被格式化为由比如mpeg-dash等自适应流式传输协议使用的合适的格式,例如清单文件,比如媒体呈现描述(mpd)。可以将窗口元数据划分为(至少)两类:全局窗口元数据和局部窗口(每个窗口)元数据。全局窗口元数据可以描述在所有窗口之间共享的窗口属性,或者描述在清单文件中定义的总体窗口属性。局部窗口元数据可以描述窗口的内容和由窗口定义的视图之间的关系。这些元数据可以由客户端装置用来识别需要请求哪个窗口或哪些窗口,以及哪些视图与其高级属性一起包含在每个窗口内。全局窗口元数据的示例可以包括窗口的中心视角、窗口宽度、视图的数量等。局部窗口元数据示例包括视图间距δθ、(该窗口的)起始角度等。
[0095]
因此,如上文所描述的,本发明可以涉及创建和存储包括窗口的多视图视频数据格式(即,与不同视角范围(也被称为视图)相关联的视频流的“捆绑包”)的方法。该方法可以由多视图视频数据处理装置执行,该处理装置能够执行如参考图5所描述的处理步骤。更一般地,本发明可以包括一种处理多视图视频的方法,如图6中所示出的。如该图中所示出的,该方法可以包括接收定义多视图视频的视频流集合的步骤(步骤602)。此处,多视图视频可以通过由一组相机针对视角范围同时捕获场景中的对象来创建,其中,每个视频流可以定义与相对于对象定位的相机的视角相关联的视图。可以针对一个或多个视频分辨率、一个或多个视频质量、相机的一个或多个聚焦距离和/或多个不同的相机来执行相机对场景的捕获,使得在流式传输期间,可以基于特定条件来自适应视图的分辨率、质量(比特率)、距离和/或数量。
[0096]
可以从完整视频流集合中选择一个或多个视频流子集(步骤604),其中,该一个或多个视频流子集中的每个子集可以与视角集合的子集相关联。这样,可以定义窗口,其中,窗口的至少一部分被定义为定义多视图视频的完整视频流集合的子集。此处,“窗口”可以定义多视图视频数据格式,该多视图视频数据格式包括与不同视角子集相关联的视频流的“捆绑包”。在进一步的步骤中,可以确定一个或多个多视图视频数据子集,其中,窗口可以与多视图视频数据的子集相关联(步骤606)。例如,多视图视频数据子集可以包括多视图图片,其中,每个多视图图片(视频帧)包括由窗口定义的每个视角的图片。
[0097]
进一步地,可以确定清单文件,该清单文件定义多视图视频的多个窗口,其中,窗口定义与视频流子集和视角子集相关联的多视图视频数据子集(步骤608)。清单文件可以由客户端装置用于基于观看者的位置请求一个或多个窗口,该观看者的位置是相对于多视图显示装置和该一个或多个视角子集。该一个或多个多视图视频数据集合和清单文件可以存储(步骤610)在例如服务器系统(例如媒体服务器)或内容分发网络(cdn)的存储介质上。
[0098]
因此,基于图6的多视图视频创建和处理过程,可以在窗口中格式化多视图视频,其中,每个窗口表示与特定视角子集相关联的多视图流的捆绑包。多视图流的捆绑包的图片可以被高效地编码为所谓的多视图图片,其中,多视图图片包括在一个时间实例针对窗
口的每个视角的场景图片。多视图显示器可以在由窗口参数指定的视图方向上将多视图图片同时呈现成全息图像。
[0099]
可以基于底层硬件的限制来定义窗口。例如,在实施例中,可以选择与完整视角集合的子集相关联的视图子集,其中,视角子集可以与不大于多视图显示器(的像素结构)的最大视场的视场相对应。
[0100]
在实施例中,可以定义不同的窗口,其中,视角范围可以重叠。在其他实施例中,窗口可以被选择为使得不同视角范围可以覆盖可用于给定多视图视频的整个视角范围。在又其他实施例中,定义用于“真实”全息术(即,多个方向(例如,水平方向和竖直方向)上的全息效果)的多视图视频的窗口可以定义包括水平视图范围和竖直视图范围。
[0101]
在另一实施例中,一个或多个单视图窗口可以被定义为包括一个单视图。可能需要单视图窗口,因为客户端可以只请求窗口,使得可以单独请求的视图应为单视图窗口格式。在客户端只能基于清单文件中定义的窗口请求多视图视频的情况下,可能需要这种类型的窗口。因此,客户端可以请求高质量窗口和低质量窗口二者,该高质量窗口包括与观看者相对于多视图显示器的位置相匹配的视角范围内的多个视图,该低质量窗口仅包括可以用作在带宽不允许及时分发高质量窗口的视图的情况下的备用项的一个视图。
[0102]
在另一实施例中,全视图窗口可以被定义为包括特定多视图视频的所有可用视图或特定应用可能需要的多视图视频的所有视图。这样的窗口可以用作低质量回退,或者用于高性能系统等。在另一实施例中,可以定义所谓的稀疏窗口。根据用例,可以支持不同的分辨率。这样,低质量窗口可以定义可用高质量视图的子采样版本。由于窗口可以是重叠的,因此对于不同的用例,可以存在几个具有不同粒度的这样的窗口。在另一实施例中,一个或多个窗口可以被定义为包括用于特定的预定大众观看者位置的视图,比如包含中心视图的窗口。在实施例中,可以基于观看分析创建一个或多个窗口,例如,场景的特定侧可以容纳比另一侧更有吸引力的内容,从而吸引更多的观看者。
[0103]
对定义窗口的视图的选择可以取决于以下几个因素:多视图视频采集设置、呈现装置、目标应用等。例如,在实施例中,多视图视频内容可以准备用于在比如8k looking glass等全息显示设备上呈现。该多视图显示设备能够进行水平全息术。多视图视频的数据格式被称为所谓的缝被格式。所有lookingglass模型都支持相同类型的缝被,其中,缝被定义多视图图片,该多视图图片包括按预定顺序布置的预定数量的不同视角的图片。内容提供者可以定义适用于这种显示设备的一个或多个窗口。例如,对于8k looking glass多比特率(例如,低比特率和高比特率),可以定义有35个视图的窗口,并且可以定义多个比特率(例如,低比特率和高比特率)的45个视图的窗口。所有的窗口可以覆盖相同的总视角。因此,如果客户端装置不具有足够的带宽来流式传输高比特率的45个视图,则该客户端装置可以决定降低图像质量或者可以决定减少视图数量,方式分别是选择较低比特率窗口或选择具有较少视图的窗口。
[0104]
可以定义不同的全局窗口属性。这些全局属性适用于清单文件中定义(并且与多视图视频相关联)的所有窗口。例如,对于立体/水平全息术,可以定义以下全局窗口参数中的一个或多个:
[0105]-中心视角:20度[指示窗口具有20度的中心视角]
[0106]-视图范围:180度[指示(最左侧窗口的)最左侧视图与(最右侧窗口的)最右侧视
图相隔180度]
[0107]
另外地,由清单文件中的所有窗口定义的所有视图的共同属性可以(可选地)作为全局窗口元数据用信号发送;例如“光圈:f/2”,假设在记录过程中,所有生成视图的相机都使用相同的光圈设置。全局窗口属性不仅可以涉及内容,还可以包括用于初始化客户端、从窗口提取视图等的元数据。这样的元数据的示例可以包括:
[0108]-打包方法:缝被法[指示视频流包括具有基于缝被格式的打包格式的多视图图片,即具有定义水平位移的视角的拼接图片,其他示例将为“网格法”(具有水平和竖直位移的拼接)、“条形法”(仅水平地拼接成一行)等]
[0109]-打包顺序:从左到右,从上到下[指示第一视角的图片按顺序是左上方,第二视角的图片是左上方的第二个等]
[0110]-填充:5个像素保护带[指示多视图图片中不同视角的图片被分离,以避免可能在帧内和跨视图出现的无效伪影,例如色度像差、视图之间的平滑等。这些现象的出现是因为传统的2d视频编码不期望与视频帧具有人工边界。
[0111]
在其他实施例中,可以定义不同的局部(每个窗口)属性。例如,在实施例中,局部窗口元数据可以涉及由窗口定义的视图的属性。这样的元数据的示例可以包括:
[0112]-起始角度:10度[指示窗口的最左侧视图处于10度]
[0113]-视图间距:2度[指示每个视图与前一视图相隔2度]
[0114]-视图数量:6个[指示由窗口定义的视图的总数]
[0115]
基于前述属性,可以描述用于同等间距水平视图设置的一组窗口和它们所包含的视图。在存在分布不均匀等的情况下,可以使用其他类型的属性。此外,如果全局窗口元数据与特定窗口之间存在差异,则可以这样用信号发送它们;例如,窗口可以具有与基于全局窗口属性定义的默认值不同的“填充”值。
[0116]
局部窗口元数据还可以包括后处理所需的信息。这样的元数据的示例可以包括:
[0117]-插值视图:定义推荐在要应用插值时使用的视图列表(例如,因为窗口已包含通过插值生成的视图,因此推荐使用原始视图)
[0118]-网格维度:指示该窗口中包含多少行/列(这可以是用于解包的通用信息,或者对于缝被来说,是格式特定的)
[0119]-间距/斜率/中心:初始化全息显示器所需的示例值
[0120]-视锥:定义可调整fov显示器的视锥的属性。
[0121]
这些元数据可以描述高级信息。优选地,可以在视频比特流之外用信号发送窗口元数据。例如,在dash环境中,可以在mpd级上用信号发送窗口元数据。在实施例中,每个窗口可以被定义为适应集合。在实施例中,对于类似isobmff的文件格式封装,窗口可以被打包并且存储为单独的轨道,并且元数据可以被存储并且经由(定时的)元数据轨道用信号发送。
[0122]
为了定义清单文件中的窗口,可以使用窗口描述符。下面的表1提供了可以与窗口描述符一起使用的窗口参数的非限制性列表:
[0123][0124]
此处,可以定义角度的单位和视图排序。在以下实施例中,角度可以用度表示,并且多视图图片中的视图排序(例如参考图5描述的)可以是从左到右/从上到下。
[0125]
在下文中,提供并描述定义窗口的清单文件的不同实施例。特别地,实施例涉及用于mpeg-dash媒体流式传输的所谓的媒体呈现描述(mpd)文件。在实施例中,已打包的多视图图片可以通过对所谓的视频图块中的多视图图片进行空间上分段来进行编码。完成空间分段使得图块的边界与多视图图片中不同图片的边界一致。这样,具有不同视角的图片可以被编码为图块。多视图图片的一个图块中的像素与多视图图片的其他图块中的像素不具有任何编码依赖性。这样,一个视角的图片可以被存储为与一个视角相关联的图片流的经编码表示。这样,与窗口的视角相关联的图片流的经编码表示可以被存储并且由客户端设备单独访问。
[0126]
在实施例中,对于mpeg-dash,可以将窗口描述符作为所谓的essentialproperty用信号发送。essentialproperty可以在period级上定义,在这种情况下,窗口描述符可以定义全局窗口属性。进一步地,每个单独的窗口可以被映射到adaptationset,并且每个adaptationset的essentialproperty可以包括相应窗口的窗口描述符。相同的adaptationset内的representation涉及相同的窗口,其中,每个representation可以涉及不同质量版本,例如不同比特率。
[0127]
下文的第一示例描述了包括描述简单水平全息窗口的窗口描述符的mpd。mpd可以基于如上文描述的窗口描述符来定义多视图“全息术型”视频。如描述的,第一描述符schemeiduri="urn:mpeg:dash:window:2020"value="0,1,0,60指示多视图视频涉及一行水平视图,其中,观看区域由零度的最左侧视角和60度的最右侧视角定义。
[0128][0129]
[0130][0131]
两个另外的窗口描述符schemeiduri="urn:mpeg:dash:window:2020"value="1,1,0,30,0,0,4,1,0"和schemeiduri="urn:mpeg:dash:window:2020"value="2,1,30,60,0,0,4,1,0"定义了两个窗口(窗口id为1和2),每个窗口定义四个视图,其中,第一窗口的视图覆盖0度与30度之间的区域,并且第二窗口的视图覆盖30度与60度之间的区域。
[0132]
下文的第二示例描述了包括描述“真实”全息窗口(即定义水平和竖直两个方向上的视图的窗口)的窗口描述符的mpd。此处,第一窗口描述符chemeiduri="urn:mpeg:dash:window:2020"value="0,0,0,60,30,0”可以定义窗口的全局属性,包括0度最左侧视角、60度最右侧视角、30度顶部视角和0度底部视角,其中,这些角度是相对于显示器的中心轴线确定的。
[0133]
下文的第二示例描述了包括用于水平和竖直全息术二者的窗口描述符的mpd。mpd可以基于如上文描述的窗口描述符来定义多视图“全息术型”视频,包括60度的水平视角和30度的竖直视角。该示例定义了两个部分重叠的窗口和包括所有可用视图的“主”窗口。
[0134]
[0135][0136]
[0137]
第一窗口描述符schemeiduri="urn:mpeg:dash:window:2020"value="1,0,0,20,20,0,3,2,0"描述了覆盖0度最左侧视图到20度最右侧视图以及20度顶部视图到0度底部视图的两行中的六个视图。类似地,第二窗口描述符schemeiduri="urn:mpeg:dash:window:2020"value="2,0,10,60,10,20,5,2,0"描述了覆盖10度最左侧视图到60度最右侧视图以及10度顶部视图到20度底部视图的两行中的10个视图。最后,第三窗口描述符schemeiduri="urn:mpeg:dash:window:2020"value="3,0,0,60,0,30,6,3,1"描述了包括所有视图的主窗口,即覆盖6列和3行的网格的18个视图,该网格覆盖0度最左侧视图到60度最右侧视图。
[0138]
尽管以上两个示例都描述了定义相同分辨率的多视图视频的窗口,但多分辨率窗口可以基于相同的描述符来定义。
[0139]
基于period元素(以及相关联的全局窗口元数据)以isobmff格式存储的等效示例对应于“moov”框,并且每个适应集合可以存储在单独的轨道中。
[0140]
可以包括视图的特定属性、编解码器特定的信息等的低级元数据可以在比特流中作为信令消息(例如,补充增强信息sei消息)用信号发送。要发送的大多数sei消息将要传送编解码器特定的信息,并且由于编解码器在初始化时用信号发送,因此底层应用应该能够解析这些消息。以下是取自avc/h.164的mvc扩展的一些示例性sei消息。在实施例中,可以使用所谓的“多视图场景信息sei消息”,其指示访问单元中的多个视图组件之间的最大差异。该消息的示例性用途可以包括内插窗口的视图和一般的后处理操作。可以使用另一实施例,“非必需视图组件sei消息”,其指示解码不需要特定视图组件。由于被请求窗口可以包含比实际需要用于呈现的视图更多的视图,因此该sei消息可以用于指示是否仍应解码窗口内不需要用于呈现的视图。在实施例中,可以使用“多视图采集信息sei消息”。该sei消息指定了采集环境的各种参数,并且具体是内在和外在相机参数。因此,该消息可以用于基于窗口的多视图视频的后处理/插值和/或焦距调整/校正、去噪等。在又一实施例中,可以使用“帧打包布置(fpa)sei消息”。该消息最初被定义用于体视应用。因此,该sei消息可以用于包含几个(例如两个)视图的任何窗口。例如,该消息可以用于指示实际样本如何被打包在帧中(交错、并排等)。
[0141]
要发送的大多数sei消息将用于传送编解码器特定的信息,并且为此,这些sei消息中的一些可以是相关的;例如,mvc具有“多视图采集信息”sei消息,该sei消息具有记录视图的相机的特性。然而,对于多视图视频流式传输处理,大多数信息将以mpd级用信号发送,因为窗口选择和后处理步骤二者都需要这些信息。
[0142]
图7描绘了根据本发明的实施例的用于流式传输和呈现多视图视频的系统的示意图。特别地,该图示意性地展示了包括用于将存储在一个或多个数据存储设备704(例如一个或多个媒体服务器)上的视频(特别地,多视图视频)流式传输到一个或多个客户端设备712的服务器系统702。客户端设备可以连接到视频处理设备713或是该视频处理设备的一部分,该视频处理设备可以包括或连接到输出装置716,例如能够呈现如参考本技术中的实施例所描述的多视图视频的显示装置。
[0143]
可以用于将视频流式传输到客户端设备的流式传输技术可以包括http自适应流式传输(has)方案(例如mpeg-dash和http实时流式传输(hls)),这些方案基于视频数据和相关联的元数据指定自适应比特率视频流式传输方案。视频数据可以基于特定数据格式来
组织和结构化,该特定数据格式可以由描述分段对象的编码和打包方案的has流式传输标准或mpeg-cmaf定义。cmaf是由mpeg开发的协调比如mpeg-dash和hls等has方案的编解码器配置文件和片段格式的iso标准。在一些实施例中,视频数据的数据格式可以包括包括一个或多个适应集合的回放周期,适应集合包括不同分辨率和/或质量的媒体表示以及包括媒体(视频)片段序列的表示,其中,媒体片段包括预定质量的压缩视频数据。
[0144]
与视频数据相关联的元数据可以被组织在清单文件或清单文件更新补丁中,该清单文件或清单文件更新补丁包括用于将客户端设备当前正使用的清单文件变换为下一回放周期的清单文件的元数据。在视频创建过程期间,可以生成清单文件并将其与视频数据一起存储在媒体存储设备上。清单文件在mpeg dash中可以被称为媒体呈现描述(mpd),并且可以根据特定的机器可读文档格式(例如xml等)来构造。清单文件可以包括关于客户端设备可用的媒体资产(例如,包括视频和音频流的媒体流)的信息以及客户端设备可以如何检索这些媒体资产的信息。清单文件可以包括片段标识符(例如呈url的形式),使得客户端设备能够请求服务器的视频片段。可以使用用信号发送片段标识符的不同方式,例如url模板、显式url等。
[0145]
流式传输服务器706可以被配置用于将场景的多视图视频数据流式传输到客户端设备。为此,流式传输服务器706可以包括服务器处理器708和到网络的网络接口710。网络接口例如可以是有线通信接口,比如以太网接口或基于光纤的接口。该网络例如可以是互联网或移动网络,其中,流式传输服务器可以连接到移动网络的固定部分。替代地,网络接口可以例如是无线通信接口,该无线通信接口也可以被称为无线电接口并且可以被配置为连接到移动网络基础设施。在一些示例中,网络接口可以包括用于连接到遵循一个或多个3gpp标准的4g或5g移动网络的无线电接口,例如4g或5g无线电接口,或者可以是用于连接到wi-fi网络基础设施的wi-fi通信或任何其他无线接口。
[0146]
在实施例中,服务器可以是所谓的边缘服务器,即位于网络的边缘的服务器。例如,边缘服务器可以与无线电信网络的基站位于同一位置。这样,边缘服务器在物理上被定位成相对靠近连接到基站的客户端设备。这样,可以在边缘服务器与客户端设备之间建立快速、低延迟的数据连接。例如,边缘服务器与客户端设备之间的连接可以例如基于5g标准,该5g标准具有比视频处理设备的用户实现沉浸式体验所需的运动到高质量时延更低的时延。例如,可以使用移动边缘计算或多址边缘计算(mec)单元,其中,存储、网络资源和数据处理(比如参考本披露内容中的实施例描述的视频处理)可以与作为无线电接入网络(ran)的一部分的基站(例如enodeb)集成或相关联。这样,计算机密集型和时延敏感型应用(如多视图视频和增强现实应用)可以托管在网络的边缘。边缘服务器与客户端设备之间的连接因此提供了快速的数据通信信道。
[0147]
注意,流式传输客户端与流式传输服务器之间的数据通信可能涉及多个网络。例如,流式传输客户端可以经由无线电接入网络连接到移动网络的基础设施,并且经由移动网络的基础设施连接到互联网,其中,流式传输服务器是也连接到互联网的服务器。
[0148]
服务器处理器可以例如通过硬件设计或软件被配置为执行本技术中描述的操作,这些操作涉及流式传输服务器或者通常涉及将场景的多视图视频的视频数据流式传输到客户端设备。通常,处理器可以由单个中央处理器(cpu)来体现,比如x86或基于arm的cpu,但也可以由这样的cpu和/或其他类型的处理单元的组合或系统来实现。服务器可以分布在
不同的实体上,例如分布在不同服务器上。在这种情况下,处理器也可以被分布在例如这样的不同服务器的cpu上。流式传输服务器可以包括可以用于存储数据的一个或多个数据存储设备704,比如硬盘驱动器或硬盘驱动器阵列、固态驱动器或固态驱动器阵列等。在实施例中,服务器可以是内容分发节点,或者可以使用多个内容分发节点以分布式方式来实施。在实施例中,内容分发节点可以是内容分发网络(cdn)的一部分。流式传输服务器也可以由另一种类型的服务器或此类服务器的系统来实施。例如,流式传输服务器可以由一个或多个云服务器或者由移动网络的一个或多个边缘节点来实施。
[0149]
客户端设备712包括处理器714、用于存储视频数据(比如视频片段)和与视频片段相关联的元数据(例如清单文件)的缓冲器716、以及用于将客户端设备连接到网络以使得可以建立用于客户端设备与服务器之间的视频流式传输的数据连接715的客户端网络接口718。客户端设备可以被配置为处理基于窗口格式化的多视图视频数据,如参考本技术中的实施例描述的。为此,客户端设备可以包括视图选择器722,该视图选择器被配置为基于与可用多视图视频相关联的元数据并且基于相对于显示装置716定位的一个或多个观看者724的位置信息来选择视图和相关联的窗口,该位置信息可以由位置传感器718提供或生成。
[0150]
类似于服务器网络接口,客户端网络接口可以是有线或无线网络接口。例如,用于连接到遵循一个或多个3gpp标准的4g或5g移动网络的无线网络接口,比如4g或5g无线接口,或者用于连接到wi-fi网络基础设施的wi-fi通信接口等。客户端与服务器之间的数据通信可以涉及多个网络。例如,流式传输客户端可以经由无线电接入网络连接到移动网络的基础设施,并且经由移动网络的基础设施连接到互联网,其中,流式传输服务器是也连接到互联网的服务器。客户端设备可以进一步包括处理器,该处理器例如通过硬件设计或软件被配置为执行本说明书中描述的操作,这些操作涉及客户端设备或者通常涉及通过流式传输接收场景的多视图视频的视频数据。通常,处理器可以由单个中央处理器(cpu)来体现,比如x86或基于arm的cpu,但也可以由这样的cpu和/或比如图形处理单元(gpu)等其他类型的处理单元的组合或系统来体现。
[0151]
通常,客户端设备可以由能够处理视频数据的(单个)设备或装置来体现,例如,智能手机、个人计算机、膝上型计算机、平板设备、游戏控制台、机顶盒、电视、监视器、投影仪、智能手表、智能眼镜、媒体播放器、媒体记录器等。在一些示例中,客户端设备可以是比如5g或下一代移动网络等移动电信网络的所谓用户设备(ue)。在其他示例中,客户端设备可以是网络的边缘节点,比如上述移动电信的边缘节点。在这样的示例中,客户端可能缺少显示输出,或者可能至少不使用显示输出来显示所接收到的视频数据。相反,流式传输客户端可以从流式传输服务器接收视频数据并从中重建多视图视频,该多视图视频然后可以用于流式传输(例如经由图块流式传输)到更下游的流式传输客户端,比如终端用户设备。
[0152]
如图7中所示出的,客户端设备可以是视频处理设备713的一部分,该视频处理设备可以包括视频数据提取器和解码器720以用于对缓冲的视频数据(例如视频片段)进行解包,并且将视频片段中包含的经编码多视图视频数据转发到解码器过程,以将经编码多视图数据解码为与不同视角相关联的图片。对于每个时间实例,经解码图片可以包括不同视角的同一场景的不同图片。多视图视频呈现引擎714可以被配置为在多视图显示装置716上同时呈现(播出)多视图视频的图片。此处,“呈现”是指可以将图片转换为可显示形式的过
程步骤。
[0153]
为了实现如参考本技术中的实施例描述的基于位置的多视图视频流式传输,系统可以进一步包括用于检测观看者724相对于显示装置的角度位置的位置传感器718。位置传感器可以不同方式来实施。例如,位置传感器可以是被配置为捕获观看视频显示装置的观看者的图片的相机系统。相机系统的中心轴线可以与显示设备的中心轴线对准,使得相机系统可以捕获观看显示设备的一个或多个观看者的图片,并且确定与该一个或更多个观看者相关联的深度信息。例如,在实施例中,深度信息可以包括由相机系统的图像传感器生成的图片的所谓深度图。图片(例如rgb图片)的深度图可以表示为像素化图像,该像素化图像包括表示视频帧的每个像素的距离值的像素值。距离值可以定义相机(相机的成像平面)与视频帧中的对象(在这种情况下是一个或多个观看者)之间的距离。能够生成深度图的相机系统在本领域中是众所周知的。例如,在实施例中,相机可以被实施为3d相机系统,例如包括两个或更多个相机模块的立体相机,其中每个相机模块具有其自己的镜头系统。这样,采集来自不同视点的同一场景的两个图像。这样的立体相机可以用于确定深度图和/或3d图片。提出了用于感测观看者相对于显示装置的位置的位置传感器不限于基于立体的成像技术。也可以使用其他3d成像技术。例如,可以基于rgb/ir技术(如由kinect使用的)、激光扫描仪或3d飞行时间(tof)技术或它们的组合来生成深度图。
[0154]
相机系统的图片可以通过众所周知的对象检测和跟踪算法实时地处理,该算法被配置为确定图片中一个或多个观看者的位置,优选地眼睛的位置。基于检测到的图片中的位置和与图片相关联的深度信息,可以确定观看者相对于显示装置的位置信息。位置信息可以包括被测量为显示装置的中心轴线与观看者轴线之间的角度的角度位置α,该观看者轴线表示延伸穿过观看者的位置以及在显示器的中心轴线处的像素结构的位置的假想线。进一步地,位置信息可以包括径向距离,该径向距离表示中心轴线的像素结构与观看者之间沿着观看者轴线的距离。
[0155]
对视图的角度位置的确定可以取决于应用和/或显示装置。例如,图7可以描绘其中显示装置被配置为仅基于水平视图来呈现“水平”全息效果的应用。在这种情况下,可以假设显示设备定位在眼睛的高度,使得观看者的位置可以被描述为相对于如图中描绘的中心轴线的2d位置。基于水平和竖直视图呈现更复杂的“真实全息效果”。因此,在这种情况下,观看者的位置是相对于显示设备的中心轴线的3d位置。在这种情况下,可以选择合适的坐标系来确定观看者相对于中心轴线的角度和径向位置。
[0156]
基于由位置传感器计算的或基于位置传感器所生成的信息计算的位置信息,客户端设备的视图选择模块722可以被配置为确定应当从服务器请求哪个窗口或哪些窗口。这样,观看者可见的视图的仅一部分被流式传输到客户端设备,以产生观看者可见的全息效果。视图选择模块可以基于存储的清单文件来选择该一个或多个窗口,该清单文件包括定义窗口的视角的窗口描述符。
[0157]
系统可以被配置为根据参考图4描述的方案来执行基于位置的多视图视频流式传输。视频流式传输过程可以从客户端设备的初始化开始。在初始化期间,客户端设备可以检索与多视图视频相关联的元数据。例如,在mpeg dash分布的情况下,客户端设备可以检索或接收mpd,并且解析初始化底层服务所需的所包含高级信息。例如,该信息可以包括全局窗口属性,以及初始化视频解码器所需的关于编码的视频的其他信息,以及初始化呈现引
擎和显示装置所需的信息。
[0158]
然后,视频应用可以确定需要哪些视图。该决定可以基于由位置传感器确定的位置信息,该位置传感器将在流式传输和呈现过程期间连续地确定和更新一个或多个视图相对于显示装置的位置。可以跟踪观看者的位置,并且可以预测观看者在短时间段(约1s)内的位置。因此,在时间t处测量的位置信息可能不一定是观看者在该时间的位置,而是也可能是基于在时间t处测量的位置确定的在时间t+d处的预期位置。该预测的位置可以由客户端设备用于窗口的选择。当视图在客户端侧可用并且被解码为具有不同视角的图片时,客户端设备可以再次检查用户的位置,使得可以使视图成为具有观看者的真实位置的最接近值。
[0159]
因此,视图选择器722可以使用在相对于显示装置的特定环形位置处估计的观看者位置来确定具有在估计的观看器位置周围的范围内的视角的特定数量的视图,使得可以在观看者的方向上产生全息效果。基于所确定的视图,视图选择器可以确定包括全息效果所需的视图的一个或多个窗口。观看者可以在显示器前移动,因此在一些实施例中,位置信息还可以包括观看者的未来位置的估计(例如,基于观看者在特定方向上的移动)。
[0160]
在一些实施例中,视图选择器还可以考虑可用带宽。例如,如果应用将需要视图a、b、c、d、e,并且两个不同的窗口可用,例如包括所有视图的第一窗口和包括视图a、c、e的第二“稀疏”窗口,则视图选择器可以选择第二窗口以节省带宽。在这种情况下,客户端设备可以使用插值算法来基于视图a、c和e计算视图b和d,以便获得所需的视图a、b、c、d和e。应注意,该示例仅用于说明目的,在真实情况下,窗口将定义大量视图以确保可以实现全息效果。
[0161]
在选择窗口(或多个窗口)之后,客户端设备可以从服务器请求该一个或多个窗口,该服务器可以使用合适的流式传输协议将所选择的多视图视频流式传输到客户端设备。在接收到例如呈视频片段形式的多视图视频之后,客户端设备可以确定与期望视角相关联的图片。这些图片可以基于多视图视频的打包方式来确定。
[0162]
例如,在实施例中,视图a、b、c、d、e可以被编码为多视图图片,其中,多视图图片中的每个视图被编码为可独立解码的空间图块,例如hevc图块。在这种情况下,可以将包含期望视图(例如a、c和e)的图块流式传输到客户端设备并对其进行解码,其中,可以作为后处理步骤基于a、c、e来计算附加视图b和d。显然地,在有足够带宽可用的情况下,可以将所有视图a、b、c、d、e流式传输到客户端设备。
[0163]
替代地,在使用常规编解码器(例如avc/h.264)对视图进行编码的情况下,所有视图都可以被编码为多视图图片。在这种情况下,在解码之后,需要对多视图图片进行后处理,其中,每个多视图图片可以被分离成与视图a、b、c、d、e的不同视角相关联的多个图片。该后处理可以包括从多视图图片中裁剪不同视角的单独的图片,并将这些单独的图片缩放到期望尺寸。在一些实施例中,可以将单独的图片变换为设备特定的格式。例如,在looking glass显示器的情况下,可以缩放单独的图片并将其拼接为符合缝被格式的图片。
[0164]
因此,如上文参考图7所描述的,本发明可以涉及一种将多视图视频流式传输到客户端设备的方法。多视图视频可以包括由一组相机针对视角范围和一个或多个视频分辨率同时捕获场景中的对象来创建的视频流集合,每个视频流定义与相机相对于该对象的视角相关联的视图。多视图视频的流式传输可以基于多视图视频数据格式,该多视图视频数格
式包括与不同视角范围(也被称为视图)相关联的视频流的“捆绑包”。视图的该捆绑包可以被称为窗口,该窗口允许基于观看者相对于多视图显示装置的位置来高效地流式传输多视图视频。参考图8描述了这样的基于位置的多视图视频流式传输的一般过程。
[0165]
如示出的,接收定义用于该多视图视频的多个窗口的清单文件,该多个窗口中的第一窗口定义从该视频流集合中选择的第一视频流子集,该第一视频流子集与该组视角的第一视角子集相关联(步骤802)。因此,在该步骤中,窗口的至少一部分可以被定义为与视角子集相关联的视频流的捆绑包,其中,该视角子集选自可用于多视图视频的视角集合。
[0166]
然后,可以接收或确定位置信息,其中,位置信息与观看者相对于多视图显示装置的角度位置相关联(步骤804)。因此,在该步骤中,观看者相对于显示装置的位置信息可以使用例如靠近显示装置的位置传感器(例如成像系统)来确定。成像系统可以被配置为在由成像系统生成的图片中跟踪一个或多个观看者的位置,特别是该一个或多个观看者的眼睛的位置。成像可以进一步被配置为确定生成的图片的深度信息(例如深度图),使得可以使用图像处理算法来确定观看者的位置。该位置可以是估计的位置,例如观看者在未来短时间内的估计位置。此后,在进一步的步骤中,客户端设备可以基于位置信息选择一个或多个窗口,并且请求服务器系统向客户端设备发送所请求的窗口(步骤806)。最后,该方法可以包括客户端设备接收与该第一视频流子集相关联的多视图视频数据的步骤;以及将该多视图视频数据提供到解码器装置,以对经编码的第一视频流子集进行解码(步骤808)。
[0167]
图9展示了根据本发明的实施例的用于流式传输多视图视频的各种窗口数据格式。图9a展示了实施例的示例,该实施例展示了用于“真实”全息术的二维窗口902
1-4
,其中,每个窗口包括水平视图和竖直视图二者。图9b展示了实施例,该实施例展示了用于水平全息术的一维水平窗口904
1-4
。以类似的方式,可以定义竖直窗口。水平全息显示器的示例是looking glass设备。图9c展示了稀疏窗口906
1-4
的实施例。根据用例,可以存在受支持的视图的不同角度分辨率版本(例如四个视图的水平窗口和两个视图的水平窗口),因此可以定义可以被视为可用视图的“子采样”版本的窗口。由于不同的窗口可以具有重叠的视图,因此可以针对不同的用例定义具有不同粒度的几个这样的窗口。图9d展示了其中每个窗口包括单个视图的实施例。这样的窗口可以与包括多个视图的窗口组合使用。由于客户端设备仅可以请求mpd中定义的窗口,因此可以单独请求的视图应被定义为单视图窗口。类似地,在另一实施例中,窗口可以被定义为包括所有视图。这样的窗口可以用作例如包括低分辨率视图的回退窗口,并且可以在用户突然移动或新用户出现的情况下显示。
[0168]
图10是展示了示例性数据处理系统的框图,该示例性数据处理系统可以在如本披露内容中描述的客户端装置、多视图视频创作系统和/或服务器中使用。数据处理系统1000可以包括通过系统总线1006耦合至存储器元件1004的至少一个处理器1002。这样,数据处理系统可以在存储器元件1004内存储程序代码。进一步地,处理器1002可以执行经由系统总线1906从存储器元件1004访问的程序代码。在一个方面,数据处理系统可以被实施为适用于存储和/或执行程序代码的计算机。然而,应当理解,数据处理系统1000可以以包括能够执行本说明书中描述的功能的处理器和存储器的任何系统的形式实施。
[0169]
存储器元件1004可以包括一个或多个物理存储器设备,如例如,本地存储器1008和一个或多个大容量存储设备1010。本地存储器可以是指在程序代码的实际执行期间通常使用的随机存取存储器或其他(多个)非持久性存储器设备。大容量存储设备可以被实施为
硬盘驱动器或其他持久性数据存储设备。处理系统1900还可以包括一个或多个高速缓冲存储器(未示出),这些高速缓存存储器提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储设备1010检索程序代码的次数。
[0170]
被描绘为输入设备1012和输出设备1914的输入/输出(i/o)设备可以可选地耦合至数据处理系统。输入设备的示例可以包括但不限于例如键盘、比如鼠标等定点设备等。输出设备的示例可以包括但不限于例如监测器或显示器、扬声器等。输入设备和/或输出设备可以直接或通过中间i/o控制器耦合至数据处理系统。网络适配器1916还可以耦合至数据处理系统,以使其能够通过中间私有或公共网络耦合至其他系统、计算机系统、远程网络设备和/或远程存储设备。网络适配器可以包括用于接收由所述系统、设备和/或网络向所述数据发送的数据的数据接收器和用于向所述系统、设备和/或网络发送数据的数据发送器。调制解调器、电缆调制解调器和以太网卡是可以与数据处理系统1000一起使用的不同类型的网络适配器的示例。
[0171]
如图10所勾画的,存储器元件1004可以存储应用1018。应当理解,数据处理系统1000可以进一步执行可以促进应用的执行的操作系统(未示出)。以可执行程序代码的形式实施的应用可以由数据处理系统1000(例如,由处理器1002)执行。响应于执行应用,数据处理系统可以被配置为执行将在本文进一步详细描述的一个或多个操作。
[0172]
例如,在一方面,数据处理系统1000可以表示客户端数据处理系统。在这种情况下,应用1018可以表示客户端应用,该客户端应用当被执行时配置数据处理系统1000来执行本文参考“客户端”描述的各种功能。客户端的示例可以包括但不限于个人计算机、便携式计算机、移动电话等。
[0173]
本披露内容的技术可以在包括无线手持机、集成电路(ic)或一组ic(例如,芯片组)的各种设备或装置中实施。在本披露内容中描述了各种部件、模块或单元以强调被配置为执行所披露技术的设备的功能方面,但不一定需要由不同硬件单元来实现。相反,如上所述,各种单元可以组合在编解码器硬件单元中,或者由互操作硬件单元(包括如上所述的一个或多个处理器)的集合结合合适的软件和/或固件来提供。
[0174]
本文所使用的术语仅用于描述特定实施例,并且不旨在限制本发明。如本文所使用的,单数形式“一个(a)”、“一种(an)”和“该(the)”旨在同样包括复数形式,除非上下文以其他方式清晰表明之外。将进一步理解的是,当在本说明书中使用术语“包括(comprises)”和/或“包括(comprising)”时,其指定所陈述的特征、整数、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、部件和/或其组的存在或添加。
[0175]
权利要求中所有装置或步骤加上功能元件的对应结构、材料、动作和等同物旨在包括用于与如具体要求保护的其他要求保护的元件结合执行功能的任何结构、材料或动作。已经出于说明和描述的目的而呈现本发明的描述,但是该描述并不旨在穷举本发明或将本发明限于所披露的形式。在不脱离本发明的范围和精神的情况下,很多修改和变化对本领域普通技术人员都将是明显的。实施例的选择和描述是为了最佳地解释本发明的原理和实际应用,并且当适用于所构想的特定用途时,使得本领域的其他普通技术人员能够针对具有各种修改的各个实施例理解本发明。

技术特征:
1.一种由客户端装置处理多视图视频的方法,该多视图视频基于视频流集合来创建,该视频流集合由一组相机以一组视角同时捕获场景中的对象来生成,视角定义聚焦到该对象上的相机的光轴与该对象的参考轴线之间的角度,该方法包括:接收元数据、优选地清单文件,其定义用于该多视图视频的多个窗口,窗口定义与从该视频流集合中选择的视频流子集相关联的多视图视频数据,该视频流子集与视角子集相关联,优选地该视角子集中的视角定义有序视角序列;确定或接收与观看者的角度位置相关联的位置信息,优选地该角度位置与该观看者的眼睛的位置相关联,该角度位置定义由该多视图显示装置显示的该对象的参考轴线与该观看者看向该对象的光轴之间的角度;从该多个窗口中选择第一窗口,该第一窗口与第一视角子集相关联,该选择基于该位置信息和该第一视角子集;请求从服务器系统发送与该第一视频流子集相关联的第一多视图视频数据;接收该第一多视图视频数据,并且将该第一多视图视频数据提供到至少一个解码器实例以进行解码。2.根据权利要求1所述的方法,其中,该第一多视图视频数据包括经编码多视图图片的序列,每个多视图图片包括与该第一视角子集的所有视角相关联的图片。3.根据权利要求1所述的方法,其中,该第一多视图视频数据包括多组图片,一组图片包括针对某一时间实例的该第一视角子集的所有视角的图片。4.根据权利要求2或3所述的方法,其中,每个多视图图片与打包格式相关联,该打包格式定义与该第一视角子集相关联的这些图片在该多视图图片中的空间布置方式。5.根据权利要求1至4中任一项所述的方法,其中,该方法进一步包括:将该第一多视图视频数据解码成与该第一视角子集相关联的第一经解码图片;以及向该多视图显示装置提供这些第一经解码图片,以同时呈现这些第一经解码图片的至少一部分,从而在该观看者的位置处提供全息效果。6.根据权利要求1至5中任一项所述的方法,其中,该位置信息由位置传感器确定或提供,该位置传感器被配置为计算或预测该观看者的角度位置,优选地,该位置传感器包括成像系统,该成像系统被配置为在由该成像系统捕获的图像中跟踪该观看者的位置。7.根据权利要求1至6中任一项所述的方法,其中,从该多个窗口中选择该第一窗口包括:确定该观看者的角度位置是否位于由该第一视角子集的最小和最大视角定义的范围内。8.根据权利要求1至7中任一项所述的方法,其中,该有序视角序列定义增加或减少的视角序列,其中,两个后续视角之间的差异定义视图间距,优选地这些不同视图的视图间距被选择为使得在这些多视图图片的呈现期间与从该显示装置的屏幕点发出的不同的多个视角相关联的不同视觉信息进入该观看者的左眼和右眼。9.根据权利要求1至8中任一项所述的方法,其中,该元数据进一步包括用于定位该服务器系统的第一资源定位器,该服务器系统被配置为将该第一视频流子集的一个或多个分辨率版本发送到该客户端装置。10.根据权利要求1至9中任一项所述的方法,其中,该多个窗口中的一个窗口定义第二
窗口,该第二窗口定义从该视频流集合中选择的第二视频流子集,该第二视频流子集与第二视角子集相关联,其中:该第一子集的视角与该第二子集的视角部分重叠;或者该第一子集的视角与该第二子集的视角不重叠;或者该第一子集的视角与该第二子集的视角相同,并且该第一子集的视频流数量大于该第二子集的视频流数量。11.根据权利要求1至10中任一项所述的方法,其中,该元数据包括以下各项中的至少一项:定义该第一视角子集限定以下项的元数据:用于水平多视图视频呈现的水平视角;用于竖直多视图视频呈现的竖直视角;或者用于水平和竖直多视图视频呈现二者的水平和竖直视角;定义这些多视图图片的数据格式的元数据;定义不同视角的图片在该多视图图片中的空间布置顺序的元数据;定义用于创建该视频流集合的该组相机的一个或多个属性的元数据;定义该第一子集的第一角度和/或该第一子集的最后角度的元数据;定义该第一子集中的视角数量的元数据。12.根据权利要求1至11中任一项所述的方法,其中,该客户端装置被实施为http适应流式传输客户端装置,比如mpeg-dash客户端装置,并且其中,该清单文件定义媒体呈现描述mpd,其中,该mpd包括定义该第一窗口的第一窗口描述符,优选地,该第一窗口描述符是essentialproperty,更优选地,该第一窗口映射到第一adaptationset,该第一adaptationset的essentialproperty包括该第一窗口描述符,该第一adaptationset包括representation,其中,每个representation定义该第一视频流子集中的视频流的一个质量版本。13.一种由多视图视频创作系统处理多视图视频的方法,该方法包括:接收定义多视图视频的视频流集合,其中,该多视频由一组相机以一组视角同时捕获场景中的对象来生成,视角定义聚焦到该对象上的相机的光轴与该对象的参考轴线之间的角度;从该视频流集合中选择第一视频流子集和第二视频流子集,该第一视频流子集和该第二视频流子集分别与第一视角子集和第二视角子集相关联;确定与该第一视频流子集相关联的第一多视图视频数据和与该第二视频流子集相关联的第二多视图视频数据;确定清单文件,该清单文件定义用于该多视图视频的第一窗口和第二窗口,其中,该第一窗口定义与该第一视频流子集和该第一视角子集相关联的该第一多视图视频数据,并且该第二窗口定义与该第二视频数据子集和该第二视角子集相关联的该第二多视图视频数据;以及将该第一多视图视频数据和该第二多视图视频数据以及该清单文件存储在存储介质上。14.根据权利要求13所述的处理方法,其中,该确定第一多视图视频数据包括:将该第一子集的所有视角的图片在空间上布置到多视图图片中;以及
基于视频编码过程编码这些多视图图片。15.一种用于处理多视图视频的客户端装置,该多视图视频基于视频流集合来创建,该视频流集合由一组相机以一组视角同时捕获场景中的对象来生成,视角定义聚焦到该对象上的相机的光轴与该对象的参考轴线之间的角度,该客户端装置包括:计算机可读存储介质,该计算机可读存储介质具有用其体现的计算机可读程序代码;以及处理器,优选地微处理器,该处理器耦合至该计算机可读存储介质,其中,响应于执行该计算机可读程序代码,该处理器被配置为执行可执行操作,这些可执行操作包括:接收元数据、优选地清单文件,其定义用于该多视图视频的多个窗口,窗口定义与从该视频流集合中选择的视频流子集相关联的多视图视频数据,该视频流子集与视角子集相关联,优选地该视角子集中的视角定义有序视角序列;确定或接收与观看者的角度位置相关联的位置信息,优选地该角度位置与该观看者的眼睛的位置相关联,该角度位置定义由该多视图显示装置显示的该对象的参考轴线与该观看者看向该对象的光轴之间的角度;从该多个窗口中选择第一窗口,该第一窗口与第一视角子集相关联,该选择基于该位置信息和该第一视角子集;请求从服务器系统发送与该第一视频流子集相关联的第一多视图视频数据;接收该第一多视图视频数据,并且将该第一多视图视频数据提供到至少一个解码器实例以进行解码。16.根据权利要求15所述的客户端装置,进一步被配置为执行由权利要求2至14定义的方法步骤中的任何方法步骤。17.一种多视图视频创作系统,该多视图视频创作系统包括:计算机可读存储介质,该计算机可读存储介质具有用其体现的计算机可读程序代码;以及处理器,优选地微处理器,该处理器耦合至该计算机可读存储介质,其中,响应于执行该计算机可读程序代码,该处理器被配置为执行可执行操作,这些可执行操作包括:接收定义多视图视频的视频流集合,该多视频由一组相机以一组视角同时捕获场景中的对象来生成,视角定义聚焦到该对象上的相机的光轴与该对象的参考轴线之间的角度;从该视频流集合中选择第一视频流子集和第二视频流子集,该第一视频流子集和该第二视频流子集分别与第一视角子集和第二视角子集相关联;确定与该第一视频流子集相关联的第一多视图视频数据和与该第二视频流子集相关联的第二多视图视频数据;确定清单文件,该清单文件定义用于该多视图视频的第一窗口和第二窗口,其中,该第一窗口定义与该第一视频流子集和该第一视角子集相关联的该第一多视图视频数据,并且该第二窗口定义与该第二视频数据子集和该第二视角子集相关联的该第二多视图视频数据;以及将该第一多视图视频数据和该第二多视图视频数据以及该清单文件存储在存储介质上。18.一种用于处理多视图视频的服务器,该服务器包括:具有多视图视频存储在其上的存储介质,该多视图视频包括与第一视频流子集和第一视角子集相关联的第一多视图视频数据以及与第二视频流
子集和第二视角子集相关联的第二多视图视频数据,该第一多视图视频数据定义用于该多视图视频的第一窗口并且该第二多视图视频数据定义用于该多视图视频的第二窗口;该第一视频流子集和该第二视频流子集是从视频流集合中选择的,该视频流集合由一组相机以一组视角同时捕获场景中的对象来生成,视角定义聚焦到该对象上的相机的光轴与该对象的参考轴线之间的角度;该存储介质进一步具有用其体现的计算机可读程序代码;以及处理器,优选地微处理器,该处理器耦合至该计算机可读存储介质,其中,响应于执行该计算机可读程序代码,该处理器被配置为执行可执行操作,这些可执行操作包括:从客户端装置接收用于向该客户端装置发送与该第一窗口和该第二窗口中的至少一者相关联的多视图视频数据的请求;以及将该第一多视图视频数据和该第二多视图视频数据中的该至少一者发送到该客户端装置。19.一种计算机可读介质,该计算机可读介质包括暂态或非暂态数据,该数据定义数据结构,该数据结构表示定义用于多视图视频的第一窗口和第二窗口的元数据,该多视图视频包括由一组相机以一组视角同时捕获场景中的对象来生成的视频流集合,视角定义聚焦到该对象上的相机的光轴与该对象的参考轴线之间的角度,该数据结构定义该第一窗口和该第二窗口,该第一窗口定义与第一视频流子集和第一视角子集相关联的第一多视图视频数据,并且该第二窗口定义与第二视频流子集和第二视角子集相关联的第二多视图视频数据;该第一视频流子集和该第二视频流子集是从该视频流集合中选择的。20.一种计算机程序产品,包括软件代码部分,这些软件代码部分被配置用于当在计算机的存储器中运行时执行根据权利要求1至14中任一项所述的方法步骤。

技术总结
描述了一种由客户端装置处理多视图视频的方法,该多视图视频包括视频流集合,该视频流集合由一组相机以一组视角和一个或多个视频分辨率同时捕获场景中的对象来创建,每个视频流定义与相机相对于该对象的视角相关联的视图。该方法可以包括:接收定义用于该多视图视频的多个窗口的清单文件,该多个窗口中的第一窗口定义从该视频流集合中选择的第一视频流子集,该第一视频流子集与该组视角的第一视角子集相关联;确定与观看者相对于多视图显示装置的角度位置相关联的位置信息,该多视图显示装置被配置为呈现该清单文件中标识的多视图视频;基于该位置信息和该第一视角子集从该多个窗口中选择该第一窗口,并且请求由服务器系统发送该第一视频流子集;以及接收与该第一视频流子集相关联的多视图视频数据;以及将该多视图视频数据提供到解码器装置以进行解码。多视图视频数据提供到解码器装置以进行解码。多视图视频数据提供到解码器装置以进行解码。


技术研发人员:E
受保护的技术使用者:荷兰应用自然科学研究组织
技术研发日:2021.12.22
技术公布日:2023/10/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐