通过沉浸式媒体引用神经网络模型以适配流式传输到异构客户端端点的媒体的制作方法

文档序号:32008149发布日期:2022-11-02 14:28阅读:57来源:国知局
通过沉浸式媒体引用神经网络模型以适配流式传输到异构客户端端点的媒体的制作方法
通过沉浸式媒体引用神经网络模型以适配流式传输到异构客户端端点的媒体
1.相关申请的交叉引用
2.本技术要求提交到美国专利商标局的第63/127,036号美国临时专利申请(于2020年12月17日提交)和提交到美国专利商标局的第17/407,816号美国专利申请(于2021年8月20日提交)的优先权,这两个申请通过引用整体并入本文中。
技术领域
3.本公开总体上涉及数据处理领域,更具体地涉及视频编码。


背景技术:

[0004]“沉浸式媒体”通常指的是如下媒体,该媒体刺激任何或所有人类感觉系统(视觉、听觉、体感、嗅觉、可能还有味觉)以创建或增强身体上存在于媒体的体验中的用户的感知,即,超过了分布在现有商业网络上以用于定时二维(2d)视频和对应音频的、被称为“传统媒体”的媒体。沉浸式媒体和传统媒体均可表征为定时的或不定时的。
[0005]
定时媒体指的是根据时间结构化和呈现的媒体。示例包括电影特征、新闻报道、剧集内容,所有这些示例根据时间段进行组织。传统视频和音频通常被认为是定时媒体。
[0006]
不定时媒体是未按时间结构化的媒体;相反,通过逻辑、空间和/或时间关系来结构化。示例包括视频游戏,其中用户对由游戏设备创建的体验进行控制。不定时媒体的另一示例是由相机拍摄的静止图像照片。不定时媒体可包含定时媒体,例如,在视频游戏场景的连续循环音频或视频片段中包含定时媒体。反过来,定时媒体可包含不定时媒体例如固定静止图像作为背景的视频。
[0007]
具有沉浸式媒体能力的设备可以指的是配备有访问、解释和呈现沉浸式媒体的能力的设备。这样的媒体和设备在媒体的数量和格式方面不统一,以及大规模地分发这样的媒体所需的网络资源的数量和类型不统一,即,实现与传统视频和音频媒体在网络上的分发等同的分发所需的网络资源的数量和类型不统一。相比之下,传统设备(例如膝上型显示器、电视机和移动手持式显示器)在其能力方面相同,原因是所有这些设备包括矩形显示屏,且消耗作为其主要媒体格式的2d矩形视频或静止图像。


技术实现要素:

[0008]
实施例涉及一种用于流式传输沉浸式媒体的方法、系统和计算机可读介质。根据一方面,提供一种用于流式传输沉浸式媒体的方法。该方法可包括:摄取以第一二维格式或第一三维格式的内容,由此,所述格式引用神经网络。基于所引用的神经网络,而将所摄取的内容转换成第二二维格式或第二三维格式。将转换后的内容流式传输到客户端端点,例如电视机、计算机、头戴式显示器、透镜式光场显示器、全息显示器、增强现实显示器或密集光场显示器。
[0009]
根据另一方面,提供一种用于流式传输沉浸式媒体的计算机系统。计算机系统可
包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读有形存储器件、以及程序指令,程序指令存储在一个或多个存储器件中的至少一个存储器件上,以通过一个或多个处理器中的至少一个处理器经由一个或多个存储器中的至少一个存储器来执行,由此计算机系统能够执行一种方法。该方法可包括:摄取以第一二维格式或第一三维格式的内容,由此,所述格式引用神经网络。基于所引用的神经网络,而将所摄取的内容转换成第二二维格式或第二三维格式。将转换后的内容流式传输到客户端端点,例如电视机、计算机、头戴式显示器、透镜式光场显示器、全息显示器、增强现实显示器或密集光场显示器。
[0010]
根据又一方面,提供一种用于流式传输沉浸式媒体的计算机可读介质。计算机可读介质可包括一个或多个计算机可读存储器件、以及程序指令,程序指令存储在一个或多个有形存储器件中的至少一个有形存储器件上,程序指令可由处理器执行。程序指令可由处理器执行,以执行一种方法,相应地,该方法可包括:摄取以第一二维格式或第一三维格式的内容,由此,所述格式引用神经网络。基于所引用的神经网络,而将所摄取的内容转换成第二二维格式或第二三维格式。将转换后的内容流式传输到客户端端点,例如电视机、计算机、头戴式显示器、透镜式光场显示器、全息显示器、增强现实显示器或密集光场显示器。
附图说明
[0011]
通过结合附图阅读说明性实施例的以下详细描述,这些和其它目的、特征和优点将变得显而易见。附图的各个特征未按比例绘制,因为示图是为了清楚地便于本领域技术人员结合详细描述来理解。在附图中:
[0012]
图1是定时传统媒体分发的端到端过程的示意图。
[0013]
图2是用于流式传输定时传统媒体的标准媒体格式的示意图。
[0014]
图3是用于表示和流式传输定时沉浸式媒体的数据模型的实施例的示意图。
[0015]
图4是用于表示和流式传输不定时沉浸式媒体的数据模型的实施例的示意图。
[0016]
图5是采集自然场景并将自然场景转换成一种表示的过程的示意图,该表示可用作服务于异构客户端端点的网络的摄取格式。
[0017]
图6是使用3d建模工具和格式创建合成场景的表示的过程的示意图,该合成场景的表示可用作服务于异构客户端端点的网络的摄取格式。
[0018]
图7是计算机系统的系统图。
[0019]
图8是服务于多个异构客户端端点的网络的示意图。
[0020]
图9是在例如适配媒体以供特定沉浸式媒体客户端端点消费的网络过程之前,用于提供与以媒体摄取格式表示的特定媒体相关的适配信息的网络的示意图。
[0021]
图10是由媒体渲染-转换器组成的媒体适配过程的系统图,媒体渲染-转换器将源媒体从其摄取格式转换成适合于特定客户端端点的特定格式。
[0022]
图11是将已适配的源媒体格式化成适合于表示和流式传输的数据模型的网络的示意图。
[0023]
图12是将图12的数据模型分成网络协议分组的有效载荷的媒体流式传输过程的系统图。
[0024]
图13是将摄取格式的特定沉浸式媒体适配成可流式传输且适合于特定沉浸式媒
体客户端端点的分发格式的网络的序列图。
[0025]
图14是图10的摄取媒体格式和资产1002的示意图,摄取媒体格式和资产1002由沉浸式内容格式和传统内容格式(即,仅2d视频格式)组成,或者由沉浸式和2d视频格式组成。
[0026]
图15描绘了神经网络模型信息连同已编码视频流的携带(carriage)。
[0027]
图16描绘了神经网络模型信息连同输入沉浸式媒体和资产的携带。
具体实施方式
[0028]
本文公开了所要求保护的结构和方法的详细实施例;然而,可以理解到,所公开的实施例仅仅是所要求保护的结构和方法的说明,所要求保护的结构和方法可以以各种形式实施。然而,这些结构和方法可以以许多不同的形式实施,且不应解释为限于本文所阐述的示例性实施例。相反,提供这些示例性实施例以使得本公开将是彻底的和完整的,并向本领域技术人员充分地传达范围。在描述中,可省略众所周知的特征和技术的细节,以避免不必要地模糊所呈现的实施例。
[0029]
实施例总体上涉及数据处理领域,更具体地涉及视频编码。本文描述的技术允许2d已编码视频流用信号表示特定于场景的神经网络模型,以便网络在实际上将格式化的媒体分发给各种客户端端点之前摄取包括一个或多个(通常较小数量的)视图的媒体的2d视频源,且将2d媒体的源适配成一个或多个可流式传输的“分发格式”,来适应各种异构客户端端点设备、异构客户端端点设备的不同特征和能力、以及在客户端端点上使用的应用的要求。网络模型可通过sei结构化字段直接嵌入到已编码比特流的特定于场景的已编码视频流中,或者sei可以用信号表示存储在分发网络上的其它地方但是可由神经网络过程访问的特定模型的使用。将2d媒体源重新格式化成各种可流式传输的分发格式的能力使得网络能够同时服务于具有各种能力以及可用计算资源的各种客户端端点,且使得能够支持新兴的沉浸式客户端端点,例如商业网络中的全息和光场显示器。此外,基于特定于场景的神经网络模型来适配特定于场景的2d媒体源的能力改善最终视觉质量。当不存在可用的沉浸式媒体源时,以及当客户端无法支持基于2d媒体的分发格式时,对2d媒体源进行适配的这种能力尤其重要。在该场景中,基于神经网络的方法可通过携带特定于场景的神经网络模型而更优化地用于存在于2d媒体内的特定场景,其中特定于场景的神经网络模型使用先验来训练,先验通常与特定场景内的对象或针对特定场景的上下文类似。这提高了网络推断与特定场景相关的基于深度的信息的能力,使得网络可以将2d媒体适配成适合于目标客户端端点的特定于场景的体积格式。
[0030]
如先前所描述的,“沉浸式媒体”通常指的是如下媒体,该媒体刺激任何或所有人类感觉系统(视觉、听觉、体感、嗅觉、可能还有味觉)以创建或增强身体上存在于媒体的体验中的用户的感知,即,超过了分布在现有商业网络上以用于定时二维(2d)视频和对应音频的、被称为“传统媒体”的媒体。沉浸式媒体和传统媒体均可表征为定时的或不定时的。
[0031]
定时媒体指的是根据时间结构化和呈现的媒体。示例包括电影特征、新闻报道、剧集内容,所有这些示例根据时间段进行组织。传统视频和音频通常被认为是定时媒体。
[0032]
不定时媒体是未按时间结构化的媒体;相反,通过逻辑、空间和/或时间关系来结构化。示例包括视频游戏,其中用户对由游戏设备创建的体验进行控制。不定时媒体的另一示例是由相机拍摄的静止图像照片。不定时媒体可包含定时媒体,例如,在视频游戏场景的
连续循环音频或视频片段中包含定时媒体。反过来,定时媒体可包含不定时媒体例如固定静止图像作为背景的视频。
[0033]
具有沉浸式媒体能力的设备可以指的是配备有访问、解释和呈现沉浸式媒体的能力的设备。这样的媒体和设备在媒体的数量和格式方面不统一,以及大规模地分发这样的媒体所需的网络资源的数量和类型不统一,即,实现与传统视频和音频媒体在网络上的分发等同的分发所需的网络资源的数量和类型不统一。相比之下,传统设备(例如膝上型显示器、电视机和移动手持式显示器)在其能力方面相同,原因是所有这些设备包括矩形显示屏,且消耗作为其主要媒体格式的2d矩形视频或静止图像。
[0034]
任何媒体在网络上的分发可采用媒体投放系统和架构,媒体投放系统和架构将媒体从输入或网络“摄取”格式重新格式化成最终分发格式,其中该分发格式不仅适用于目标客户端设备及其应用,而且有助于通过网络流式传输。媒体的“流式传输”大致指的是源媒体的分段和分组,使得源媒体可根据媒体的时间或空间结构中的任一个或媒体的时间和空间结构两者,以逻辑上组织和排序的连续较小尺寸的“块”通过网络分发。在这样的分发架构和系统中,媒体可经历压缩或分层过程,使得首先仅给客户端分发最显著的媒体信息。在一些情况下,在客户端能够向终端用户呈现相同媒体部分中的任何媒体部分之前,客户端必须接收媒体的某个部分的所有显著媒体信息。
[0035]
重新格式化输入媒体以匹配目标客户端端点的能力的过程可采用神经网络过程,该神经网络过程采用可具有被重新格式化的特定媒体的一些先验知识的网络模型。例如,可调整特定模型以识别室外公园场景(具有树、植物、草和公园场景常见的其它对象),然而可调整又一种不同的特定模型以识别室内晚餐场景(具有餐桌、服务器具、坐在桌子上的人等)。本领域技术人员将认识到,经调整以从特定上下文中识别对象(例如公园场景对象)的网络模型将认识到,与未如此调整的网络模型相比,配备有经调整以匹配特定场景内容的网络模型的神经网络过程将产生更好的视觉结果。因此,益处是将特定于场景的网络模型提供给神经网络过程,该神经网络过程的任务是重新格式化输入媒体以匹配目标客户端端点的能力。
[0036]
将神经网络模型与2d媒体的特定场景相关联的机制可通过可选地压缩网络模型并借助于补充增强信息(sei)结构化字段将网络模型直接插入到视觉场景的2d已编码比特流中来实现,sei结构化字段通常用于将元数据附加到h.264,h.265和h.266视频压缩格式的已编码视频流。在一部分已编码视频比特流的上下文中包含特定神经网络模型的sei消息的存在,可用于指示网络模型将用于解释和适配其中嵌入了模型的这部分比特流内的视频内容。替代地,sei消息可用于借助于网络模型的标识符用信号表示哪个或那些神经网络模型可以在不存在实际模型本身的情况下使用。
[0037]
用于关联适合用于沉浸式媒体的神经网络的机制可通过沉浸式媒体本身引用适合使用的神经网络模型来实现。该引用可通过在逐个对象的基础上,或者在逐个场景的基础上,或者通过逐个对象和逐个场景的某种组合,而直接嵌入网络模型及其参数来实现。替代地,不是将一个或多个神经网络模型嵌入在媒体内,而是媒体对象或场景可通过标识符来引用特定的神经网络模型。
[0038]
用于引用适合用于适配流式传输到客户端端点的媒体的神经网络的又一替代机制是使得特定客户端端点本身向供使用的适配过程提供至少一个神经网络模型和对应的
参数。这样的机制可通过提供神经网络模型的客户端与适配过程通信的方式(例如,当客户端使其本身附接到网络时)来实现。
[0039]
在将视频适配到目标客户端端点之后,然后可以选择网络内的适配过程以将压缩算法应用于结果。此外,可选地,压缩算法可以将已适配的视频信号分成多个层,这多个层对应于视觉信号的最显著部分到最不显著部分。
[0040]
压缩和分层过程的示例是jpeg标准(iso/iec 10918第1部分)的逐步发展格式,其将图像分成多个层,使得整个图像首先仅以基本形状和颜色呈现,基本形状和颜色最初不是焦点,即,来自整个图像扫描的较低阶dct系数,随后整个图像以附加细节层呈现,附加细节层导致图像成为焦点,即,来自图像扫描的较高阶dct系数。
[0041]
将媒体分成较小部分、将媒体组织成连续网络协议分组的有效载荷部分以及分发这些协议分组的过程被称为媒体的“流式传输”,而将媒体转换成适合于在各种异构客户端端点之一上呈现的格式的过程被称为“适配”媒体,其中各种异构客户端端点之一在各种异构应用之一上操作。
[0042]
定义
[0043]
场景图:通常由基于矢量的图形编辑应用和现代计算机游戏使用的通用数据结构,其布置图形场景的逻辑和通常的(但不一定)空间表示;图形结构中的节点和顶点的集合。
[0044]
节点:场景图的基本元素,包括与视觉、音频、触觉、嗅觉、味觉或相关处理信息的逻辑或空间或时间表示相关的信息;每个节点应具有至多一个输出边缘、零个或更多个输入边缘、以及连接到节点的至少一个边缘(输入或输出)。
[0045]
基础层:资产的标称表示,通常被制定以最小化渲染资产所需的计算资源或时间,或者最小化通过网络传输资产所需的时间。
[0046]
增强层:当应用于资产的基础层表示时的一组信息,增强基础层以包括未在基础层中支持的特征或能力。
[0047]
属性:与节点相关联的元数据,用于以典型的或更复杂的形式(例如,从另一节点的角度而言)描述该节点的特定特性或特征。
[0048]
容器:一种序列化格式,用于存储和交换信息以表示所有自然场景、所有合成场景或者合成场景和自然场景的混合,包括场景图和渲染场景所需的所有媒体资源。
[0049]
序列化:将数据结构或对象状态转换成可以存储(例如,在文件或存储器缓冲区中)或传输(例如,通过网络连接链路)且稍后(可能在不同的计算机环境中)重建的格式的过程。当根据序列化格式重新读取所得到的比特序列时,该比特序列可用于创建原始对象的语义上相同的克隆。
[0050]
渲染器:基于学科的选择性混合的应用或过程(通常基于软件),学科涉及:声学物理、光物理、视觉感知、音频感知、数学和软件开发,即,给定输入场景图和资产容器,渲染器发出典型视觉和/或音频信号,该信号适合于呈现在目标设备上或符合由场景图中的渲染目标节点的属性指定的期望属性。对于基于视觉的媒体资产,渲染器可发出视觉信号,该视觉信号适合于目标显示器,或者适合于存储为中间资产(例如,重新打包到另一容器中,即,在图形流水线中的一系列渲染过程中使用);对于基于音频的媒体资产,渲染器可发出音频信号,以用于在多通道扬声器和/或双耳式耳机中呈现,或者用于重新打包到另一(输出)容
器中。渲染器的流行的示例包括:unity、unreal。
[0051]
评估:产生结果(例如,类似于对网页的文档对象模型的评估),使得输出从抽象移动到具体结果。
[0052]
脚本语言:一种解释性编程语言,可以由渲染器在运行时执行以处理对场景图节点做出的动态输入和可变状态改变,其影响空间和时间对象拓扑(包括物理力、约束、ik、变形、碰撞)和能量传播和传输(光、声音)的渲染和评估。
[0053]
着色器:一种类型的计算机程序,最初用于描影(在图像内产生适当水平的光、暗度和颜色),但是现在,在计算机图形特效的各个领域中执行各种专用功能,或者执行与描影无关的视频后处理,或者甚至执行根本不与图形相关的功能。
[0054]
路径跟踪:渲染三维场景的计算机图形方法,使得场景的照明更加真实。
[0055]
定时媒体:按时间排序的媒体;例如,根据特定时钟,具有开始时间和结束时间。
[0056]
不定时媒体:通过空间、逻辑或时间关系组织的媒体;例如,如在根据用户采取的动作来实现的交互式体验中。
[0057]
神经网络模型:定义在明确定义的数学运算中使用的权重(即,数值)的参数和张量(例如,矩阵)的集合,明确定义的数学运算应用于视觉信号以获得改进的视觉输出,改进的视觉输出可包括针对视觉信号的、未由原始信号明确提供的新视图的内插。
[0058]
沉浸式媒体可被认为是一种或多种类型的媒体,当此类媒体由具有沉浸式媒体能力的设备呈现给人类时,此类媒体以更真实且与人类对自然世界内的体验的理解一致的方式刺激五个感觉(即视觉,声音,味道,触摸和听觉)中的任一个,即,超过了使用通过传统设备呈现的传统媒体来实现的刺激。在该上下文中,术语“传统媒体”指的是二维(2d)视觉媒体(静止或移动图片帧)和/或对应的音频,对于传统媒体,用户交互的能力限于暂停、播放、快进或倒带;“传统设备”指的是电视机、膝上型计算机、显示器和移动设备,其能力局限于仅能呈现传统媒体。在面向消费者的应用场景中,用于沉浸式媒体的呈现设备(即,具有沉浸式媒体能力的设备)是面向消费者的硬件设备,尤其配备有利用由沉浸式媒体体现的特定信息的能力,使得该设备可创建更紧密地模仿人类对物理世界的理解以及与物理世界的交互的呈现,即,超过了传统设备这样做的能力。传统设备的能力局限于仅呈现传统媒体,而沉浸式媒体设备不会类似地受约束。
[0059]
在过去十年中,许多具有沉浸式媒体能力的设备已引入消费者市场,包括头戴式显示器、增强现实眼镜、手持式控制器、触觉手套和游戏控制台。类似地,全息显示器和其它形式的体积显示器准备在下一个十年内出现。虽然这些设备的立即或即将发生的可用性,但是出于若干原因,用于在商业网络上分发沉浸式媒体的相干端到端生态系统的具体化已失败。
[0060]
这些原因之一是缺乏对沉浸式媒体的单一标准表示,这种标准表示可解决与大规模媒体在商业网络上的当前分发相关的两种主要使用情况:1)实况动作事件的实时分发,即,内容被创建且实时地或接近实时地分发到客户端端点,以及2)非实时分发,其不需要实时分发内容,即,当内容被物理地采集或创建时。相应地,这两种使用情况可以与如今存在的“广播”和“点播”格式的分发同等地做比较。
[0061]
对于实时分发,内容可以由一个或多个相机采集,或者使用计算机生成技术来创建。由相机采集的内容在本文中被称为“自然”内容,而使用计算机生成技术创建的内容在
本文中被称为“合成”内容。表示合成内容的媒体格式可以是3d建模、视觉效果和cad/cam行业使用的格式,且可包括对象格式和工具,例如网格、纹理、点云、结构体积、非晶体积(例如,用于火灾、烟雾和雾)、着色器、程序生成的几何形状、材料、照明、虚拟相机定义和动画。虽然合成内容是计算机生成的,但是合成媒体格式可用于自然内容和合成内容两者,然而,将自然内容转换成合成媒体格式(例如,合成表示)的过程可以是时间和计算密集型过程,因此对于实时应用和使用情况来说可能不切实际。
[0062]
对于自然内容的实时分布,相机采集的内容可以以光栅格式分布,这适合于传统显示设备,原因是许多这样的设备类似地被设计成显示光栅格式。也就是说,假定传统显示器统一设计成显示光栅格式,因此光栅格式的分布最佳地适用于能够仅显示光栅格式的显示器。
[0063]
然而,具有沉浸式媒体能力的显示器不一定局限于显示基于光栅的格式。此外,一些具有沉浸式媒体能力的显示器不能呈现仅以基于光栅的格式提供的媒体。被优化以基于除了基于光栅的格式之外的格式来创建沉浸式体验的显示器的可用性是为什么不存在用于分发沉浸式媒体的相干端到端生态系统的另一重要原因。
[0064]
给多个不同的沉浸式媒体设备创建相干分发系统的又一个问题是当前和新兴的具有沉浸式媒体能力的设备本身可显著变化。例如,一些沉浸式媒体设备明确设计成一次仅由一个用户使用,例如头戴式显示器。其它沉浸式媒体设备设计成使得这些沉浸式媒体设备可以由多于一个用户同时使用,例如“looking glass factory 8k显示器”(之后称为“透镜式光场显示器”)可显示可以同时由多达12个用户观看的内容,其中每个用户正在体验他或她自己对正在显示的内容的独特视角(即,视图)。
[0065]
进一步使相干分发系统的开发复杂化的是每个显示器能够产生的独特视图的数量可以大大变化。在大多数情况下,传统显示器可以仅创建内容的单个视图。然而,透镜式光场显示器可支持多个用户,其中每个用户体验同一视觉场景的独特视图。为了实现同一场景的多个视图的这种创建,透镜式光场显示器创建特定体积视见平截头体(specific volumetric viewing frustum),其中需要同一场景的45个独特视图作为对显示器的输入。这意味着相同场景的45个略微不同的唯一光栅表示需要采集且以特定于这一个特定显示器(即,其视见平截头体)的格式分发到显示器。相反,传统显示器的视见平截头体限于单个二维平面,因此不存在通过显示器的视见平截头体呈现内容的多于一个观看视角的方式(不管正在体验显示器的同时观看者的数量如何)。
[0066]
通常,沉浸式媒体显示器可根据所有显示器的以下特性而显著变化:视见平截头体的尺寸和体积、同时支持的观看者的数量、用于填充视见平截头体的光学技术(可以是基于点、基于射线或基于波的技术)、占据视见平截头体的光单元(点、射线或波)的密度、计算能力和计算类型(cpu或gpu)的可用性、功率源和可用性(电池或线)、本地存储或高速缓存的量、以及对诸如基于云的计算和存储的辅助资源的访问。与传统显示器的均匀性相反,这些特性有助于沉浸式媒体显示器的异质性,使得可支持所有显示器(包括传统显示器和沉浸式类型的显示器)的单个分发系统的开发复杂化。
[0067]
所公开的主题解决了基于网络的媒体分发系统的开发,基于网络的媒体分发系统可支持传统显示器和沉浸式媒体显示器,作为单个网络的上下文中的客户端端点。具体地,本文提出一种机制,该机制将输入的沉浸式媒体源适配成适合于客户端端点设备(包括当
前在该客户端端点设备上执行的应用)的特定特性的格式。适配输入的沉浸式媒体源的这种机制包括使输入的沉浸式媒体的特性与目标端点客户端设备(包括在客户端设备上执行的应用)的特性协调,然后将输入的沉浸式媒体适配成适合于目标端点及其应用的格式。此外,适配过程可包括从输入媒体内插附加视图(例如新视图),以创建客户端端点所需的附加视图。可借助于神经网络过程来执行这样的内插。
[0068]
应注意,在不丧失一般性的情况下所公开的主题的其余部分假设将输入的沉浸式媒体源适配到特定端点客户端设备的过程与将相同输入的沉浸式媒体源适配到正在特定客户端端点设备上执行的特定应用的过程相同或相似。也就是说,将输入的媒体源适配到端点设备的特性的问题与将特定输入的媒体源适配到特定应用的特性的问题具有相同的复杂度。
[0069]
传统媒体支持的传统设备已实现广泛的消费者采用,原因是传统设备同样由传统媒体内容提供商的生态系统(产生传统媒体的基于标准的表示)和商业网络服务提供商(提供网络基础设施以将传统设备连接到标准传统内容源)支持。除了在网络上分发传统媒体的角色之外,商业网络服务提供商还可促进传统客户端设备与内容分发网络(cdn)上的传统内容的访问配对。一旦与对适当形式的内容的访问配对,传统客户端设备就可以请求或“上拉”来自内容服务器的传统内容到达设备,以呈现给终端用户。然而,网络服务器将适当媒体“推送”到适当客户端的架构同样适宜,而不会给总体架构和解决方案设计带来额外复杂度。
[0070]
在本文中参考根据各种实施例的方法、装置(系统)和计算机可读介质的流程图和/或框图描述各方面。应理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令实现。
[0071]
下面描述的示例性实施例涉及用于分发媒体(包括视频、音频、几何(3d)对象、触觉、相关联的元数据或客户端设备的其它内容)的系统和网络的架构、结构和组件。特定实施例涉及用于向异构沉浸式和交互式客户端设备分发媒体内容的系统、结构和架构。
[0072]
图1是定时传统媒体分发的端到端过程的示例图。在图1中,定时音频-视觉内容由相机或麦克风101a采集或者由计算机101b生成,来创建2d图像和相关联的音频的序列102,序列102输入到准备模块103。103的输出是已编辑的内容(例如,用于后生产(包括语言翻译、字幕、其它编辑功能)),被称为准备通过转换器模块104转换成标准中间格式(mezzanine format)(例如,用于点播媒体)或者标准贡献格式(例如,用于实况事件)的主格式(master format)。媒体由商业网络服务提供商“摄取”,适配模块105将媒体打包成各种比特率、时间分辨率(帧速率)或空间分辨率(帧大小),这些比特率、时间分辨率或空间分辨率被打包成标准分发格式。所得到的适配存储在内容分发网络106上,各种客户端108从内容分发网络106进行上拉请求107以获取媒体并将媒体呈现给终端用户。重要的是要注意,主格式可以由来自101a或101b的媒体的混合组成,且格式101a可实时地获得,例如,从实况体育赛事获得的媒体。此外,客户端108负责选择最适合于客户端配置和/或当前网络状况的特定适配107,但同样可能的是,网络服务器(图1未示出)可确定合适内容,且随后将合适内容推送到客户端108。
[0073]
图2是用于分发传统定时媒体(例如视频、音频和支持元数据(包括例如用于字幕的定时文本)的标准媒体格式的示例。如图1中的项106所指出的,媒体以基于标准的分发格
式存储在cdn 201上。基于标准的格式示出为mpd 202,其由多个部分组成,这多个部分包含具有与时钟相对应的开始时间和结束时间的定时周期203。每个周期203指的是一个或多个适配集204。每个适配集204通常用于单个类型的媒体,例如视频、音频或定时文本。对于任何给定的周期203,可提供多个视频集204,例如,一个视频集用于视频,多个视频集用于音频(例如用于转换成各种语言)。每个视频集204指的是提供与媒体的帧分辨率(用于视频)、帧速率和比特率相关的信息的一个或多个表示205。多个表示205可用于提供到例如用于超高清视频、高清视频或标准清晰度视频的表示205的访问。每个表示205涉及一个或多个片段文件206,媒体实际上存储在一个或多个片段文件206中,以供客户端提取(如图1中的108所示)或由网络媒体服务器(图1未示出)分发(在“基于推送”的架构中)。
[0074]
图3是定时异构沉浸式媒体的可流式传输格式的示例表示。图4是不定时异构沉浸式媒体的可流式传输格式的示例表示。两个图均指的是场景;图3涉及的是用于定时媒体的场景301,而图4涉及的是用于不定时媒体的场景401。对于两种情况,场景可以由各种场景表示或场景描述来体现。
[0075]
例如,在一些沉浸式媒体设计中,场景可以由场景图体现,或作为多平面图像(mpi)或多球面图像(msi)来体现。mpi技术和msi技术是有助于创建自然内容(即,从一个或多个相机同时采集的真实世界的图像)的与显示器无关的场景表示(display-agnostic scene)的技术的示例。另一方面,可采用场景图技术,来以合成表示的形式表示自然图像和计算机生成的图像,然而,在内容由一个或多个相机作为自然场景来采集的情况下,创建这种表示特别是计算密集型的。也就是说,创建自然采集的内容的场景图表示是时间和计算密集型的,需要利用摄影测量技术或深度学习技术或这两者对自然图像的复杂分析,以创建合成表示,随后该合成表示可用于内插足够数量的视图来填充目标沉浸式客户端显示器的视见平截头体。因此,目前考虑这样的合成表示作为表示自然内容的候选,不切实际,原因是实际上不能实时地创建这样的合成表示,以考虑需要实时分发的使用情况。然而,目前,计算机生成的图像的最佳候选表示是采用场景图与合成模型一起使用,原因是计算机生成的图像使用3d建模过程和工具来创建。
[0076]
自然内容和计算机生成的内容两者的最佳表示的这种二分法暗示自然采集的内容的最佳摄取格式不同于计算机生成的内容的最佳摄取格式或者不同于对于实时分发应用来说不是必需的自然内容的最佳摄取格式。因此,所公开的主题的目标是足够稳健地支持视觉沉浸式媒体的多个摄取格式,无论视觉沉浸式媒体是自然创建的还是由计算机创建的。
[0077]
下面是将场景图体现为一种格式的示例技术,该格式适合于表示使用计算机生成技术创建的视觉沉浸式媒体,或者适合于表示自然采集的内容,对于自然采集的内容,采用深度学习或摄影测量技术来创建自然场景的对应合成表示的,即,自然采集的内容对于实时分发应用来说不是必需的。
[0078]
1.otoy的
[0079]
otoy的orbx是几种场景图技术之一,其能够支持任何类型的定时或不定时的视觉媒体,包括可光线追踪、传统(基于帧的)、体积和其它类型的合成的或基于向量的视觉格式。orbx相对于其它场景图是独一无二的,原因是orbx提供对于网格、点云和纹理可自由使用和/或开源格式的原生支持。orbx是有意设计的场景图,其目的是促进在场景图上操作的
多个供应商技术的互换。此外,orbx提供丰富的材料系统,支持开放式着色器语言,稳健的相机系统,以及支持lua脚本。orbx还是沉浸式技术媒体格式的基础,沉浸式技术媒体格式由沉浸式数字体验联盟(idea)发布,在无版税条件下予以许可。在媒体的实时分发的上下文中,创建和分发自然场景的orbx表示的能力是计算资源的可用性的函数,以执行对相机采集的数据的复杂分析以及将相同数据合成为合成表示。迄今为止,足以用于实时分发的计算的可用性不切实际,但是仍然是不可能的。
[0080]
2.pixar的通用场景描述
[0081]
pixar的通用场景描述(usd)是另一种公知的、成熟的场景图,其在vfx和专业内容生产社区中流行。usd集成到英伟达的omniverse平台中,omniverse平台是便于开发者使用英伟达的gpu创建和渲染3d模型的工具集。usd的子集由苹果公司和pixar作为usdz发布。usdz由苹果公司的arkit支持。
[0082]
3.khronos的gltf 2.0
[0083]
gltf 2.0是由khronos 3d组编写的最新版本的“图形语言传输格式”规范。该格式支持简单场景图格式,简单场景图格式通常能够支持场景中的静态(不定时)对象,包括“png”和“jpeg”图像格式。gltf2.0支持简单动画,包括支持使用gltf基元描述的基本形状(即,用于几何对象)的平移、旋转和缩放。gltf 2.0不支持定时媒体,因此不支持视频或音频。
[0084]
例如,仅提供沉浸式视觉媒体的场景表示的这些已知设计,且不将所公开的主题的能力限制于指定用于将输入的沉浸式媒体源适配成适合于客户端端点设备的特定特性的格式的过程。
[0085]
此外,上述示例媒体表示中的任一个或全部当前采用或可采用深度学习技术来训练和创建神经网络模型,神经网络模型能够基于视见平截头体的特定尺寸来选择特定视图或促进对特定视图的选择,以填充特定的显示器的视见平截头体。可以从明确在场景表示中提供的现有视图(例如,根据msi或mpi技术)内插被选择用于特定显示器的视见平截头体的视图,或者可基于特定虚拟相机位置、滤波器或对用于渲染引擎的虚拟相机的描述而直接从这些渲染引擎渲染被选择用于特定显示器的视见平截头体的视图。
[0086]
因此,所公开的主题足够稳健,以考虑到相对小但公知的沉浸式媒体摄取格式集合,其能够充分满足对媒体的实时或“点播”(例如,非实时)分发的需求,该媒体是自然地(例如,利用一个或多个相机)采集的或使用计算机生成技术创建的。
[0087]
由于采用高级网络技术,例如用于移动网络的5g以及用于固定网络的光纤线缆,进一步促进通过使用神经网络模型或基于网络的渲染引擎来内插来自沉浸式媒体摄取格式的视图。也就是说,这些高级网络技术增加商业网络的容量和能力,原因是这样的高级网络基础设施可支持越来越大量的视觉信息的传输和分发。网络基础设施管理技术(例如多接入边缘计算(mec),软件定义网络(sdn)和网络功能虚拟化(nfv))使得商业网络服务提供商能够灵活地配置他们的网络基础设施以适应某些网络资源的需求变化,例如,以响应对网络吞吐量、网络速度、往返延迟时间和计算资源的需求的动态增加或减少。此外,适应动态网络需求的这种固有能力同样促进网络将沉浸式媒体摄取格式适配成合适的分发格式的能力,以支持具有用于异构客户端端点的可能的异构视觉媒体格式的各种沉浸式媒体应用。
[0088]
沉浸式媒体应用本身还可对网络资源具有不同的要求,沉浸式媒体应用包括:游戏应用,其需要明显更小的网络延迟时间来响应游戏状态的实时更新;远程呈现应用,其对网络的上行链路部分和下行链路部分具有对称吞吐量要求;以及被动观看应用,其可根据消耗数据的客户端端点显示器的类型而可对下行链路资源具有增加的需求。通常,任何面向消费者的应用可以由各种客户端端点支持,针对存储,计算和功率,各种客户端端点具有各种板载客户端能力,类似地,针对特定媒体表示,各种客户端端点具有各种要求。
[0089]
因此,所公开的主题能够使充分配备的网络,即采用现代网络的一些或全部特性的网络,根据在如下方面中指定的特征同时支持多个传统设备和具有沉浸式媒体能力的设备:
[0090]
1.提供利用媒体摄取格式的灵活性,媒体摄取格式对于用于分发媒体的实时和“点播”使用情况都比较实用。
[0091]
2.给传统客户端端点和具有沉浸式媒体能力的客户端端点提供支持自然内容和计算机生成的内容的灵活性。
[0092]
3.支持定时媒体和不定时媒体。
[0093]
4.提供一种基于客户端端点的特征和能力以及基于应用的要求来动态地将源媒体摄取格式适配成合适的分发格式的过程。
[0094]
5.确保分发格式在基于ip的网络上可流式传输。
[0095]
6.使得网络能够同时服务于可包括传统设备和具有沉浸式媒体能力的设备的多个异构客户端端点。
[0096]
7.提供便于沿着场景边界对分发媒体进行组织的示例性媒体表示框架。
[0097]
所公开的主题能够实现的改进的端到端实施例根据以下描述对图3至图16的详细描述所描述的处理和部件来实现。
[0098]
图3和图4采用单个示例性包含分发格式,这个包含分发格式已从摄取源格式适配,以匹配特定客户端端点的能力。如上所述,图3所示的媒体是定时媒体,图4所示的媒体是不定时媒体。特定包含格式在其结构方面足够鲁棒以容纳很多种类的媒体属性,每个媒体属性可基于每一层有助于媒体呈现的显著信息的量而分层。应注意,这种分层过程已经是现有技术中已知的技术,如通过逐步发展的jpeg和可缩放视频架构(例如iso/iec 14496-10(可缩放高级视频编码)中所指定的那些可缩放视频架构)所说明的。
[0099]
1.根据包含媒体格式流式传输的媒体不限于传统视觉和音频媒体,而是可包括能够产生与机器交互以刺激人类对视觉、声音、味道、触摸和气味的感觉的信号的任何类型的媒体信息。
[0100]
2.根据包含媒体格式流式传输的媒体可以是定时媒体或不定时媒体,或者定时媒体和不定时媒体的混合。
[0101]
3.还通过使用基础层和增强层架构来实现对媒体对象的分层表示,从而能够流式传输包含媒体格式。在一个示例中,通过给每个场景中的媒体对象应用多分辨率或多细分分析技术,来计算单独的基础层和增强层。这类似于iso/iec 10918-1(jpeg)和iso/iec 15444-1(jpeg 2000)指定的逐行渲染的图像格式,但不限于基于光栅的视觉格式。在示例实施例中,几何对象的逐行表示可以是使用小波分析计算的对象的多分辨率表示。
[0102]
在媒体格式的分层表示的另一示例中,增强层将不同的属性应用于基础层,例如
细化由基础层表示的视觉对象的表面的材料属性。在又一示例中,属性可细化基础层对象的表面的纹理,例如将表面从平滑变成多孔纹理或者从无光泽表面变成光泽表面。
[0103]
在分层表示的又一示例中,场景中的一个或多个视觉对象的表面可以从朗伯变成射线可追踪的。
[0104]
在分层表示的又一示例中,网络将向客户端分发基础层表示,使得客户端可以在客户端等待附加增强层的传输以细化基础表示的分辨率或其它特性时创建场景的标称呈现。
[0105]
4.增强层中的属性或细化信息的分辨率与目前在现有mpeg视频和jpeg图像标准中的基础层中的对象的分辨率没有明确耦接。
[0106]
5.包含媒体格式支持可由呈现设备或机器呈现或致动的任何类型的信息媒体,从而使得异构客户端端点能够支持异构媒体格式。在分发媒体格式的网络的一个实施例中,网络首先将查询客户端端点以确定客户端的能力,如果客户端不能够有意义地摄取媒体表示,则网络将移除客户端不支持的属性层,或者将媒体从其当前格式适配成适合于客户端端点的格式。在这种适配的一个示例中,网络可通过使用基于网络的媒体处理协议来将体积视觉媒体资产转换成相同视觉资产的2d表示。在这种适配的另一示例中,网络可采用神经网络过程,以将媒体重新格式化成适当的格式,或者可选地,合成客户端端点所需的视图。
[0107]
6.针对完整或部分完整的沉浸式体验(实况流式传输事件、游戏或点播资产的回放)的清单由场景组织,清单是渲染和游戏引擎当前可摄取以创建呈现的最小量信息。清单包括要针对由客户端请求的整个沉浸式体验渲染的独立场景的列表。与每个场景相关联的是场景内对应于场景几何形状的可流式传输版本的几何对象的一个或多个表示。场景表示的一个实施例涉及的是场景的几何对象的低分辨率版本。同一场景的另一实施例涉及的是增强层,该增强层用于场景的低分辨率表示,以向同一场景的几何对象添加附加细节或增加细分。如上所述,每个场景可具有多于一个增强层,以逐行方式增加场景的几何对象的细节。
[0108]
7.在场景内引用的媒体对象的每个层与令牌(例如,uri)相关联,该令牌指向可以在网络内访问资源的位置的地址。这样的资源类似于cdn的可以由客户端获取内容的位置。
[0109]
8.用于表示几何对象的令牌可指向网络内的位置或客户端内的位置。也就是说,客户端可以用信号向网络表示其资源可用于网络,以用于基于网络的媒体处理。
[0110]
图3描述了用于定时媒体的包含媒体格式的如下实施例。定时场景清单包括场景信息301的列表。场景301涉及的是组件302的列表,组件302分别描述包括场景301的媒体资产的类型和处理信息。组件302涉及资产303,资产303进一步涉及的是基础层304和属性增强层305。
[0111]
图4描述了用于不定时媒体的包含媒体格式的如下实施例。场景信息401不与根据时钟的开始持续时间和结束持续时间相关联。场景信息401涉及的是组件402的列表,组件402分别描述包括场景401的媒体资产的类型和处理信息。组件402涉及的是资产403(例如视觉资产、音频资产和触觉资产),资产403进一步涉及的是基础层404和属性增强层405。此外,场景401涉及的是用于不定时媒体的其它场景401。场景401还涉及定时媒体场景。
[0112]
图5示出了从自然内容合成摄取格式的过程500的实施例。相机单元501使用单个
相机镜头来采集人的场景。相机单元502通过围绕环形对象安装五个相机镜头来采集具有五个发散视场的场景。502的布置是通常用于采集针对vr应用的全向内容的示例性布置。相机单元503通过在球体的内径部分上安装七个相机镜头来采集具有七个会聚视场的场景。布置503是通常用于采集光场或全息沉浸式显示器的光场的示例性布置。自然图像内容509被提供为合成模块504的输入,合成模块504可以可选地采用神经网络训练模块505,神经网络训练模块505使用训练图像506的集合来产生可选的采集神经网络模型508。通常代替训练过程505而使用的另一过程是摄影测量。如果在图5中描绘的过程500期间创建模型508,则模型508变成用于自然内容的摄取格式507下的资产之一。摄取格式507的示例性实施例包括mpi和msi。
[0113]
图6示出了创建合成媒体(例如,计算机生成的图像)的摄取格式的过程600的实施例。lidar相机601采集场景的点云602。在计算机603上采用cgi工具、3d建模工具或另一动画过程来创建合成内容,以在网络上创建604 cgi资产。具有传感器的运动采集套件605a佩戴在行为人605上,以采集行为人605的运动的数字记录,来产生动画式运动采集数据606。数据602、604和606被提供为合成模块607的输入,合成模块607同样可以可选地使用神经网络和训练数据来创建神经网络模型(图6未示出)。
[0114]
用于表示和流式传输以上描述的异构沉浸式媒体的技术可实现为计算机软件,计算机软件使用计算机可读指令且物理地存储在一个或多个计算机可读介质中。例如,图7示出了适于实现所公开的主题的某些实施例的计算机系统700。
[0115]
可使用任何合适的机器代码或计算机语言对计算机软件进行编码,任何合适的机器代码或计算机语言可经受汇编、编译、链接或类似的机制以创建包括指令的代码,该指令可由计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或通过解释、微代码执行等执行。
[0116]
指令可以在各种类型的计算机或其组件上执行,计算机或其组件包括例如个人计算机、平板计算机、服务器、智能手机、游戏设备、物联网设备等。
[0117]
图7所示的计算机系统700的组件本质上是示例性的,并不旨在对实施本公开的实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为具有与计算机系统700的示例性实施例中所示的组件中的任何一个组件或组件的组合相关的任何依赖或要求。
[0118]
计算机系统700可包括某些人机接口输入设备。此类人机接口输入设备可响应于一个或多个人类用户通过例如下述的输入:触觉输入(例如:击键、划动,数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘)。人机接口设备还可用于采集不一定与人的意识输入直接相关的某些媒介,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静止图像相机获取摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
[0119]
输入人机接口设备可包括下述中的一项或多项(每种中仅示出一个):键盘701、鼠标702、触控板703、触摸屏710、数据手套(未描绘)、操纵杆705、麦克风706、扫描仪707和相机708。
[0120]
计算机系统700还可包括某些人机接口输出设备。此类人机接口输出设备可例如通过触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感觉。此类人机接口输
出设备可包括触觉输出设备(例如触摸屏710的触觉反馈、数据手套(未描绘)或操纵杆705,但也可以是不作为输入设备的触觉反馈设备)、音频输出设备(例如:扬声器709、耳机(未描绘))、视觉输出设备(例如包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕的屏幕710,每种屏幕都有或没有触摸屏输入功能,每种屏幕都有或没有触觉反馈功能-其中的一些屏幕能够通过诸如立体图像输出之类的装置、虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘)以及打印机(未描绘)来输出二维视觉输出或超过三维的输出。
[0121]
计算机系统700还可包括人类可访问存储设备及其关联介质,例如,包括具有cd/dvd等介质721的cd/dvd rom/rw 720的光学介质、指状驱动器722、可拆卸硬盘驱动器或固态驱动器723、诸如磁带和软盘之类的传统磁性介质(未描绘)、诸如安全软件狗之类的基于专用rom/asic/pld的设备(未描绘)等。
[0122]
本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其它暂时性信号。
[0123]
计算机系统700还可包括通到一个或多个通信网络的接口。网络可例如是无线网络、有线网络、光网络。网络可进一步是本地网络、广域网络、城域网络、车辆和工业网络、实时网络、延迟容忍网络等。网络的示例包括诸如以太网之类的局域网、无线lan、包括gsm,3g,4g,5g,lte等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括canbus的车辆和工业用网络等。某些网络通常需要连接到某些通用数据端口或外围总线(749)的外部网络接口适配器(例如,计算机系统700的usb端口);如下所述,其它网络接口通常通过连接到系统总线而集成到计算机系统700的内核中(例如,连接到pc计算机系统中的以太网接口或连接到智能手机计算机系统中的蜂窝网络接口)。计算机系统700可使用这些网络中的任何一个网络与其它实体通信。此类通信可以是仅单向接收的(例如,广播电视)、仅单向发送的(例如,连接到某些canbus设备的canbus)或双向的,例如,使用局域网或广域网数字网络连接到其它计算机系统。如上所述,可以在那些网络和网络接口中的每一个上使用某些协议和协议栈。
[0124]
上述人机接口设备、人机可访问的存储设备和网络接口可附接到计算机系统700的内核740。
[0125]
内核740可包括一个或多个中央处理单元(cpu)741,图形处理单元(gpu)742,现场可编程门区域(fpga)743形式的专用可编程处理单元、用于某些任务的硬件加速器744等。这些设备以及只读存储器(rom)745、随机存取存储器(ram)746、诸如内部非用户可访问的硬盘驱动器、ssd等之类的内部大容量存储器747可通过系统总线748连接。在一些计算机系统中,可以以一个或多个物理插头的形式访问系统总线748,以能够通过附加的cpu、gpu等进行扩展。外围设备可直接连接到内核的系统总线748或通过外围总线749连接到内核的系统总线748。外围总线的体系结构包括pci、usb等。
[0126]
cpu 741、gpu 742、fpga 743和加速器744可执行某些指令,这些指令可以组合来构成上述计算机代码。该计算机代码可存储在rom 745或ram 746中。过渡数据也可存储在ram 746中,而永久数据可例如存储在内部大容量存储器747中。可通过使用高速缓存来进行到任何存储设备的快速存储及检索,该高速缓存可与下述紧密关联:一个或多个cpu 741、gpu 742、大容量存储器747、rom 745、ram 746等。
[0127]
计算机可读介质可在其上具有用于执行各种由计算机实现的操作的计算机代码。
介质和计算机代码可以是出于本公开的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。
[0128]
作为非限制性示例,可由于一个或多个处理器(包括cpu、gpu、fpga、加速器等)执行包含在一种或多种有形的计算机可读介质中的软件而使得具有架构700,特别是内核740的计算机系统提供功能。此类计算机可读介质可以是与如上所述的用户可访问的大容量存储相关联的介质,以及某些非暂时性的内核740的存储器,例如内核内部大容量存储器747或rom 745。可将实施本公开的各实施例的软件存储在此类设备中并由内核740执行。根据特定需要,计算机可读介质可包括一个或多个存储设备或芯片。软件可使得内核740,特别是其中的处理器(包括cpu、gpu、fpga等)执行本文所描述的特定过程或特定过程的特定部分,包括定义存储在ram 746中的数据结构以及根据由软件定义的过程来修改此类数据结构。附加地或替代地,可由于硬连线或以其它方式体现在电路(例如,加速器744)中的逻辑而使得计算机系统提供功能,该电路可替换软件或与软件一起运行以执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,提及软件的部分可包含逻辑,反之亦然。在适当的情况下,提及计算机可读介质的部分可包括存储用于执行的软件的电路(例如集成电路(ic))、体现用于执行的逻辑的电路或包括两者。本公开包括硬件和软件的任何合适的组合。
[0129]
图8示出了示例性网络媒体分发系统800,网络媒体分发系统800支持各种传统显示器和异构的具有沉浸式媒体能力的显示器作为客户端端点。内容获取模块801使用图6或图5的示例性实施例来采集或创建媒体。在内容准备模块802中创建摄取格式,然后使用传输模块803向网络媒体分发系统中的一个或多个客户端端点804发送摄取格式。网关可服务于客户端设备,以向网络提供对各种客户端端点的网络访问。机顶盒还可用作客户端设备,以通过网络服务提供商提供对聚合内容的访问。无线解调器可用作移动设备(例如,如同移动手持机和显示器)的移动网络接入点。在一个或多个实施例中,传统2d电视机可直接连接到网关、机顶盒或wifi路由器。具有传统2d显示器的膝上型计算机可以是连接到wifi路由器的客户端端点。头戴式2d(基于光栅的)显示器也可连接到路由器。透镜式光场显示器可以是网关。显示器可包括本地计算gpu、存储设备和视觉呈现单元,视觉呈现单元使用基于光线的透镜光学技术来创建多个视图。全息显示器可连接到机顶盒,且可包括本地计算cpu、gpu、存储设备以及菲涅尔模式的基于波的全息可视化单元。增强现实头戴式耳机可连接到无线解调器,且可包括gpu、存储设备、电池和体积视觉呈现组件。密集光场显示器可连接到wifi路由器,且可包括多个gpu、cpu和存储设备、眼睛跟踪设备、相机、以及基于密集光线的光场面板。
[0130]
图9示出了沉浸式媒体分发模块900的实施例,沉浸式媒体分发模块900能够服务于如先前在图8中描绘的传统显示器和异构的具有沉浸式媒体能力的显示器。在模块901中创建或获取内容,模块901进一步在图5和图6中体现,分别用于自然内容和cgi内容。然后,使用创建网络摄取格式模块902将内容901转换成摄取格式。模块902同样进一步在图5和图6中体现,分别用于自然内容和cgi内容。将摄取媒体格式发送到网络且存储在存储设备903上。可选地,存储设备可驻留在沉浸式媒体内容生产者的网络中,且由如由等分903的短划线所描绘的沉浸式媒体网络分发模块(未编号)远程访问。客户端和应用特定信息可选地在远程存储设备904上提供,远程存储设备904可以可选地远程存在于替代“云”网络中。
[0131]
如图9所描绘的,客户端接口模块905用作用于执行分发网络的主要任务的信息的主要源和库。在该特定实施例中,模块905可与网络的其它组件以统一格式来实现。然而,由图9中的模块905描绘的任务形成所公开的主题的必不可少的元件。
[0132]
模块905接收与客户端908的特征和属性相关的信息,此外收集关于当前在908上运行的应用的要求。可从设备904获得该信息,或者在替代实施例中,可通过直接查询客户端908来获得该信息。在直接查询客户端908的情况下,假设存在双向协议且可操作双向协议(图9未示出),使得客户端可直接通信到接口模块905。
[0133]
接口模块905还发起媒体适配和分段模块910且与媒体适配和分段模块910通信,媒体适配和分段模块910在图10中予以描述。当摄取媒体由模块910适配和分段时,该媒体可选地传送到媒体间存储设备,媒体间存储设备被描绘成准备分发媒体存储设备909。当在设备909中准备和存储分发媒体时,接口模块905确保沉浸式客户端908通过“推送”请求经由其网络接口908b接收分发媒体和对应的描述信息906,或者客户端908本身可发起从存储设备909获得媒体906的“上拉”请求。沉浸式客户端908可以可选地采用cpu(或cpu,未示出)908c。媒体的分发格式存储在客户端908的存储设备或高速缓存908d中。最后,客户端908通过其可视化组件908a在视觉上呈现媒体。
[0134]
在将沉浸式媒体流式传输到客户端908的过程中,接口模块905将通过客户端进度和状态反馈信道907来检查客户端进度的状态。
[0135]
图10描绘了媒体适配过程的特定实施例,使得所摄取的源媒体可被适当地适配以匹配客户端908的要求。媒体适配模块1001包括便于将摄取媒体适配成适合于客户端908的分发格式的多个组件。这些组件应被视为示例性的。在图10中,适配模块1001接收输入网络状态1005以确定网络上的当前业务负载;客户端908信息(包括属性和特征描述、应用特征和描述以及应用当前状态);以及客户端神经网络模型(如果可用的话),用于帮助将客户端的视见平截头体的几何形状映射到所摄取的沉浸式媒体的插值能力。适配模块1001确保适配的输出随着其被创建而存储在客户端适配的媒体存储设备1006中。
[0136]
适配模块1001采用渲染器1001b或神经网络处理器1001c,来将特定摄取源媒体适配成适合于客户端的格式。神经网络处理器1001c使用神经网络模型1001a。这样的神经网络处理器1001c的示例包括如mpi和msi中所描述的深度视图神经网络模型生成器。如果媒体以2d格式,但是客户端必须具有3d格式,则神经网络处理器1001c可调用使用来自2d视频信号的高度相关图像以导出视频中描绘的场景的体积表示的过程。这样的过程的示例可以是加州大学伯克利分校开发的来自一个或几个图像的神经辐射场过程。合适的渲染器1001b的示例可以是otoy octane渲染器(未示出)的修改版本,可修改该渲染器以直接与适配模块1001交互。根据相对于摄取媒体的格式和客户端908所要求的格式对这些工具的需要,适配模块1001可以可选地采用媒体压缩器1001d和媒体解压缩器1001e。
[0137]
图11描绘了适配媒体封装模块1103,适配媒体封装模块1103最终转换现在驻留在客户端适配媒体存储设备1102上、来自图10的媒体适配模块1101的适配媒体。封装模块1103将来自模块1101的适配媒体格式化成稳健的分发格式,例如,图3或图4所示的示例性格式。清单信息1104a向客户端908提供其可期望接收的场景数据的列表,且还提供可视化资产和对应的元数据以及音频资产和对应的元数据的列表。
[0138]
图12描绘了分组器模块1202,分组器模块1202将适配的媒体1201“分”成适合于流
式传输到客户端908的独立分组1203。
[0139]
对图13中所示的针对序列图1300的组件和通信进行如下解释:客户端端点1301向网络分发接口1302发起媒体请求1308。请求1308包括用于通过urn或其它标准命名来识别由客户端请求的媒体的信息。网络分发接口1302利用配置文件请求1309来响应请求1308,配置文件请求1309请求客户端1301提供与其当前可用资源(包括计算、存储、电池充电百分比以及表征客户端的当前操作状态的其它信息)相关的信息。配置文件请求1309还请求客户端提供一个或多个神经网络模型,这一个或多个神经网络模型可以被网络用于神经网络推理,以提取或内插恰当的媒体视图来匹配客户端的呈现系统的特征(在此类模型在客户端处可用的情况下)。从客户端1301到达接口1302的响应1311提供客户端令牌、应用令牌以及一个或多个神经网络模型令牌(在此类神经网络模型令牌在客户端处可用的情况下)。然后,接口1302向客户端1301提供会话id令牌1311。然后,接口1302使用摄取媒体请求1312来请求摄取媒体服务器1303,摄取媒体请求1312包括在请求1308中识别的媒体的urn或标准命名名称。服务器1303利用包括摄取媒体令牌的响应1313来回复请求1312。然后,接口1302在调用1314中将来自响应1313的媒体令牌提供给客户端1301。然后,接口1302通过向适配接口1304提供摄取媒体令牌、客户端令牌、应用令牌和神经网络模型令牌来发起针对1308中请求的媒体的适配过程。接口1304通过在调用1316处向服务器1303提供摄取媒体令牌来请求访问摄取媒体以请求访问摄取媒体资产。通过到达接口1304的响应1317中的摄取媒体访问令牌,服务器1303响应于请求1316。然后,接口1304请求媒体适配模块1305适配位于摄取媒体访问令牌处的摄取媒体,用于对应于1313处创建的会话id令牌的客户端、应用和神经网络推断模型。从接口1304到达应模块1305的请求1318包含所需的令牌和会话id。模块1305在更新1319中向接口1302提供适配的媒体访问令牌和会话id。接口1302在接口调用1320中向封装模块1306提供适配的媒体访问令牌和会话id。封装模块1306在响应1321中向接口1302提供封装媒体访问令牌和会话id。模块1306在响应1322中向封装媒体服务器1307提供用于会话id的封装媒体访问令牌、封装资产和urn。客户端1301执行请求1323,以发起对应于在消息1321中接收的封装媒体访问令牌的媒体资产的流式传输。客户端1301执行其它请求并在消息1324中向接口1302提供状态更新。
[0140]
图14描绘了图10的摄取媒体格式和资产1002,摄取媒体格式和资产1002可选地由两个部分组成:3d格式的沉浸式媒体和资产1401以及2d格式的沉浸式媒体和资产1402。2d格式1402可以是单个视图已编码视频流,例如iso/iec 14496第10部分高级视频编码,或者可以是包含多个视图的已编码视频流(例如,对iso/iec 14496第10部分的多视图压缩修改)。
[0141]
图15描绘了神经网络模型信息连同已编码视频流的携带。在该图中,已编码视频流1501包括由一个或多个sei消息1501a直接携带的神经网络模型和对应的参数。而在已编码视频流1502中,一个或多个sei消息携带神经网络模型的标识符及其对应的参数。在针对1502的场景中,神经网络模型和参数存储在已编码视频流的外部,例如,存储在图10的1001a中。
[0142]
图16描绘了所摄取的沉浸式媒体和资产3d格式1601(最初描绘为图14中的项1401)下的神经网络模型信息的携带。媒体1601涉及被描绘为1602的场景1至n。每个场景1602涉及的是几何形状1603和处理参数1604。几何形状1603可包含对神经网络模型的引用
1603a。处理参数1604还可包含对神经网络模型的引用1604a。1603a和1604a均可涉及直接存储有场景的网络模型或者标识符,标识符指代位于所摄取的媒体外部的神经网络模型,例如,存储在图10的1001a中的网络模型。
[0143]
一些实施例可涉及集成的任何可能的技术细节级别下的系统、方法和/或计算机可读介质。计算机可读介质可包括计算机可读非暂时性存储介质(或介质),在计算机可读非暂时性存储介质(或介质)上具有使得处理器执行操作的计算机可读程序指令。
[0144]
计算机可读存储介质可以是可保持和存储由指令执行设备使用的指令的有形器件。计算机可读存储介质可以是例如,但不限于:电子存储器件、磁性存储器件、光学存储器件、电磁存储器件、半导体存储器件、或前述器件的任何合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下项:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码器件(例如其上记录有指令的穿孔卡或凹槽中的凸起结构)以及前述项的任何合适的组合。如本文所使用的,计算机可读存储介质不应解释为本身是瞬时信号,例如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,穿过光纤线缆的光脉冲)或通过导线传输的电信号。
[0145]
本文描述的计算机可读程序指令可通过网络(例如因特网,局域网,广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储器件。网络可包括铜传输线缆、传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令,以存储在相应的计算/处理设备内的计算机可读存储介质中。
[0146]
用于执行操作的计算机可读程序代码/指令可以是汇编指令、指令集架构(isa)指令、机器指令、依赖于机器的指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或者以一种或多种编程语言的任何组合编写的源代码或目标代码,此类编程语言包括面向对象的编程语言,例如smalltalk,c++等,以及包括过程编程语言,例如"c"编程语言或类似的编程语言。计算机可读程序指令可完全在用户计算机上运行,部分地在用户计算机上运行,作为独立软件包运行,部分地在用户计算机上且部分地在远程计算机上运行,或者完全在远程计算机或服务器上运行。在后一种场景中,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者可连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,例如包括可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可通过利用计算机可读程序指令的状态信息个性化定制电子电路,来运行计算机可读程序指令,以执行各方面或操作。
[0147]
这些计算机可读程序指令可提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生机器,使得通过计算机或其它可编程数据处理装置的处理器运行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在计算机可读存储介质中,计算机可读存储介质可引导计算机、可编程数据处理装置和/或其它设备以特定方式起作用,使得其中存储有指令的计算机可读存储介质包括一种制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功
能/动作的各方面的指令。
[0148]
计算机可读程序指令还可加载到计算机、其它可编程数据处理装置或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其它可编程装置或其它设备上运行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
[0149]
附图中的流程图和框图示出了根据各个实施例的系统、方法和计算机可读介质的可能实现方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可表示模块、段或一部分指令,这部分指令包括用于实现指定的逻辑功能的一个或多个可执行指令。方法、计算机系统和计算机可读介质可包括与图中所描绘的框相比更多的框、更少的框、不同的框或不同地布置的框。在一些替代实现方式中,框中所标注的功能可以不按图中所标注的顺序发生。例如,连续示出的两个框实际上可同时或基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图中的每个框以及框图和/或流程图中的框的组合可由基于硬件的专用系统实现,基于硬件的专用系统执行指定的功能或动作或者实现专用硬件和计算机指令的组合。
[0150]
将显而易见的是,本文描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不是对实现方式的限制。因此,在不参考特定软件代码的情况下,在本文中描述系统和/或方法的操作和行为—应理解,软件和硬件可设计成基于本文的描述来实现系统和/或方法。
[0151]
本文使用的元件、动作或指令不应解释为至关重要的或必不可少的,除非明确地如此描述。此外,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项,且可与“一个或多个”互换地使用。此外,如本文所使用的,术语“集合”旨在包括一个或多个项(例如相关项,不相关项,相关项和不相关项的组合等),且可与“一个或多个”互换地使用。在意图仅是一个项的情况下,使用术语“一个”或类似语言。此外,如本文所使用的,术语“有”、“具有”、“含有”等旨在是开放式术语。此外,短语“基于”的意思旨在是“至少部分地基于”,除非另有明确说明。
[0152]
已经出于说明的目的陈述了各个方面和实施例的描述,但是各个方面和实施例并不旨在穷举或限于所公开的实施例。虽然在权利要求中记载和/或在说明书中公开了特征的组合,但是这些组合并不旨在限制可能的实现方式的公开。实际上,这些特征中的许多特征可以以未在权利要求中具体记载和/或在说明书中公开的方式进行组合。虽然下面列出的每个从属权利要求可以仅直接从属于一个权利要求,但是可能的实现方式的公开包括每个从属权利要求与权利要求集中的每个其它权利要求的组合。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择本文使用的术语是为了最好地解释实施例的原理,对市场上找到的技术的实际应用或技术改进,或者使本领域的其它普通技术人员能够理解本文公开的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1