CN116235429A - 使用控制平面通道和数据平面通道双向呈现数据流 - Google Patents

使用控制平面通道和数据平面通道双向呈现数据流 Download PDF

Info

Publication number
CN116235429A
CN116235429A CN202280005936.6A CN202280005936A CN116235429A CN 116235429 A CN116235429 A CN 116235429A CN 202280005936 A CN202280005936 A CN 202280005936A CN 116235429 A CN116235429 A CN 116235429A
Authority
CN
China
Prior art keywords
media
client
client device
server device
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280005936.6A
Other languages
English (en)
Other versions
CN116235429A8 (zh
Inventor
阿芮亚娜·汉斯
史蒂芬·文格尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of CN116235429A publication Critical patent/CN116235429A/zh
Publication of CN116235429A8 publication Critical patent/CN116235429A8/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开内容的各方面提供了用于媒体处理的方法和设备。在一些示例中,设备包括处理电路系统。处理电路系统可以通过使用第一传输协议的控制平面通道与服务器装置交换多个控制消息。多个控制消息属于用于沉浸式媒体分发的双向协议的控制平面。处理电路系统通过使用第二传输协议的第一数据平面通道从服务器装置接收第一多个数据消息。第一多个数据消息属于双向协议的数据平面并且携带沉浸式媒体内容。处理电路系统呈现由第一多个数据消息携带的沉浸式媒体内容。

Description

使用控制平面通道和数据平面通道双向呈现数据流
参引并入
本申请要求于2022年6月28日提交的美国专利申请第17/851,838号“BIDIRECTIONAL PRESENTATION DATASTREAM USING CONTROL AND DATA PLANE CHANNELS”的优先权的权益,该申请要求于2021年6月30日提交的美国临时申请第63/217,049号“INTELLIGENT BIDIRECTIONAL PRESENTATION DATASTREAM USING CONTROL AND DATAPLANE CHANNELS”的优先权的权益。在先申请的公开内容通过引用整体并入本文中。
技术领域
本公开内容描述了总体上涉及媒体处理和分发的实施方式。
背景技术
本文中提供的背景技术描述用于总体上呈现本公开内容的上下文。就在该背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交时可能未被另外限定作为现有技术的描述的各方面既没有明确地也没有隐含地被承认为是针对本公开内容的现有技术。
沉浸式媒体通常是指刺激任何或所有人类感觉系统(视觉、听觉、体感、嗅觉、以及可能的味觉)以产生或增强用户在媒体的体验中物理存在的感知的媒体,例如超出针对时序的二维(two-dimension,2D)视频和相对应的音频在现有商业网络上分发的媒体,即所谓的“传统媒体”。沉浸式媒体和传统媒体二者都可以被表征为时序的或非时序的。
时序媒体是指根据时间构造和呈现的媒体。示例包括电影特写、新闻报道、情节内容,这些中的所有都是根据时间段组织的。传统的视频和音频通常被认为是时序媒体。
非时序媒体是不按时间构造的媒体;而是通过逻辑关系、空间关系和/或时间关系来构造的。示例包括视频游戏,在该视频游戏中用户具有对游戏装置创建的体验的控制。非时序媒体的另一示例是摄像装置拍摄的静止图像照片。非时序媒体可以例如在视频游戏的场景的连续循环的音频片段或视频片段中并入时序媒体。反之,时序媒体可以并入非时序媒体,例如以固定的静止图像为背景的视频。
具有沉浸式媒体能力的装置可以指配备有访问、解释和呈现沉浸式媒体的能力的装置。这样的媒体和装置在媒体的数量和格式以及大规模分发这样的媒体(即,在网络上实现与传统的视频和音频媒体等同的分发)所需的网络资源的数量和类型方面是异构的。相比之下,诸如膝上型计算机显示器、电视和移动手机显示器的传统装置在其能力上是同构的,因为所有这些装置都包括矩形显示屏,并且将2D矩形视频或静态图像作为其主要媒体格式。
发明内容
本公开内容的各方面提供了用于媒体处理的方法和设备。在一些示例中,设备包括处理电路系统。处理电路系统可以通过使用第一传输协议的控制平面通道与服务器装置交换多个控制消息。多个控制消息属于用于沉浸式媒体分发的双向协议的控制平面。处理电路系统通过使用第二传输协议的第一数据平面通道从服务器装置接收第一多个数据消息。第一多个数据消息属于双向协议的数据平面并且携带沉浸式媒体内容。处理电路系统呈现由第一多个数据消息携带的沉浸式媒体内容。
在一些示例中,第一传输协议是传输控制协议(transmission controlprotocol,TCP),并且第二传输协议是用户数据报协议(user datagram protocol,UDP)。
在一些示例中,第一传输协议是基于连接的传输协议,并且第二传输协议是无连接传输协议。
在一些实施方式中,处理电路系统根据通过控制平面通道交换的多个控制消息,与服务器装置建立第一数据平面通道。
在一些示例中,处理电路系统通过控制平面通道向服务器装置提供设备的一个或更多个特定特性。一个或更多个特定特性包括以下中的至少一个:设备的计算资源;设备的存储资源;设备处的网络服务提供商的服务级别协议;沉浸式应用要求;设备的类型;设备的型号;以及设备处的神经网络模型。
在一些示例中,处理电路系统通过使用第二传输协议的第二数据平面通道向服务器装置发送第二多个数据消息。第二多个数据消息携带以下中的至少一个:设备处的神经网络模型的层信息;以及由设备渲染的媒体内容。
在一些实施方式中,设备是第一客户端装置,并且多个控制消息使服务器装置能够与第二客户端装置共享沉浸式媒体内容。在示例中,处理电路系统响应于来自服务器装置的请求,经由控制平面通道提供可共享的资产类型的列表以及在不可变存储装置中缓存的资产的统一资源标识符(uniform resource identifiers,URI)。在另一示例中,处理电路系统响应于来自服务器装置的请求,经由控制平面通道提供第一客户端装置能够访问的每个资产的状态更新。在另一示例中,处理电路系统响应于来自服务器装置的请求,经由控制平面通道提供特定资产类型的当前状态以及特定服务器分配的标识符和特定资产统一资源标识符(uniform resource identifier,URI)中的一个。
本公开内容的各方面还提供了非暂态计算机可读介质,其存储指令,该指令在由计算机执行时使计算机执行用于媒体处理的方法。
附图说明
根据以下详细描述和附图,所公开的主题的另外的特征、性质和各种优点将更加明显,在附图中:
图1是示例中的时序媒体分发的端到端过程的图。
图2是示例中的用于时序媒体的流式传输的标准媒体格式的图。
图3是在一些示例中用于时序沉浸式媒体的表示和流式传输的数据模型的图。
图4是在一些示例中用于非时序沉浸式媒体的表示和流式传输的数据模型的图。
图5是在一些示例中捕获自然场景并将自然场景转换为可以用作服务于异构客户端端点的网络的摄取格式的表示的过程的图。
图6是在一些示例中使用三维(three dimensional,3D)建模工具和格式来创建合成场景的表示的过程的图,该合成场景可以被用作服务于异构客户端端点的网络的摄取格式。
图7是在一些示例中服务于多个异构客户端端点的网络的图。
图8是在一些示例中在网络为特定的沉浸式媒体客户端端点的消费而适配媒体的过程之前网络提供关于在媒体摄取格式中表示的特定媒体的适配信息的图。
图9是在一些示例中媒体适配过程的系统图,包括媒体渲染转换器,该媒体渲染转换器将源媒体从摄取格式转换为适合于特定客户端端点的特定格式。
图10是在一些示例中将适配的源媒体格式化为适合于表示和流式传输的数据模型的网络的图。
图11是在一些示例中将图11的数据模型分割成网络协议分组的有效载荷的媒体流式传输过程的系统图。
图12是在一些示例中将摄取格式的特定沉浸式媒体适配为特定沉浸式媒体客户端端点的可流式传输且合适的分发格式的网络的序列图。
图13是在一些示例中的摄取媒体格式的图。
图14示出了在一些示例中携带神经网络模型信息连同已编码视频流。
图15示出了在一些示例中携带神经网络模型信息连同输入的沉浸式媒体和资产。
16A至图16B示出了在一些示例中使用用于沉浸式媒体分发的双向协议从服务器侧发送至客户端侧的消息。
图16C示出了在一些示例中使用用于沉浸式媒体分发的双向协议从客户端侧发送至服务器侧的消息。
17A至图17G示出了在一些示例中从服务器侧发送至客户端侧的消息的定义。
图18示出了在一些示例中从客户端侧发送至服务器侧的消息的定义。
图19A至图19E示出了通过单独的控制平面通道和数据平面通道双向呈现数据流的图。
图20示出了在一些示例中媒体系统的图,该媒体系统使用双向协议通过单独的控制平面通道和数据平面通道进行沉浸式媒体的分发。
图21示出了概述根据本公开内容的一些实施方式的过程的流程图。
图22示出了概述根据本公开内容的一些实施方式的另一过程的流程图。
图23是根据实施方式的计算机系统的示意图。
具体实施方式
本公开内容的各方面提供了通过单独的控制平面通道和数据平面通道双向呈现数据流的技术。本公开内容描述了总体上涉及分发媒体的系统和网络的架构、结构和部件的实施方式,所述媒体包括视频、音频、几何(3D)对象、触觉、相关联的数据或者用于客户端呈现装置的其他内容。一些实施方式涉及用于将媒体内容分发给异构沉浸式和交互式客户端呈现装置的系统、结构和架构。
沉浸式媒体通常是指刺激任何或所有人类感觉系统(视觉、听觉、体感、嗅觉、以及可能的味觉)以产生或增强用户在媒体的体验中物理存在的感知的媒体,即超出针对时序的二维(two-dimension,2D)视频和相对应的音频在现有商业网络上分发的媒体,即所谓的“传统媒体”。沉浸式媒体和传统媒体二者都可以被表征为时序的或非时序的。
时序媒体是指根据时间构造和呈现的媒体。示例包括电影特写、新闻报道、情节内容,这些中的所有都是根据时间段组织的。传统的视频和音频通常被认为是时序媒体。
非时序媒体是不按时间构造的媒体;而是通过逻辑关系、空间关系和/或时间关系来构造的。示例包括视频游戏,在该视频游戏中用户具有对游戏装置创建的体验的控制。非时序媒体的另一示例是摄像装置拍摄的静止图像照片。非时序媒体可以例如在视频游戏的场景的连续循环的音频片段或视频片段中并入时序媒体。反之,时序媒体可以并入非时序媒体,例如以固定的静止图像为背景的视频。
具有沉浸式媒体能力的装置可以指配备有访问、解释和呈现沉浸式媒体的能力的装置。这样的媒体和装置在媒体的数量和格式以及大规模分发这样的媒体(即,在网络上实现与传统的视频和音频媒体等同的分发)所需的网络资源的数量和类型方面是异构的。相比之下,诸如膝上型计算机显示器、电视和移动手机显示器的传统装置在其能力上是同构的,因为所有这些装置都包括矩形显示屏,并且将2D矩形视频或静态图像作为其主要媒体格式。同样,传统装置所支持的音频格式的数量也被限制为相对小的集合。
任何媒体在网络上的分发可以采用媒体递送系统和架构,媒体递送系统和架构将媒体从输入格式或网络摄取格式重新格式化为最终的分发格式,其中该分发格式不仅适合于目标客户端装置及其应用,而且还有利于在网络上进行流式传输。媒体的流式传输广义上是指源媒体的碎片化和分组化,使得媒体可以在网络上以连续的较小尺寸的“块”递送,这些“块”根据媒体的时间或空间结构之一或两者进行逻辑组织和排序。在这样的分发架构和系统中,媒体可能会经过压缩或分层处理,因此仅最重要的媒体信息才会被首先递送给客户端。在某些情况下,在客户端能够向终端用户呈现任何相同的媒体部分之前,客户端会接收媒体的某些部分的所有重要的媒体信息。
将输入媒体重新格式化以匹配目标客户端端点的能力的处理可以采用神经网络处理,该神经网络处理采取网络模型,该网络模型可以封装被重新格式化的特定媒体的一些先验知识。例如,特定模型可以被调整为识别户外公园场景(有树木、植物、草地以及公园场景中常见的其他对象),而另一不同的特定模型可以被调整为识别室内晚餐场景(有餐桌、服务用具、坐在餐桌旁的人等)。在一些示例中,网络模型可以被调整为识别来自特定环境的对象,例如,公园场景对象,而配备有被调整为匹配特定场景内容的网络模型的神经网络处理可以比未调整的网络模型产生更好的视觉结果。因此,向负责将输入媒体重新格式化以匹配目标客户端端点的能力的神经网络处理提供特定于场景的网络模型是有益的。
使神经网络模型与用于二维(two dimensional,2D)媒体的特定场景相关联的机制可以通过例如以下方式来完成:压缩网络模型,并且借助于通常用于将元数据附加到例如H.264、H.265和H.266视频压缩格式的已编码视频流的补充增强信息(supplementalenhancement information,SEI)结构化字段将压缩网络模型直接插入用于视觉场景的2D已编码比特流中。在已编码视频比特流的一部分的上下文中,包含特定神经网络模型的SEI消息的存在可以用于指示该网络模型将被用于解释和适配比特流中嵌入了该模型的部分中的视频内容。在一些示例中,SEI消息可以用于通过网络模型的标识符来用信号通知在没有实际模型本身的情况下可以使用哪个(些)神经网络模型。
为沉浸式媒体关联适当的神经网络的机制可以通过沉浸式媒体本身参考要使用的适当的神经网络模型来完成。这种参考可以通过在逐个对象的基础上、或逐个场景的基础上或者通过其某种组合直接嵌入网络模型及其参数来完成。在一些示例中,媒体对象或场景可以通过标识符参考特定神经网络模型,而不是将一个或更多个神经网络模型嵌入媒体内。
在一些其他示例中,参考适当的神经网络以适配流式传输到客户端端点的媒体的机制是由特定的客户端端点本身向适配过程提供至少一个神经网络模型以及相应的参数来使用。这样的机制可以通过客户端在与适配过程的通信中提供神经网络模型的方式来实现,例如,当客户端将自身附接至网络时。
在将视频适配到目标客户端端点之后,网络内的适配过程可以选择对结果应用压缩算法。此外,在一些示例中,压缩算法可以将适配的视频信号分成与视觉信号的最重要部分到最不重要部分对应的层。
在一些示例中,压缩和分层过程(例如JPEG标准(ISO/IEC 10918第1部分)的渐进格式)可以将图像分成层,使整个图像首先呈现仅最初失焦的基本形状和颜色(即来自整个图像扫描的低阶DCT系数),然后是使图像进入焦点的附加细节层(即来自图像扫描的高阶DCT系数)。
如下过程被称为媒体的流式传输:将媒体分解成较小的部分,将它们组织到连续的网络协议分组的有效载荷部分中,并且分发这些协议分组,而如下过程被称为适配媒体:将媒体转换为适合于在操作各种异构应用之一的各种异构客户端端点之一上呈现的格式。
本公开内容中使用的一些术语的定义在以下段落中提供。
场景图:基于矢量的图形编辑应用和现代计算机游戏通常使用的通用数据结构,其排列图形场景的逻辑表示和通常(但不一定)的空间表示;图结构中的节点和顶点的集合。
节点:场景图的基本元素,包括与视觉、音频、触觉、嗅觉、味觉的逻辑表示或空间表示或时间表示相关的信息或者相关处理信息;每个节点应当具有至多一个输出边、零个或更多个输入边、以及连接至该节点的至少一个边(输入或输出)。
基本层:资产的标称表示,通常被制定成使渲染资产所需的计算资源或时间或者通过网络传输资产的时间最小化。
增强层:一组信息,当将该组信息应用于资产的基本层表示时,增强基本层以包括基本层中不支持的特征或能力。
属性:与节点相关联的元数据,用于以规范的或更复杂的形式(例如,根据另一节点)描述该节点的特定特性或特征。
容器:一种序列化格式,用于存储和交换信息以表示包括场景图和用于渲染场景所需的媒体资源中的所有媒体资源的全自然场景、全合成场景或合成场景和自然场景的混合。
序列化:将数据结构或对象状态转换成可以被存储(例如,存储在文件或存储缓冲器中)或被传输(例如,通过网络连接链路)并且随后被重建(可能在不同的计算机环境中)的格式的处理。在根据序列化格式重新读取所得到的比特序列时,该序列化格式可以用于创建原始对象的语义上相同的克隆。
渲染器:一种(通常基于软件的)应用或处理,其基于与下述相关的学科的选择性混合:声学物理、光物理、视觉感知、音频感知、数学和软件开发,在给定输入场景图和资产容器的情况下,该应用或处理发出典型的视觉信号和/或音频信号,该视觉信号和/或音频信号适合于在目标装置上呈现或者符合由场景图中的渲染目标节点的属性指定的期望属性。对于基于视觉的媒体资产,渲染器可以发出适合于目标显示器或适合于作为中间资产(例如,重新打包到另一容器中,即,在图形管线中的一系列渲染处理中使用)存储的视觉信号;对于基于音频的媒体资产,渲染器可以发出音频信号,以用于在多声道扬声器和/或双声道耳机(binauralized headphone)中呈现,或者用于重新打包到另一(输出)容器中。渲染器的流行示例包括:Unity、Unreal。
评估:产生使输出从抽象移动到具体结果的结果(例如,类似于对网页的文档对象模型的评估)。
脚本语言:解释性编程语言,其可以由渲染器在运行时执行,以处理动态输入和对场景图节点所做的可变状态改变,所述改变影响空间和时间对象拓扑(包括物理力、约束、IK、变形、碰撞)的渲染和评估,以及能量传播和传输(光、声音)。
着色器:一种类型的计算机程序,其最初用于着色(在图像内产生适当级别的光、暗度和颜色),但其现在在计算机图形特殊效果的各个领域中执行各种专门功能,或者进行与着色无关的视频后处理或甚至与图形完全无关的功能。
路径跟踪:一种渲染三维场景使得场景的照明忠于现实的计算机图形方法。
时序媒体:按时间排序的媒体;例如,具有根据特定时钟的开始时间和结束时间。
非时序媒体:按空间关系、逻辑关系或时间关系组织的媒体;例如,如在根据用户采取的动作实现的交互式体验中。
神经网络模型:定义权重(即,数值)的参数和张量(例如,矩阵)的集合,这些参数和张量在应用于视觉信号的定义良好的数学运算中使用,以得出改进的视觉输出,这可能包括对原始信号未明确提供的视觉信号的新视图的插值。
根据本公开内容的一些方面,可以将沉浸式媒体认为是一种或更多种类型的媒体,当由具有沉浸式媒体能力的装置呈现给人类时,所述媒体以更逼真且符合人类对自然世界内的体验的理解的方式,即刺激超出由传统装置呈现的传统媒体已经实现的方式,刺激视觉、声音、味觉、触觉和听觉这五种感觉中的任何感觉。在该上下文中,术语传统媒体是指二维(two-dimensional,2D)视觉媒体、静止图片帧或运动图片帧、和/或用户的交互能力限于暂停、播放、快进或倒带的相对应的音频;传统装置可以指其能力限于仅传统媒体的呈现的电视、膝上型计算机、显示器和移动装置。
在一些面向消费者的应用场景中,用于沉浸式媒体的呈现装置(即,具有沉浸式媒体能力的装置)是面向消费者的硬件装置,其特别配备有利用由沉浸式媒体体现的特定信息使得该装置可以创建更接近人类对物理世界的理解和与物理世界的交互的呈现的能力,即,超出传统装置这样做的能力。传统装置在其能力上受到限制,只能呈现传统媒体,而沉浸式媒体装置则没有同样的限制。
在过去的十年中,许多具有沉浸式媒体能力的装置已经被引入消费者市场,包括头戴式显示器、增强现实眼镜、手持控制器、触觉手套和游戏控制台。同样地,全息显示器和其他形式的立体显示器也将在接下来的十年内出现。尽管这些装置立即或临近可用,但是用于商业网络上的沉浸式媒体的分发的连贯的端到端生态系统由于若干原因而未能实现。
其中一个原因是缺乏用于沉浸式媒体的单一标准表示,该表示可以解决相对于当前在商业网络上大规模分发媒体的两个主要用例:1)实况事件的实时分发,即内容是在实时或接近实时的情况下被创建并被分发到客户端端点,以及2)非实时分发,即没有要求实时分发内容,即内容正在被物理捕获或创建。这两个用例分别可以与目前存在的广播和点播的分发格式进行比较。
对于实时分发,内容可以由一个或更多个摄像装置捕获,或者使用计算机生成技术创建。在一些示例中,由摄像装置捕获的内容在本文中被称为自然内容,而使用计算机生成技术创建的内容在本文中被称为合成内容。表示合成内容的媒体格式可以是3D建模、视觉效果和CAD/CAM行业使用的格式,并且可以包括对象格式和工具,如网格、纹理、点云、结构体、无定形体(例如,用于火、烟和雾)、着色器、程序生成的几何形状、材料、照明、虚拟摄像装置定义和动画。虽然合成内容是计算机生成的,但合成媒体格式可以用于自然内容和合成内容二者,然而,将自然内容转换为合成媒体格式(例如,转换为合成表示)的过程可能是时间和计算密集型过程,因此对于实时应用和用例来说可能不切实际。
对于自然内容的实时分发,摄像装置捕获的内容可以以光栅格式分发,这适合于传统的显示器装置,因为许多这样的装置同样被设计为显示光栅格式。也就是说,鉴于传统显示器被设计成同构地显示光栅格式,因此光栅格式的分发最佳地适合于只能够显示光栅格式的显示器。
然而,具有沉浸式媒体能力的显示器不一定限于基于光栅格式的显示器。此外,一些具有沉浸式媒体能力的显示器无法呈现仅以基于光栅格式可用的媒体。经过优化以基于光栅的格式以外的格式创建沉浸式体验的显示器的可用性是为什么还没有用于分发沉浸式媒体的连贯的端到端生态系统的另一重要原因。
为多个不同的沉浸式媒体装置创建连贯的分发系统的又一问题是,当前和新兴的具有沉浸式媒体能力的装置本身可以有很大的差异。例如,一些沉浸式媒体装置被明确设计为每次仅能由一个用户使用,例如,头戴式显示器。一些其他沉浸式媒体装置被设计成可以被多于一个的用户同时使用,例如,“望远镜工厂8K显示器”(此后称为“透镜光场显示器”)可以显示最多12个用户同时观看的内容,其中每个用户都在体验自己对正在显示的内容的独特视角(即视图)。
使连贯的分发系统的发展进一步复杂化的是,每个显示器能够产生的独特视图的数量可以有很大的不同。在大多数情况下,传统显示器只能创建内容的单个视图。而透镜光场显示器可以支持多个用户,每个用户都能体验同一视觉场景的独特视图。为了完成对同一场景的多个视图的创建,透镜光场显示器创建了特定的体积视锥,其中需要同一场景的45个独特视图作为显示器的输入。这意味着需要捕获同一场景的45个轻微不同的独特光栅表示,并且将其以特定于这一特定显示器(即其视锥)的格式分发给显示器。相比之下,无论同时体验显示器的观看者的数量如何,传统显示器的视锥限于单个二维平面,因此没有办法经由显示器的视锥呈现内容的多于一个的观看视角。
一般来说,沉浸式媒体显示器可以根据所有显示器的以下这些特征而有很大的不同:视锥的尺寸和体积、同时支持的观看者的数量、用于填充视锥的可以是基于点、基于射线或基于波的技术的光学技术、占据视锥的光单位(点、射线或波)的密度、计算功率的可用性和计算类型(CPU或GPU)、功率的来源和可用性(电池或电线)、本地存储装置或缓存的量以及对辅助资源例如基于云的计算和存储装置的访问。这些特性促成了沉浸式媒体显示器的异构性,与传统显示器的同构性相比,这使得能够支持所有这些显示器(包括传统类型和沉浸式类型的显示器)的单个分发系统的开发复杂化。
所公开的主题涉及开发基于网络的媒体分发系统,该系统可以支持传统显示器和沉浸式媒体显示器二者作为单个网络背景下的客户端端点。具体地,本文提出了如下机制,该机制将输入的沉浸式媒体源适配为适合于客户端端点装置的特定特性的格式,包括当前在该客户端端点装置上执行的应用。这种将输入的沉浸式媒体源适配的机制包括将输入的沉浸式媒体的特性与包括正在客户端装置上执行的应用的目标端点客户端装置的特性相协调,然后将输入的沉浸式媒体适配为适合于目标端点及其应用的格式。此外,适配过程可以包括:从输入媒体中插值附加视图,例如,新的视图,以创建客户端端点所需的附加视图。这种插值可以借助于神经网络处理来执行。
注意,在不丧失一般性的情况下,所公开主题的其余部分假设将输入的沉浸式媒体源适配为特定的端点客户端装置的过程与将同一输入的沉浸式媒体源适配为正在特定客户端端点装置上执行的特定应用的过程相同或相似。也就是说,将输入的媒体源适配为端点装置的特性的问题与将特定输入媒体源适配为特定应用的特性的问题具有相同的复杂性。
由传统媒体支持的传统装置已经获得了广泛的消费者采用,因为它们同样受到传统媒体内容提供商和商业网络服务提供商的生态系统的支持,传统媒体内容提供商产生传统媒体的基于标准的表示,商业网络服务提供商提供网络基础设施以将传统装置连接至标准传统内容的源。除了在网络上分发传统媒体的角色之外,商业网络服务提供商还可以促进传统客户端装置与对内容分发网络(content distribution network,CDN)上的传统内容的访问的配对。一旦与对合适形式的内容的访问配对,然后传统客户端装置就可以从内容服务器向装置请求或拉取传统内容,以便呈现给终端用户。尽管如此,网络服务器将适当的媒体推送给适当的客户端的架构也同样相关,而不会对整体架构和解决方案设计带来附加的复杂性。
根据本公开内容的某些方面,支持异构客户端的媒体分发网络可以利用这一事实:从输入媒体格式适配为特定目标格式的一些资产可以在一组相似的显示目标(客户端装置)中重复使用。例如,一些资产一旦转换为适合于目标显示器的格式,就可以在一些具有相似适配要求的此类显示器中重复使用。在一些示例中,媒体分发网络可以采用缓存机制,以将适配的资产存储到相对不可变的存储装置中。
根据本公开内容的一个方面,沉浸式媒体可以被组织成由场景图描述的“场景”,场景图也称为场景描述。场景图的范围是描述包括作为呈现的一部分的特定设置的视觉、音频和其他形式的沉浸式资产,例如,在作为呈现(例如,电影)的一部分的建筑物中的特定位置发生的演员和事件。包括单个呈现的所有场景的列表可以被制定为场景清单。
在一些示例中,对于在必须分发此类内容之前准备的内容,可以创建“材料清单”,该材料清单标识将用于整个呈现的所有资产,以及每个资产在呈现中的各个场景中使用的频率。可以实现媒体分发网络,以了解可以用于满足特定呈现的资产要求的缓存资源的存在。
本公开内容的一些方面可以提供可以在媒体分发网络(例如,媒体分发网络中将媒体分发网络与与客户端装置对接的服务器装置)与客户端装置之间使用的双向协议。在一些示例中,双向协议可以用于分发沉浸式媒体的媒体分发网络。双向协议可以支持各种不同的客户端装置,这些客户端装置需要各种格式的资产类型。在一些示例中,双向协议可以使先前被适配为由特定客户端装置使用的资产被重新使用。
需要注意的是,在本公开内容中,在不丧失一般性的情况下,将输入的沉浸式媒体源适配为特定端点客户端装置的过程与将同一输入的沉浸式媒体源适配为正在特定端点客户端装置上执行的特定应用的过程相同或相似。将输入媒体源适配为端点装置的特性的技术可以与将输入的媒体源适配为特定应用的特性的技术大致相同。
根据本公开内容的一方面,由传统媒体支持的传统装置已经获得了广泛的消费者采用,因为它们同样受到传统媒体内容提供商和商业网络服务提供商的生态系统的支持,传统媒体内容提供商产生传统媒体的基于标准的表示,商业网络服务提供商提供网络基础设施以将传统装置连接至标准传统内容的源。除了在网络上分发传统媒体的角色之外,商业网络服务提供商还可以促进传统客户端装置与对内容分发网络(content distributionnetwork,CDN)上的传统内容的访问的配对。一旦与对合适形式的内容的访问配对,然后传统客户端装置就可以从内容服务器向装置请求或“拉取”传统内容,以便呈现给终端用户。尽管如此,媒体分发网络可以利用如下架构:网络服务器将适当的媒体“推送”给适当的客户端。
本公开内容的一些方面提供了媒体分发网络,该媒体分发网络包括用于将媒体分发网络与客户端装置对接的接口装置(也称为服务器装置)。服务器装置可以采用双向通信协议(也称为双向协议)与客户端装置进行通信,并且可以促进媒体的适配性,以匹配源自客户端装置的独特性或者在客户端装置上运行的应用的要求。服务器装置也可以使用双向协议,以将新适配的或先前适配和缓存的资产流式传输到特定客户端装置。在一些示例中,服务器装置可以使用双向协议来支持客户端装置从服务器装置请求特定协助的能力,例如,在准备客户端装置呈现资产时协助渲染资产。
本文中参照根据各种实施方式的方法、设备(系统)和计算机可读介质的流程图和/或框图来描述各方面。将理解,可以通过计算机可读程序指令来实现流程图图示和/或框图中的每个块以及流程图图示和/或框图中的块的组合。
以下描述的示例性实施方式涉及用于分发媒体的系统和网络的架构、结构和部件,这些媒体包括视频、音频、几何(3D)对象、触觉、相关联的元数据或者用于客户端装置的其他内容。特定实施方式涉及用于向异构沉浸式和交互式客户端装置分发媒体内容的系统、结构和架构。
图1示出了时序传统媒体分发的端到端过程(100)的图。在图1中,时序视听内容由摄像装置或麦克风(101A)捕获,或者由计算机(101B)生成,创建输入至准备模块(103)的2D图像和相关音频的序列(102)。准备模块(103)的输出是被称为主格式(Master Format)的经编辑的内容(例如,用于包括语言翻译、字幕、其他编辑功能的后期制作),该主格式准备好被转换器模块(104)转换成标准夹层格式(Mezzanine Format)(例如,用于点播媒体)或作为标准贡献格式(contribution format)(例如,用于实况事件)。在示例中,媒体被商业网络服务提供商摄取(ingest),并且适配模块(105)将媒体打包成各种比特率、时间分辨率(帧速率)或空间分辨率(帧大小),这些比特率、时间分辨率(帧速率)或空间分辨率(帧大小)被打包成标准分发格式(distribution format)。由此产生的适配被存储到内容分发网络(content distribution network,CDN)(106)上,各个客户端(108A)-(108C)从该内容分发网络发出拉取请求(107A)-(107C),以获取媒体并且将其呈现给终端用户。重要的是要注意,主格式可以包括来自(101A)或(101B)的媒体的混合,并且格式(101A)可以实时获得,例如诸如从现场体育赛事获得的媒体。此外,客户端(108A)-(108C)负责选择最适合客户端的配置和/或当前网络条件的特定适配,但是同样可能的是,网络服务器(在图1中未示出)可以确定并且随后向客户端(108A)-(108C)推送适当的内容。
图2示出了在一些示例中用于分发传统时序媒体例如视频、音频以及支持元数据(包括时序文本,例如用于字幕)的标准媒体格式(200)的图。如图1中的CDN(106)所指出的,媒体以基于标准的分发格式存储在CDN上,如图2中的CDN(201A)-(201C)。基于标准的格式被示出为MPD(202),MPD(202)由多个部分组成,包含有对应于时钟的开始时间和结束时间的时间段,如时间段(203A)和时间段(203B)等。在示例中,每个时间段(例如,(203A)(203B))指的是一个或更多个适配集(204A)-(204F)。(204A)-(204F)中的每个适配集一般用于单个类型的媒体,例如视频、音频或时序文本。在一些示例中,对于任何给定的时间段(例如,(203A)),可以提供多个适配集(例如,(204A)-(204C)),例如,一个适配集用于视频,并且多个适配集用于音频,例如用于翻译成各种语言。(204A)-(204F)中的每个适配集指的是一个或更多个表示(205),这些表示提供关于帧分辨率(对于视频)、帧率和媒体的比特率的信息。多个表示(205)可以用于提供对用于例如对超高清晰度、高清晰度或标准清晰度视频的每个表示(205)的访问。每个表示(205)指的是一个或更多个分段文件(206),在分段文件中,媒体被实际存储以便由客户端获取(如图1中的(108A)-(108C)所示)或者由网络媒体服务器(在图1中未示出)(在基于推送的架构中)分发。
图3示出了用于在示例中是时序的异构沉浸式媒体的可流式传输格式(300)的表示;图4示出了用于在示例中是非时序的异构沉浸式媒体的可流式传输格式(400)的表示。在图3的情况下,图3指的是用于时序媒体的场景(301)。在图4的情况下,图4指的是用于非时序媒体的场景(401)。对于这两种情况,场景可以由各种场景表示或场景描述来体现。
例如,在一些沉浸式媒体设计中,场景可以由场景图体现,或者作为多平面图像(multi-plane image,MPI),或者作为多球形图像(multi-spherical image,MSI)。MPI和MSI这两种技术都是帮助创建自然内容的与显示无关的场景表示(即从一个或更多个摄像装置同时捕获的真实世界的图像)的技术的示例。另一方面,可以采用场景图技术以合成表示的形式表示自然图像和计算机生成的图像二者,然而,当内容由一个或更多个摄像装置捕获为自然场景时,这种情况下的这种表示的创建尤其需要密集型计算。也就是说,创建自然捕获的内容的场景图表示既需要时间又需要密集的计算,需要用摄影测量或深度学习技术或两者对自然图像进行复杂的分析,以创建合成表示,随后合成表示可以用于插值足够且充分多数目的视图,以填充目标沉浸式客户端显示器的视锥。因此,这种合成表示目前被视为表示自然内容的候选是不切实际的,因为考虑到需要实时分发的用例,它们实际上无法实时创建。在一些示例中,用于计算机生成的图像的最佳候选表示是采用具有合成模型的场景图,因为计算机生成的图像是使用3D建模过程和工具创建的。
自然内容和计算机生成的内容二者的最佳表示的这种二分法表明,自然捕获的内容的最佳摄取格式与计算机生成的内容或者对实时分发应用来说不是必不可少的自然内容的最佳摄取格式不同。因此,所公开的主题的目标足够强大以支持视觉沉浸式媒体的多种摄取格式,无论它们是自然创建还是计算机创建的。
以下是体现场景图作为适合表示视觉沉浸式媒体的格式的示例技术,该视觉沉浸式媒体是使用计算机生成的技术创建的,或者是自然捕获的内容,对于该内容,采用深度学习或摄影测量技术来创建自然场景的相应合成表示,即,对于实时分发应用来说并非必不可少。
1.OTOY的
Figure BDA0004110439990000151
OTOY的ORBX是几种场景图技术中的一种,其能够支持任何类型的时序或非时序的视觉媒体,包括光线可跟踪的、传统的(基于帧的)、体积的和其他类型的合成的或基于矢量的视觉格式。根据一个方面,ORBX与其他场景图不同,因为ORBX针对网格、点云和纹理的自由可用格式和/或开源格式提供本地支持(native support)。ORBX是已经被有意设计成目的在于促进在场景图上操作的多种厂商技术之间的交换的场景图。此外,ORBX提供了丰富的材料系统、对开放式着色器语言(open shader language)的支持、稳健的摄像装置系统以及对Lua脚本的支持。ORBX也是由沉浸式数字体验联盟(immersive digitalexperiences alliance,IDEA)针对免版税条款下的许可发布的沉浸式技术媒体格式的基础。在媒体的实时分发的背景下,创建和分发自然场景的ORBX表示的能力是如下功能,即是否有计算资源来执行对摄像装置捕获的数据的复杂分析,并且将相同的数据合成为合成表示。到目前为止,为实时分发提供足够的计算资源并不实际,但也不是不可能。
2.Pixar的通用场景描述
Pixar的通用场景描述(universal scene description,USD)是可以用于视觉效果(visual effect,VFX)和专业内容制作社区的另一种场景图。USD被集成至Nvidia的Omniverse平台中,Omniverse平台是供开发人员利用Nvidia的GPU进行3D模型创建和渲染的一组工具。USD的子集被Apple和Pixar发布为USDZ。USDZ由Apple的ARKit支持。
3.Khronos的glTF2.0
glTF2.0是由Khronos 3D Group编写的图形语言传输格式(graphics languagetransmission format)规范的最新版本。该格式支持一般能够支持场景中的静态(非时序)对象的简单的场景图格式,包括“png”和“jpeg”图像格式。glTF2.0支持简单的动画,包括支持使用glTF原语描述的基本形状即几何对象的平移、旋转和缩放。glTF2.0不支持时序媒体,因此不支持视频或音频。
需要注意的是,上述沉浸式视觉媒体的场景表示仅作为示例提供,并且不限制所公开的主题在指定将输入的沉浸式媒体源适配为适合客户端端点装置的特定特性的格式的过程的能力。
此外,任何或所有上述示例媒体表示目前采用或可能采用深度学习技术来训练和创建神经网络模型,该神经网络模型能够或有助于选择特定视图,以基于特定显示器的视锥的特定尺寸填充该视锥。为特定显示器的视锥选择的视图可以从场景表示中明确提供的现有视图进行插值,例如根据MSI或MPI技术插值,或者这些视图可以基于特定虚拟摄像装置位置、过滤器或对这些渲染引擎的虚拟摄像装置的描述从渲染引擎直接渲染。
因此,所公开的主题足够强大,可以考虑存在相对小但众所周知的一组沉浸式媒体摄取格式,该格式足以满足实时或“按需”(例如,非实时)两种分发媒体的要求,该媒体是自然捕获的(例如,用一个或更多个摄像装置)或者使用计算机生成的技术创建的。
随着先进的网络技术(如用于移动网络的5G和用于固定网络的光缆)的部署,进一步有助于通过使用神经网络模型或者基于网络的渲染引擎对来自沉浸式媒体摄取格式的视图进行插值。也就是说,这些先进的网络技术提高了商业网络的容量和能力,因为这些先进的网络基础设施可以支持越来越大量的视觉信息的传输和递送。网络基础设施管理技术诸如多接入边缘计算(multi-access edge computing,MEC)、软件定义网络(softwaredefined networks,SDN)和网络功能虚拟化(network functions virtualization,NFV)使得商业网络服务提供商能够灵活地配置其网络基础设施,以适配对某些网络资源的需求方面的变化,例如,响应于对网络吞吐量、网络速度、往返延迟和计算资源的需求的动态增加或减少。此外,这种适配动态网络需求的固有能力同样促进了网络将沉浸式媒体摄取格式适配为合适的分发格式的能力,以支持具有用于异构客户端端点的潜在的异构视觉媒体格式的各种沉浸式媒体应用。
沉浸式媒体应用本身还可以对网络资源有不同的要求,所述沉浸式媒体应用包括:需要显著较低的网络延迟来响应游戏的状态中的实时更新的游戏应用、对于网络的上行链路部分和下行链路部分都具有对称吞吐量要求的远程呈现应用、以及可能根据正在消耗数据的客户端端点显示器的类型增加了对于下行链路资源的需求的被动观看应用。一般来说,任何面向消费者的应用可以由各种客户端端点支持,这些客户端端点具有用于存储、计算和供电的各种板载客户端能力,并且同样对于特定媒体表示的各种要求。
因此,所公开的主题使充分装备的网络(即采用现代网络的一些或全部特性的网络)能够根据以下特征中指定的特征,同时支持多个传统装置和具有沉浸式媒体能力的装置:
1.提供灵活性,以利用对媒体的分发的实时用例和按需用例二者都实用的媒体摄取格式。
2.提供灵活性,以支持用于传统媒体和具有沉浸式媒体的能力二者的客户端端点的自然内容和计算机生成的内容二者。
3.支持时序和非时序媒体二者。
4.提供过程,用于基于客户端端点的特征和能力以及基于应用的要求,动态地将源媒体摄取格式适配为合适的分发格式。
5.确保分发格式在基于IP的网络上是可流式传输的。
6.使网络能够同时服务于多个异构客户端端点,这些客户端端点可以包括传统装置和具有沉浸式媒体能力的装置两者。
7.提供示例性媒体表示框架,该框架有利于沿着场景边界组织分发媒体。
根据图3至图15的详细描述所述的处理和部件,实现由所公开的主题实现的改进的端到端实施方式。
图3和图4分别采用可以从摄取源格式适配为与特定客户端端点的能力相匹配的示例性包含性分发格式。如上所述,图3中所示的媒体是时序的,图4中所示的媒体是非时序的。特定包含格式在其结构中足够强大,可以容纳大量的媒体属性,每个属性都可以基于每层对媒体呈现的贡献的重要信息的量来分层。应注意的是,分层过程可以应用于例如渐进式JPEG和可扩展视频架构(例如,在ISO/IEC 14496-10可扩展高级视频编码中规定)。
根据一个方面,根据包含的媒体格式进行流式传输的媒体不限于传统视觉和音频媒体,而是可以包括能够产生与机器交互以刺激人类的视觉、听觉、味觉、触觉和嗅觉的信号的任何类型的媒体信息。
根据一个方面,根据包含的媒体格式进行流式传输的媒体可以是时序媒体或非时序媒体两者,或者是两者的混合。
根据另一方面,此外,通过使用基本层和增强层架构来实现针对媒体对象的分层表示,包含的媒体格式是可流式传输的。在一个示例中,通过针对每个场景中的媒体对象应用多分辨率技术或多细分分析技术来计算分离的基本层和增强层。这类似于ISO/IEC10918-1(JPEG)和ISO/IEC15444-1(JPEG2000)中指定的渐进渲染的图像格式,但不限于基于栅格的视觉格式。在示例中,几何对象的渐进表示可以是使用小波分析计算的对象的多分辨率表示。
在媒体格式的分层表示的另一示例中,增强层将不同的属性应用于基本层,例如细化由基本层表示的视觉对象的表面的材料性质。在又一示例中,属性可以细化基本层对象的表面的纹理,例如将表面从光滑纹理改变为多孔纹理,或者从无光泽表面改变为有光泽表面。
在分层表示的又一示例中,场景中的一个或更多个视觉对象的表面可以从朗伯(Lambertian)改变为光线可跟踪。
在分层表示的又一示例中,网络将向客户端分发基本层表示,使得客户端可以创建场景的标称呈现(nominal presentation),同时客户端等待附加增强层的传输以细化基本表示的分辨率或其他特性。
根据另一方面,增强层中的属性或细化信息的分辨率与基本层中的对象的分辨率没有明确耦接,就像如今现有MPEG视频标准和JPEG图像标准中那样。
根据另一方面,包含的媒体格式支持可以由呈现装置或机器呈现或驱动的任何类型的信息媒体,从而实现异构媒体格式对异构客户端端点的支持。在分发媒体格式的网络的一个实施方式中,网络将首先查询客户端端点以确定客户端的能力,并且如果客户端不能有意义地摄取媒体表示,则网络将移除不被客户端支持的属性的层,或者将媒体从其当前格式适配成适合于客户端端点的格式。在这种适配的一个示例中,网络将通过使用基于网络的媒体处理协议来将体积视觉媒体资产(asset)转换成相同视觉资产的2D表示。在这种适配的另一示例中,网络可以采用神经网络处理,以将媒体重新格式化为适当的格式,或者可选地合成客户端端点所需要的视图。
根据另一方面,针对完整的或部分完整的沉浸式体验(直播流事件、游戏或点播资产的回放)的清单由场景组织,该清单是渲染和游戏引擎当前可以摄取以便创建呈现的最少量的信息。清单包括针对由客户端请求的整个沉浸式体验要渲染的各个场景的列表。与每个场景相关联的是与场景几何形状的可流式传输版本相对应的场景内的几何对象的一个或更多个表示。场景表示的一个实施方式是指该场景的几何对象的低分辨率版本。相同场景的另一实施方式是指用于向相同场景的几何对象添加附加细节或增加细分的场景的低分辨率表示的增强层。如上所述,每个场景可以具有多于一个增强层来以渐进方式增加场景的几何对象的细节。
根据另一方面,在场景内引用的媒体对象的每个层与令牌(例如,URI)相关联,该令牌指向在网络内可以访问资源的地址。这些资源类似于其中内容可以由客户端获取的CDN的资源。
根据另一方面,用于几何对象的表示的令牌可以指向网络内的位置或指向客户端内的位置。即,客户端可以向网络发信号通知其资源可用于网络以进行基于网络的媒体处理。
图3描述了在一些示例中包含用于时序媒体的媒体格式的实施方式。在一些实施方式中,时序场景清单包括场景(也称为场景信息)(301)。场景(301)是指部件(302)的列表,所述部件(302)分别描述包括场景(301)的媒体资产的处理信息和类型。部件(302)指的是资产(303),资产(303)进一步涉及基本层(304)和属性增强层(305)。
图4描述了在一些示例中包含用于非时序媒体的媒体格式的实施方式。非时序场景清单包括场景(401)。场景(也称为场景信息)(401)不与根据时钟的开始时间和结束时间相关联。场景(401)涉及部件(402)的列表,所述部件(402)分别描述包括场景(401)的媒体资产的处理信息和类型。部件(402)指的是资产(403)(例如,视觉、音频和触觉资产),它们进一步指的是基本层(404)和属性增强层(405)。此外,场景(401)指的是其他场景(411),这些场景是非时序媒体。在一些示例中,场景(401)也可以指时序媒体场景(407)。
图5示出了从自然内容合成摄取格式的过程(500)的图。过程(500)包括用于内容捕获的第一子过程和用于自然图像的摄取格式合成的第二子过程。
在图5的示例中,在第一子过程中,摄像装置单元可以用于捕获自然图像内容(509)。例如,摄像装置单元(501)可以使用单个摄像装置镜头来捕获人的场景。摄像装置单元(502)可以通过在环形对象周围安装五个摄像装置镜头来捕获具有五个不同视场的场景。(502)中的布置是用于捕获VR应用的全向内容的示例性布置。摄像装置单元(503)通过在球体的内径部分上安装七个摄像装置镜头来捕获具有七个会聚视场的场景。(503)中的布置是用于为光场或全息沉浸式显示器捕获光场的示例性布置。
在图5的示例中,在第二子过程中,自然图像内容(509)被合成。例如,自然图像内容(509)作为输入被提供给合成模块(504),合成模块(504)在示例中可以采用神经网络训练模块(505),使用训练图像(506)的集合来产生捕获神经网络模型(508)。另一个通常用来代替训练过程的过程是摄影测量。如果模型(508)是在图5中描绘的过程(500)期间创建的,则模型(508)成为自然内容的摄取格式(507)的资产之一。摄取格式(507)的示例性实施方式包括MPI和MSI。
图6示出了创建合成媒体的摄取格式(608)例如计算机生成的图像的过程(600)的图。在图6的示例中,LIDAR摄像装置(601)捕获场景的点云(602)。在计算机(603)上采用计算机生成图像(Computer-generated imagery,CGI)工具、3D建模工具或创建合成内容的另一种动画过程,以通过网络创建(604)CGI资产。将具有传感器(605A)的运动捕获服穿在演员(605)身上,以捕获演员(605)的运动的数字记录,以产生动画运动捕获(MoCap)数据(606)。数据(602)、(604)和(606)作为输入被提供给合成模块(607),模块(607)同样可以例如使用神经网络和训练数据来创建神经网络模型(在图6中未示出)。
图7示出了在一些示例中的网络媒体分发系统(700),该系统支持各种传统显示器和具有异构沉浸式媒体能力的显示器作为客户端端点。在图7的示例中,内容获取模块(701)使用图6或图5中的示例实施方式捕获或创建媒体。在内容准备模块(702)中创建摄取格式,然后使用传输模块(703)传输到网络媒体分发系统中的一个或更多个客户端端点。网关(704)可以服务于用户驻地设备,以为网络的各种客户端端点提供网络接入。机顶盒(705)也可以用作用户驻地设备,以由网络服务提供商提供对聚合内容的访问。无线电解调器(706)可以用作移动装置的移动网络接入点(例如,与移动手机和显示器(713)一样)。在一个或更多个实施方式中,传统2D电视(707)可以直接连接至网关(704)、机顶盒(705)或WiFi路由器(708)。具有传统2D显示器(709)的膝上型计算机可以是连接至WiFi路由器(708)的客户端端点。头戴式2D(基于光栅的)显示器(710)也可以连接至路由器(708)。透镜光场显示器(711)可以连接至网关(704)。该显示器(711)可以包括本地计算GPU(711A)、存储装置(711B)和视觉呈现单元(711C),该视觉呈现单元(711C)使用基于光线的透镜光学技术创建多个视图。全息显示器(712)可以连接至机顶盒(705),并且可以包括本地计算CPU(712A)、GPU(712B)、存储装置(712C)和Fresnal模式、基于波的全息视觉单元(712D)。增强现实耳机(714)可以连接至无线电解调器(706),并且可以包括GPU(714A)、存储装置(714B)、电池(714C)和体积视觉呈现部件(714D)。密集光场显示器(715)可以连接至WiFi路由器(708),并且可以包括多个GPU(715A)、CPU(715B)和存储装置(715C);眼睛跟踪装置(715D);摄像装置(715E);以及基于密集射线的光场面板(715F)。
图8示出了沉浸式媒体分发模块(800)的图,该沉浸式媒体分发模块(800)能够服务于先前在图7中描述的传统显示器和异构沉浸式媒体能力显示器。内容在模块(801)中被创建或获取,该内容在图5和图6中分别体现为自然内容和CGI内容。然后使用创建网络摄取格式模块(802)将内容转换成摄取格式。模块(802)的一些示例分别体现在图5和图6中的自然内容和CGI内容。摄取媒体格式被传输到网络并且存储在存储装置(803)上。在一些其他示例中,存储装置可以驻留在沉浸式媒体内容生产者的网络中,并且由沉浸式媒体网络分发模块(800)远程访问,如由一分为二的虚线所描绘的。在一些示例中,客户端和应用特定信息在远程存储装置(804)上可用,在示例中,客户端和应用特定信息可以可选择地远程存在另一个云网络中。
如图8所描绘的,客户端接口模块(805)(例如,参考一些示例中的服务器装置)用作执行分发网络的主要任务的主要信息源和信息汇。在该特定实施方式中,客户端接口模块(805)可以与网络的其他部件以统一的格式实施。尽管如此,在一些示例中,图8中由客户端接口模块(805)描绘的任务形成了所公开的主题的要素。客户端接口模块(805)可以进一步采用双向协议与客户端装置进行通信,以促进根据客户端装置的特性对媒体的所有处理和分发。此外,该双向协议可以在不同的递送通道即控制平面通道和数据平面通道上实现。
根据本公开内容的一些方面,客户端接口模块(805)可以进一步采用用于与客户端装置通信的双向协议,以促进根据客户端装置的特性处理和分发媒体(例如,沉浸式媒体)。
客户端接口模块(805)接收关于客户端装置(例如图8中的客户端(808)(也称为客户端装置(808))的特征和属性的信息,并且进一步收集关于当前在客户端(808)上运行的应用的要求。该信息可以从装置(804)获得,或者在另一实施方式中,可以通过直接查询客户端(808)获得。在一些示例中,使用双向协议来实现客户端接口模块(805)与客户端(808)之间的直接通信。例如,客户端接口模块(805)可以向客户端(808)发送直接查询。参照图16A至图16C、图17A至图17G和图18提供了双向协议中的消息的示例。
客户端接口模块(805)还启动媒体适配和碎片化模块(810)并且与媒体适配和碎片化模块(810)进行通信,该媒体适配和碎片化模块(810)将在图9中描述。随着摄取媒体被模块(810)适配和碎片化,在一些示例中,媒体被转移到被描述为准备用于分发存储装置(809)的媒体的中间存储装置。由于分发媒体被准备并且存储在装置(809)中,客户端接口模块(805)确保沉浸式客户端(808)经由其网络接口(808B)或者通过推送请求接收分发媒体和相应的描述性信息(806),或者客户端(808)本身可以从存储装置(809)发起对媒体(806)的拉取请求。沉浸式客户端(808)在一些示例中可以采用GPU(或未示出的CPU)(808C)。媒体的分发格式存储在客户端(808)的存储装置或存储缓存(808D)中。最后,沉浸式客户端(808)经由其可视化部件(808A)直观地呈现媒体。
在将沉浸式媒体流式传输到沉浸式客户端(808)的整个过程中,客户端接口模块(805)可以经由客户端进度和状态反馈通道(807)监测客户端的进度状态。
图9描述了在一些示例中的媒体适配过程的图,该过程使得摄取的源媒体可以被适当地适配以与沉浸式客户端(808)的要求相匹配。媒体适配模块(901)包括多个部件,这些部件有助于将摄取的媒体适配成适合沉浸式客户端(808)的分发格式。在图9中,媒体适配模块(901)接收输入的网络状态(905)以跟踪网络上的当前流量负荷。沉浸式客户端(808)的信息可以包括属性和特征描述、应用特征和描述以及应用的当前状态,以及客户端神经网络模型(如果可用),以帮助将客户端的视锥的几何形状映射到摄取沉浸式媒体的插值能力。媒体适配模块(901)确保在适配的输出在其被创建时被存储到客户端适配的媒体存储装置(906)中。
在一些示例中,媒体适配模块(901)采用渲染器(901B)或神经网络处理器(901C)将特定摄取源媒体适配为适合于客户端的格式。在示例中,媒体适配模块(901)从客户端接口模块(903)(例如示例中的服务器装置)接收客户端信息(904)。客户端信息(904)可以包括客户端描述和当前状态,可以包括应用描述和当前状态,并且可以包括客户端神经网络模型。神经网络处理器(901C)使用神经网络模型(901A)。这种神经网络处理器(901C)的示例包括MPI和MSI中描述的深景神经网络模型发生器。在一些示例中,媒体是2D格式,但客户端需要3D格式,那么神经网络处理器(901C)可以调用过程,以使用来自2D视频信号的高度相关的图像来导出视频中描绘的场景的体积表示。这种过程的示例可以是加州大学伯克利分校开发的来自一个或若干个图像的神经辐射场场。合适的渲染器(901B)的示例可以是OTOY Octane渲染器的修改版(未示出),其将被修改为与媒体适配模块(901)直接互动。在一些示例中,媒体适配模块(901)可以采用媒体压缩器(901D)和媒体解压器(901E),这取决于在摄取媒体的格式和沉浸式客户端(808)所要求的格式方面对这些工具的需要。
图10示出了在一些示例中最终转换现在驻留在客户端适配媒体存储装置(1002)上的来自媒体适配模块(1001)(例如,对应于图9的媒体适配模块(901))的适配媒体的适配媒体打包过程。例如,媒体打包模块(1003)将来自媒体适配模块(1001)的适配媒体格式化为强大的分发格式(1004),例如,图3或图4所示的示例性格式。清单信息(1004A)向沉浸式客户端(808)提供客户端(808)可以期望接收的场景数据的列表,并且还提供视觉资产和相应的元数据以及音频资产和相应的元数据的列表。
图11示出了一些示例中的碎片化过程。在图11的示例中,打包器(1102)将各种适配的媒体(1101)碎片化为适合流式传输到沉浸式客户端(808)的各个分组(1103),该沉浸式客户端(808)在网络上被示出为客户端端点(1104)。
图12示出了在一些示例中网络将摄取格式的特定沉浸式媒体适配为特定沉浸式媒体客户端端点的可流式传输和合适的分发格式的序列图。
图12中所示的部件和通信说明如下:客户端(1201)(在一些示例中也称为客户端端点)向网络分发接口(1202)发起媒体请求(1208)。媒体请求(1208)包括识别由客户端(1201)请求的媒体的信息,可以是URN或其他标准命名法。网络分发接口(1202)以配置文件请求(1209)响应媒体请求(1208),该请求要求客户端(1201)提供关于其当前可用资源的信息(包括计算、存储、电池充电百分比以及表征客户端当前操作状态的其他信息)。配置文件请求(1209)还要求客户端提供一个或更多个神经网络模型,这些模型可以被网络用于神经网络推理,以提取或插值正确的媒体视图,以匹配客户端的呈现系统的特征,如果这种模型在客户端处可用的话。从客户端(1201)到网络分发接口(1202)的响应(1210)提供了客户端令牌、应用令牌以及一个或更多个神经网络模型令牌(如果这种神经网络模型令牌在客户端可用)。然后,网络分发接口(1202)向客户端(1201)提供会话ID令牌(1211)。然后,网络分发接口(1202)用摄取媒体请求(1212)请求摄取媒体服务器(1203),该摄取媒体请求(1212)包括请求(1208)中识别的媒体的URN或标准命名法名称。摄取媒体服务器(1203)用响应(1213)回复请求(1212),响应(1213)包括摄取媒体令牌。然后,网络分发接口(1202)在调用(1214)中向客户端(1201)提供来自响应(1213)的媒体令牌。然后,网络分发接口(1202)通过向适配接口(1204)提供摄取媒体令牌、客户端令牌、应用令牌和神经网络模型令牌(1215)来启动媒体请求(1208)的适配过程。适配接口(1204)通过在调用(1216)时向摄取媒体服务器(1203)提供摄取媒体令牌来请求访问摄取媒体,以请求访问摄取媒体资产。摄取媒体服务器(1203)用摄取媒体访问令牌响应(1217)响应对适配接口(1204)的请求(1216)。然后,适配接口(1204)请求媒体适配模块(1205)为与在(1213)处创建的会话ID令牌对应的客户端、应用和神经网络推理模型适配位于摄取媒体访问令牌上的摄取媒体。从适配接口(1204)到媒体适配模块(1205)的请求(1218)包含所需的令牌和会话ID。媒体适配模块(1205)在更新(1219)时向网络分发接口(1202)提供适配的媒体访问令牌和会话ID。网络分发接口(1202)在接口调用(1220)中向打包模块(1206)提供适配的媒体访问令牌和会话ID。打包模块(1206)用在响应消息(1221)时打包的媒体访问令牌和会话ID向网络分发接口(1302)提供响应(1221)。打包模块(1206)在响应(1222)中向打包媒体服务器(1207)提供打包的资产、URN和会话ID的打包媒体访问令牌。客户端(1201)执行请求(1223)以启动与在响应消息(1221)中接收到的打包媒体访问令牌对应的媒体资产的流式传输。客户端(1201)执行其他请求并且在消息(1224)中向网络分发接口(1202)提供状态更新。
图13描绘了图9的摄取媒体格式和资产(902),在一些示例中,摄取媒体格式和资产(902)由两部分组成:3D格式(1301)和2D格式(1302)的沉浸式媒体和资产。2D格式(1302)可以是单视图已编码视频流,例如ISO/IEC 14496第10部分高级视频编码,或者可以是包含多视图的已编码视频流,例如ISO/IEC 14496第10部分的多视图压缩修正。
图14描绘了神经网络模型信息连同已编码视频流的携带。在图14中,已编码视频流(1401)包括由一个或更多个SEI消息(1401A)和已编码视频流(1401B)直接携带的神经网络模型和相应参数。而在已编码视频流(1402)中,一个或更多个SEI消息携带神经网络模型的标识符及其相应参数(1402A)以及已编码视频比特流(1402B)。在(1402)的场景中,神经网络模型和参数被存储在已编码视频流之外,例如,存储在图9的(901A)中。
图15描绘了在摄取的沉浸式媒体和资产3D格式(1501)(对应于图13中3D格式(1301)的沉浸式媒体和资产)中神经网络模型信息的携带。摄取的沉浸式媒体和资产3D格式(1501)指的是如(1502)描绘的场景1至N。每个场景(1502)指的是几何形状(1503)和处理参数(1504)。几何形状(1503)可以包含对神经网络模型的参考(1503A)。处理参数(1504)也可以包含对神经网络模型的参考(1504A)。(1504A)和(1503A)二者都可以参考直接与场景一起存储的网络模型或者参考驻留在摄取媒体之外的神经网络模型(例如,存储在图9的(901A)中的网络模型)的标识符。
应注意的是,本公开内容中的各种模块可以是单独的装置,或者可以是装置中的部件。在一些示例中,模块可以是单独的装置,并且可以与其他装置耦接。在一些示例中,模块可以是处理电路系统,并且可以与其他处理电路系统互连。在一些示例中,模块可以是软件指令模块,并且可以由一个或更多个处理器执行。
本公开内容的一些方面提供了具有双向消息的双向协议,该双向协议允许媒体分发网络的客户端接口(即,也称为服务器装置)直接与客户端呈现端点(即,也称为客户端装置)通信。在一些示例中,双向协议可以在传输层之上的网络层中实现。在一些示例中,使用双向协议,服务器装置可以获得关于客户端特定特性和支持的客户端装置的特征的信息。在一些示例中,使用双向协议,服务器装置可以通过建立独特会话和操作上下文来管理向客户端装置分发媒体,以向客户端装置适配和分发媒体。在一些示例中,使用双向协议,服务器装置可以在会话期间,当或如果客户端装置需要依靠网络来补充例如用于计算或存储的客户端装置的资源时,在呈现特定媒体时,响应情况。在一些示例中,双向协议可以在输入媒体的适配过程中协助服务器装置以匹配客户端装置的能力。在一些示例中,当或如果内容创建者(例如,工作室或客户端装置)允许这样的重用时,双向协议可以使得能够有效地重用特定媒体资产以便在多个客户端装置上呈现。在一些示例中,使用双向协议,服务器装置可以根据网络运营商(也称为无线服务提供商、无线运营商、移动网络运营商)与客户端装置之间的现有服务级别协议,促进客户端装置近实时地呈现媒体。在一些示例中,使用双向协议,服务器装置可以根据应用(例如,互动游戏与线性被动观看体验)的要求促进客户端装置近实时地呈现媒体。
根据本公开内容的一方面,双向协议用于形成服务器装置与客户端装置直接通信的双向呈现数据流。双向呈现数据流包括在服务器装置与客户端装置之间交换的一系列消息,以促进及时将输入媒体适配为客户端装置的合适的分发格式,并且将适配的媒体流式传输到客户端装置以进行呈现。
双向协议可以用于构建媒体分发网络,该媒体分发网络可以支持需要各种格式的资产类型的各种不同的客户端装置,并且可以重用先前已被适配为由特定客户端使用的资产。
图16A至图16C提供了在一些示例中可以在服务器装置(例如,在图8中示出为客户端接口模块(805))与客户端装置(例如,在图8中示出为沉浸式客户端(808))之间交换的消息列表。在一些示例中,消息列表可以包括源自服务器装置并且发送至客户端装置的消息和信息(806),并且可以包括源自客户端装置并且发送至服务器装置的反馈和状态(807)。
图16A至图16B示出了从服务器装置发送至客户端装置的第一组消息(编号为1至20的消息);并且图16C示出了根据一些实施方式从客户端装置发送至服务器装置的第二组消息(编号为21至31的消息)。
图17A至图17G示出了在一些示例中第一组消息的语义信息表。图18示出了在一些示例中第二组消息的语义信息表。
应注意的是,图16A至图16C、图17A至图17G和图18中的消息是用于说明的。双向协议中的消息可以被修改和/或省略。可以添加附加的消息。
在一些实现方式中,媒体分发网络可以使用由双向协议定义的消息来促进媒体例如沉浸式媒体内容的适配和流式传输。在一些示例中,双向协议可以包括用信号通知执行行动的特定消息。例如,特定消息可以使客户端装置将其处理特性发送至服务器装置,使得在接收到客户端装置的处理特性时,服务器装置配备有足够的信息,以有意义地将摄取的媒体适配为适合客户端装置的格式。在另一示例中,消息可以在服务器装置与客户端装置之间交换,以允许服务器装置发送客户端装置的终端用户希望体验的用于呈现的场景清单。例如,在接收到这样的清单时,客户端装置可以开始必要的步骤来准备创建呈现,包括请求第一场景、第二场景等的每个资产。反过来,服务器装置可以通过从媒体源直接向客户端发送资产或者通过通知客户端从附近的数据库获取资产来响应对资产的每个请求。响应于消息请求,客户端装置或服务器装置可以用确认来指示消息中的请求被成功执行或者用否定确认来指示发生错误来进行响应。
本公开内容的一些方面提供了促进双向协议的实现的技术。例如,双向协议中的消息分成两类:控制消息和数据消息。在一些示例中,数据消息包括用于递送的媒体数据,而控制消息包括用于递送数据消息的控制信息。例如,控制消息可以包括准备递送数据消息的建立信息、递送数据消息期间的处理信息、递送数据消息后的检查信息等。
进一步地,使用单独的通信技术来递送控制消息和数据消息。例如,可以使用实现快速递送的第一通信技术来递送数据消息,并且可以使用确保可靠递送的第二通信技术来递送控制消息。例如,较低延迟的网络传输协议如用户数据报协议(user datagramprotocol,UDP)可以用于递送数据消息,而更可靠的基于连接的网络传输协议如传输控制协议(transmission control protocol,TCP)可以用于递送控制消息。TCP可以确保排序、可靠性和完整性。UDP减少开销和延迟,并且可以发送大量的数据单元。
在一些示例中,控制消息形成控制平面,并且控制平面通道是指媒体分发网络架构中用于递送控制消息的一体部件。在示例中,控制平面通道可以根据TCP协议建立以递送控制消息。此外,数据消息形成数据平面,并且数据平面通道是指媒体分发网络架构中用于递送数据消息的一体部件。在示例中,数据平面通道可以根据UDP建立以递送数据消息。
以这种方式,媒体数据可以在数据平面通道上以较少的延迟进行传输,并且控制信息(例如用于协助在数据平面通道上传输的建立信息、监测信息和状态通知)可以通过控制平面通道传输,以确保成功的数据消息传输,或者检测在数据平面通道上传输的错误并触发在数据平面通道上的重新传输。
根据本公开内容的一方面,具有单独的控制平面通道和数据平面通道的双向通信可以用于构建媒体分发网络,该媒体分发网络可以支持需要各种格式的资产类型的各种不同的客户端装置,并且可以重用先前被适配为由特定客户端装置使用的资产。随着控制平面通道和数据平面通道上的双向通信的分离,在一些示例中,可以利用需要较少延迟但不太可靠的传输层上携带的数据消息来实现更稳健和高效的媒体分发网络,而控制消息被携带在同样较慢递送消息的、更可靠的传输层上。
图19A示出了根据本公开内容的一些实施方式的媒体系统(1900)的框图。媒体系统(1900)包括服务器装置(1901)和客户端装置(1906)。服务器装置(1901)在一些示例中也称为媒体分发网络中的客户端接口模块(例如,客户端接口模块(805))。在图19A的示例中,可以建立通信通道(1902)、(1903)、(1904)和(1905)以用于服务器装置(1901)与客户端装置(1906)之间的双向通信。在一些示例中,通信通道可以指物理传输介质,或者可以指电信和计算机网络中通过多路复用介质的逻辑连接。
具体地,通信通道(1902)被配置成从服务器装置(1901)向客户端装置(1906)递送控制消息。图19B示出了可以由通信通道(1902)递送的来自图16A至图16C中的双向协议的控制消息的列表。
通信通道(1903)被配置成从客户端装置(1906)向服务器装置(1901)递送控制消息。图19C示出了可以由通信通道(1903)递送的来自图16A至图16C中的双向协议的控制消息的列表。
在一些示例中,通信通道(1902)和通信通道(1903)可以是双向的控制平面通道。图19B和图19C中的控制消息形成双向协议的控制平面。
通信通道(1904)被配置成从服务器装置(1901)向客户端装置(1906)递送数据消息。图19D示出了可以由通信通道(1904)递送的来自图16A至图16C中的双向协议的控制消息的列表。
通信通道(1905)被配置成从客户端装置(1906)向服务器装置(1901)递送数据消息。图19E示出了可以由通信通道(1905)递送的来自图16A至图16C中的双向协议的控制消息的列表。
在一些示例中,通信通道(1904)是单向的数据平面通道,通信通道(1905)是另一个单向的数据平面通道。图19D和图19E中的数据消息形成双向协议的数据平面。
应注意的是,图19B至图19E中的消息是用于说明的。通信通道(1902)-(1905)中的消息可以被修改和/或省略。可以添加附加的消息。
图20示出了用于说明在一些示例中使用双向协议的媒体系统(2000)的框图。在一些示例中,双向协议可以包括图16A至图16C、图17A至图17G和图18中的消息。根据图19A至图19E,这些消息可以被分成控制平面和数据平面。
媒体系统(2000)可以用于各种使用应用,例如沉浸式媒体应用、增强现实(augmented reality,AR)应用、虚拟现实应用、视频游戏应用、体育游戏动画应用、电话会议和远程呈现应用、媒体流式传输应用等。
媒体系统(2000)包括可以通过网络(未示出)连接的服务器装置(2010)和多个媒体客户端装置,例如图20中所示的客户端装置(2060A)、(2060B)和(2060C)。在示例中,服务器装置(2010)可以包括具有沉浸式媒体编码功能的一个或更多个装置。在示例中,服务器装置(2010)包括单个计算装置,如台式计算机、膝上型计算机、服务器计算机、平板计算机等。在另一示例中,服务器装置(2010)包括数据中心、服务器场等。服务器装置(2010)可以接收输入的媒体内容,如沉浸式内容、视频内容、音频内容等,等等。客户端装置(例如,客户端装置(2060A)、(2060B)和(2060C))分别包括具有媒体应用的媒体呈现功能的一个或更多个装置。在示例中,媒体客户端装置可以包括呈现装置,如台式计算机、膝上型计算机、服务器计算机、平板计算机、头戴式显示器(head mounted display,HMD)装置、透镜光场显示器等。在一些示例中,媒体客户端装置可以根据合适的媒体呈现格式来呈现媒体。
服务器装置(2010)可以使用任何合适的技术实现。在图20的示例中,服务器装置(2010)包括耦接在一起的处理电路(2030)和接口电路(2011)。
处理电路(2030)可以包括任何合适的处理电路系统,例如一个或更多个中央处理单元(central processing unit,CPU)、一个或更多个图形处理单元(graphicsprocessing unit,GPU)、特定应用集成电路等。在图20的示例中,处理电路(2030)被配置成根据双向协议形成消息,并且能根据双向协议解释消息。此外,处理电路(2030)可以生成携带媒体内容的媒体流。在一些示例中,该媒体流可以基于在服务器装置(2010)与媒体客户端装置之间交换的消息来适配。
接口电路(2011)可以将服务器装置(2010)与网络对接。接口电路(2011)可以包括从网络接收信号的接收部分以及向网络发送信号的发送部分。例如,接口电路(2011)可以经由网络向其他装置,如客户端装置(2060A)、客户端装置(2060B)、客户端装置(2060C)等发送携带消息的信号。接口电路(2011)可以从媒体客户端装置例如客户端装置(2060A)、(2060B)和(2060C)接收携带消息的信号。
网络经由有线和/或无线连接,例如以太网连接、光纤连接、WiFi连接、蜂窝网络连接等,适当地与服务器装置(2010)和客户端装置(例如客户端装置(2060A)、(2060B)和(2060C))耦接。
客户端装置(例如,客户端装置(2060A)、(2060B)和(2060C))分别配置用于使用双向协议的媒体呈现和双向通信。
媒体客户端装置例如客户端装置(2060A)、(2060B)和(2060B)可以使用任何合适的技术来实现。在图20的示例中,客户端装置(2060A)和(2060B)被示出,但不限于具有耳机的头戴式显示器(HMD),作为可以由各自的用户例如用户A和用户B使用的用户装置。客户端装置(2060C)被示出,但不限于可以显示可以由多达多个用户同时观看的内容的透镜光场显示器,其中每个用户正在经历他/她自己的正在显示的内容的独特视角(即,视图)。
在图20中,客户端装置(2060A)包括如图20所示耦接在一起的接口电路(2061A)和处理电路(2070A)。客户端装置(2060B)包括如图20所示耦接在一起的接口电路(2061B)和处理电路(2070B)。客户端装置(2060C)包括如图20所示耦接在一起的接口电路(2061C)和处理电路(2070C)。
接口电路(2061A)可以将客户端装置(2060A)与网络对接。接口电路(2061A)可以包括从网络接收信号的接收部分以及向网络发送信号的发送部分。例如,接口电路(2061A)可以从服务器装置(2010)接收携带消息的信号,并且可以向服务器装置(2010)发送携带消息的信号。
处理电路(2070A)可以包括合适的处理电路系统,例如CPU、GPU、特定应用集成电路等。处理电路(2070A)可以被配置成包括各种部件,例如媒体解码器、渲染器等。
类似地,接口电路(2061B)可以将客户端装置(2060B)与网络对接。接口电路(2061B)可以包括从网络接收信号的接收部分以及向网络发送信号的发送部分。例如,接口电路(2061B)可以从服务器装置(2010)接收携带消息的信号,并且可以向服务器装置(2010)发送携带消息的信号。
处理电路(2070B)可以包括合适的处理电路系统,例如CPU、GPU、特定应用集成电路等。处理电路(2070B)可以被配置成包括各种部件,例如媒体解码器、渲染器等。
类似地,接口电路(2061C)可以将客户端装置(2060C)与网络对接。接口电路(2061C)可以包括从网络接收信号的接收部分以及向网络发送信号的发送部分。例如,接口电路(2061C)可以从服务器装置(2010)接收携带消息的信号,并且可以向服务器装置(2010)发送携带消息的信号。
处理电路(2070C)可以包括合适的处理电路系统,例如CPU、GPU、特定应用集成电路等。处理电路(2070C)可以被配置成包括各种部件,例如媒体解码器、渲染器等。
根据本公开内容的一方面,服务器装置(2010)和客户端装置(2060A)可以建立控制平面通道(2001),以用于在两者之间交换(发送和/或接收)控制消息;服务器装置(2010)和客户端装置(2060B)可以建立控制平面通道(2003),以用于在两者之间交换控制消息;并且服务器装置(2010)和客户端装置(2060C)可以建立控制平面通道(2005),以用于在两者之间交换控制消息。在示例中,控制平面通道(2001)、(2003)和(2005)可以使用TCP,并且可以执行控制消息的双向传输。
在一些示例中,可以基于在通道平面通道(2001)、(2003)和(2005)中交换的控制消息在媒体系统(2000)中建立数据平面通道。在示例中,可以基于通过控制平面通道(2001)交换的控制消息在服务器装置(2010)与客户端装置(2060A)之间建立数据平面通道(2002);可以基于通过控制平面通道(2003)交换的控制消息在服务器装置(2010)与客户端装置(2060B)之间建立数据平面通道(2004);可以基于通过控制平面通道(2005)交换的控制消息在服务器装置(2010)与客户端装置(2060C)之间建立数据平面通道(2006)。在示例中,数据平面通道(2002)、(2004)和(2006)可以使用UDP,并且可以执行数据消息的单向传输。
在一些示例中,使用控制平面通道(2001)、(2003)和(2005),服务器装置(2010)可以获得关于客户端特定的特性和客户端装置(2060A)、(2060B)和(2060C)的支持特征的信息。在示例中,服务器装置(2010)可以向客户端装置(2060A)、(2060B)和(2060C)生成相应的消息,以经由控制平面通道(2001)、(2003)和(2005)向相应媒体客户端装置请求信息。该信息可以包括但不限于媒体客户端装置的计算资源、媒体客户端装置的存储资源、网络服务提供商与媒体客户端装置的服务级别协议、媒体客户端装置的沉浸式应用要求、媒体客户端装置的类型、媒体客户端装置的型号、客户端装置处的神经网络模型。客户端装置(2060A)、(2060B)和(2060C)可以响应于经由控制平面通道(2001)、(2003)和(2005)从服务器装置(2010)接收的消息而提供所请求的信息。在一些示例中,客户端装置(2060A)、(2060B)和(2060C)可以在不被请求的情况下自愿地提供客户端特定特性和支持的特征。
在一些示例中,使用通过控制平面通道(2001)、(2003)和(2005)交换的消息,服务器装置(2010)可以通过建立用于将媒体适配和分发媒体到客户端装置的独特会话和操作上下文来管理媒体到媒体客户端装置的分发。在一些示例中,通过控制平面通道(2001)、(2003)和(2005)交换的消息可以在输入媒体的适配过程中协助媒体服务器装置(2010)以匹配媒体客户端装置的能力。
例如,服务器装置(2010)可以基于通过控制平面通道(2001)交换的控制消息,与客户端装置(2060A)建立第一独特会话(例如,数据平面通道(2002))。服务器装置(2010)可以生成第一媒体流,该第一媒体流从输入媒体适配,以匹配客户端装置(2060A)的能力。数据平面通道(2002)可以向客户端装置(2060A)提供第一媒体流。
服务器装置(2010)可以基于通过控制平面通道(2003)交换的控制消息,与客户端装置(2060B)建立第二独特会话(例如,数据平面通道(2004))。服务器装置(2010)可以生成第二媒体流,该第二媒体流从输入媒体适配,以匹配客户端装置(2060B)的能力。数据平面通道(2004)可以向客户端装置(2060B)提供第二媒体流。
服务器装置(2010)可以基于通过控制平面通道(2005)交换的控制消息,与客户端装置(2060C)建立第三独特会话(例如,数据平面通道(2006))。服务器装置(2010)可以生成第三媒体流,该第三媒体流由输入媒体适配,以匹配客户端装置(2060C)的能力。数据平面通道(2006)可以向客户端装置(2060C)提供第三媒体流。
在一些示例中,使用控制平面通道,服务器装置(2010)可以在会话期间,当或如果媒体客户端装置需要依靠网络来补充例如用于计算或存储的客户端装置的资源时,在特定媒体的呈现中响应情况。在示例中,客户端装置(2060B)通知服务器装置(2010),客户端装置(2060B)需要依靠网络经由控制平面通道(2003)来补充计算资源(例如,用于渲染的计算资源)。服务器装置(2010)可以确定向客户端装置(2060B)提供补充计算资源。例如,服务器装置(2010)可以对客户端装置(2020B)的媒体数据执行计算重度媒体处理。
在一些示例中,当或如果内容创建者(例如,工作室或客户端装置)允许这样的重用时,使用控制平面通道可以使得能够有效地重用特定媒体资产以便在多个客户端装置上呈现。在示例中,服务器装置(2010)可以确定将客户端装置(2060A)的媒体资产重用到客户端装置(2060B)。例如,服务器装置(2010)可以经由控制平面通道(2001)从客户端装置(2060A)获得缓存中(例如,缓存在存储装置(2099)中)的已渲染媒体资产的信息,并且经由控制平面通道(2003)将该信息提供给客户端装置(2060B)。然后,客户端装置(2060B)可以根据该信息访问缓存中的已渲染媒体资产。应当注意,存储装置(2099)可以是客户端装置(2060A)的内部部件或者可以是客户端装置(2060A)的外部部件。
在另一示例中,服务器装置(2010)可以请求客户端装置(2060A)向服务器装置(2010)发送回已渲染媒体资产,然后服务器装置(2010)可以向客户端装置(2060B)提供接收的媒体资产。在示例中,经由控制平面通道(2001)建立另一数据平面通道(2007),以从客户端装置(2060A)向服务器装置(2010)发送回已渲染媒体资产。
图21示出了概述根据本公开内容的实施方式的过程(2100)的流程图。过程(2100)可以在服务器装置例如服务器装置(2010)中使用。在各种实施方式中,过程(2100)由处理电路系统例如服务器装置(2010)中的处理电路(2030)等执行。在一些实施方式中,过程(2100)以软件指令实现,因此当处理电路系统执行软件指令时,处理电路系统执行过程(2100)。过程在(S2101)处开始并且进行至(S2110)。
在(S2110)处,服务器装置通过使用第一传输协议的控制平面通道与客户端装置交换多个控制消息。该多个控制消息属于用于沉浸式媒体分发的双向协议的控制平面。在示例中,用于沉浸式媒体分发的双向协议可以在传输层之上的网络层(例如在开放系统互连(open system interconnection,OSI)模型中的应用层、呈现层等)中实现。
在(S2120)处,服务器装置通过使用第二传输协议的第一数据平面通道向客户端装置发送第一多个数据消息。该第一多个数据消息属于双向协议的数据平面,并且至少携带沉浸式媒体内容,例如3D图形数据。
在一些示例中,第一传输协议是传输控制协议(transmission controlprotocol,TCP),并且第二传输协议是用户数据报协议(user datagram protocol,UDP)。
在一些示例中,第一传输协议是基于连接的传输协议并且可以是双向的。第二传输协议是无连接传输协议,并且可以是单向的。
在一些示例中,服务器装置可以根据通过控制平面通道交换的多个控制消息来与客户端装置建立第一数据平面通道。
在一些示例中,服务器装置可以通过控制平面通道接收客户端装置的一个或更多个特定特性,并且可以根据该一个或更多个特定特性来适配第一多个数据消息中携带的媒体流。在一些示例中,一个或更多个特定特性可以包括以下中的至少一个:客户端装置的计算资源、客户端装置的存储资源、客户端装置处的网络服务提供商的服务级别协议、沉浸式应用要求、客户端装置的类型、客户端装置的型号以及客户端装置处的神经网络模型。
在一些示例中,服务器装置可以通过使用第二传输协议的第二数据平面通道从客户端装置接收第二多个数据消息。第二多个数据消息携带以下中的至少一个:客户端装置处的神经网络模型的层信息;以及由客户端装置渲染的媒体内容。在示例中,服务器装置可以将由客户端装置渲染的媒体内容发送至另一客户端装置。
在一些实施方式中,客户端装置是第一客户端装置,并且多个控制消息使服务器装置能够与第二客户端装置共享沉浸式媒体内容。在示例中,服务器装置可以响应于来自服务器装置的请求,经由控制平面通道从第一客户端装置接收可共享的资产类型的列表以及在不可变存储装置中缓存的资产的统一资源标识符(uniform resource identifier,URI)。在另一示例中,服务器装置可以响应于来自服务器装置的请求,经由控制平面通道接收第一客户端装置能够访问的每个资产的状态更新。在另一示例中,服务器装置可以响应于来自服务器装置的请求,经由控制平面通道从第一客户端装置接收特定资产类型的当前状态以及特定服务器分配的标识符和特定资产统一资源标识符(uniform resourceidentifier,URI)中的一个。服务器装置可以通过服务器装置与第二客户端装置之间的控制平面通道向第二客户端装置提供控制消息,该控制消息可以允许第二客户端装置访问第一客户端装置的沉浸式媒体内容,例如缓存的资产。
然后,过程进行至(S2199)并且终止。
过程(2100)可以被适当地调整。过程(2100)中的步骤可以被修改和/或省略。可以添加附加的步骤。可以使用任何合适的实现顺序。
图22示出了概述根据本公开内容的实施方式的过程(2200)的流程图。该过程(2200)可以在客户端装置例如客户端装置(2060A)、客户端装置(2060B)、客户端装置(2060C)等中使用。在各种实施方式中,过程(2200)由处理电路系统例如处理电路(2070A)、处理电路(2070B)、处理电路(2070C)等执行。在一些实施方式中,过程(2200)以软件指令实现,因此当处理电路系统执行软件指令时,处理电路系统执行过程(2200)。过程从(S2201)开始并且进行至(S2210)。
在(S2210)处,客户端装置通过使用第一传输协议的控制平面通道与服务器装置交换多个控制消息。该多个控制消息属于用于沉浸式媒体分发的双向协议的控制平面。在示例中,用于沉浸式媒体分发的双向协议可以在传输层之上的网络层(例如在开放系统互连(open system interconnection,OSI)模型中的应用层、表现层等)中实现。
在(S2220)处,客户端装置通过使用第二传输协议的第一数据平面通道从服务器装置接收第一多个数据消息。该第一多个数据消息属于双向协议的数据平面,并且携带至少沉浸式媒体内容。
在(S2230)处,客户端装置可以呈现由第一多个数据消息携带的沉浸式媒体内容。
在一些示例中,第一传输协议是传输控制协议(transmission controlprotocol,TCP),并且第二传输协议是用户数据报协议(user datagram protocol,UDP)。
在一些示例中,第一传输协议是基于连接的传输协议并且是双向的,并且第二传输协议是无连接传输协议并且是单向的。
在一些示例中,客户端装置根据通过控制平面通道交换的多个控制消息与服务器装置建立第一数据平面通道。
在一些示例中,客户端装置通过控制平面通道向服务器装置提供客户端装置的一个或更多个特定特性。一个或更多个特定特性包括以下中的至少一个:客户端装置的计算资源、客户端装置的存储资源、客户端装置处的网络服务提供商的服务级别协议、沉浸式应用要求、客户端装置的类型、客户端装置的型号以及客户端装置处的神经网络模型。
在一些示例中,客户端装置可以通过使用第二传输协议的第二数据平面通道向服务器装置发送第二多个数据消息。第二多个数据消息携带客户端装置处的神经网络模型的层信息或者由客户端装置渲染的媒体内容中的至少一个。
在一些示例中,客户端装置是第一客户端装置,并且多个控制消息使得服务器装置能够与第二客户端装置共享沉浸式媒体内容。在示例中,第一客户端装置响应于来自服务器装置的请求,经由控制平面通道提供可共享的资产类型的列表以及在不可变存储装置中缓存的资产的统一资源标识符(uniform resource identifier,URI)。在另一示例中,第一客户端装置响应于来自服务器装置的请求,经由控制平面通道提供第一客户端装置能够访问的每个资产的状态更新。在另一示例中,第一客户端装置响应于来自服务器装置的请求,经由控制平面通道提供特定资产类型的当前状态以及特定服务器分配的标识符和特定资产统一资源标识符(uniform resource identifier,URI)中的一个。服务器装置可以使用从第一客户端装置接收的信息来控制第二客户端装置访问沉浸式媒体内容,例如缓存的资产。
然后,过程进行至(S2299)并且终止。
过程(2200)可以适当地调整。可以修改和/或省略过程(2200)中的(多个)步骤。可以添加附加的步骤。可以使用任何合适的实现顺序。
上面描述的技术可以实现为使用计算机可读指令并且物理地存储在一个或更多个计算机可读介质中的计算机软件。例如,图23示出了适合于实现所公开主题的某些实施方式的计算机系统(2300)。
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(central processing unit,CPU)、图形处理单元(GraphicsProcessing Unit,GPU)等直接执行或者通过解译、微代码执行等来执行。
指令可以在各种类型的计算机或其部件上执行,包括例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。
图23中示出的用于计算机系统(2300)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统(2300)的示例性实施方式中示出的部件中的任何一个部件或部件的组合有关的任何依赖性或要求。
计算机系统2300可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于由一个或更多个人类用户通过例如触觉输入(诸如:击键、滑动、数据手套移动)、音频输入(诸如:语音、拍打)、视觉输入(诸如:手势)、嗅觉输入(未示出)而输入。人机接口装置还可以用于捕获不一定与人类有意识的输入直接相关的某种媒体,例如,音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获取的摄影图像)、视频(诸如:二维视频、包括立体视频的三维视频)。
输入人机接口装置可以包括以下各项中的一个或更多个(每项仅绘出一个):键盘(2301)、鼠标(2302)、触控板(2303)、触摸屏(2310)、数据手套(未示出)、操纵杆(2305)、麦克风(2306)、扫描仪(2307)、摄像装置(2308)。
计算机系统(2300)还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感官。这样的人机接口输出装置可以包括:触觉输出装置(例如,通过触摸屏(2310)、数据手套(未示出)或操纵杆(2305)进行的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置);音频输出装置(例如:扬声器(2309)、头戴式耳机(未描绘));视觉输出装置(例如,屏幕(2310),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个均具有或不具有触摸屏输入能力,每个均具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和烟罐(未描绘));以及打印机(未描绘)。
计算机系统(2300)还可以包括人类可访问的存储装置及其相关联的介质,诸如包括具有CD/DVD等介质(2321)的CD/DVD ROM/RW(2320)的光学介质、拇指驱动器(2322)、可移动硬盘驱动器或固态驱动器(2323)、传统磁介质如磁带和软盘(未描绘)、基于专用ROM/ASIC/PLD的装置如安全加密狗(未描绘)等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬态信号。
计算机系统(2300)还可以包括到一个或更多个通信网络(2355)的接口(2354)。网络可以是例如无线网络、有线网络、光网络。网络还可以是局域网、广域网、城域网、车载和工业网络、实时网络、延迟容忍网络等。网络的示例包括:局域网(例如以太网、无线LAN),包括GSM、3G、4G、5G、LTE等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线连接或无线广域数字网络;包括CANBus的车辆和工业网络等。某些网络通常需要附接至某些通用数据端口或外围总线(2349)(例如,计算机系统(2300)的USB端口)的外部网络接口适配器;其他的网络通常通过如下所述(例如,到PC计算机系统的以太网接口或到智能电话计算机系统的蜂窝网络接口)附接至系统总线而集成到计算机系统(2300)的核中。使用这些网络中的任何网络,计算机系统(2300)可以与其他实体进行通信。这样的通信可以是单向的、仅接收的(例如,广播电视)、单向仅发送的(例如,到某些CANbus装置的CANbus)、或双向的(例如,到使用局域数字网络或广域数字网络的其他计算机系统)。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
上述人机接口装置、人类可访问存储装置和网络接口可以附接至计算机系统(2300)的核(2340)。
核(2340)可以包括一个或更多个中央处理单元(Central Processing Unit,CPU)(2341)、图形处理单元(Graphics Processing Unit,GPU)(2342)、现场可编程门区(FieldProgrammable Gate Area,FPGA)形式的专用可编程处理单元(2343)、用于某些任务的硬件加速器(2344)、图形适配器(2350)等。这些装置连同只读存储器(Read-only memory,ROM)(2345)、随机存取存储器(2346)、内部大容量存储装置例如内部非用户可访问的硬盘驱动器、SSD(Solid-State Drive,SSD)等(2347)可以通过系统总线(2348)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(2348),以使得能够通过附加的CPU、GPU等进行扩展。外围装置可以直接地或通过外围总线(2349)附接至核的系统总线(2348)。在示例中,屏(2310)可以连接至图形适配器(2350)。外围总线的架构包括PCI、USB等。
CPU(2341)、GPU(2342)、FPGA(2343)和加速器(2344)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(2345)或RAM(2346)中。暂态数据也可以存储在RAM(2346)中,而永久数据可以存储在例如内部大容量存储装置(2347)中。可以通过使用缓存存储器来实现对存储装置中的任何存储装置的快速存储和检索,该缓存存储器可以与一个或更多个CPU(2341)、GPU(2342)、大容量存储装置(2347)、ROM(2345)、RAM(2346)等紧密相关联。
计算机可读介质在其上可以具有计算机代码,该计算机代码用于执行各种计算机实现的操作。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以具有计算机软件领域的技术人员公知且可用的类型。
作为示例而非限制,具有架构的计算机系统(2300)(特别是核(2340))可以由于(一个或更多个)处理器(包括CPU、GPU、FPGA、加速器等)执行体现在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问的大容量存储装置相关联的介质,以及核(2340)的具有非暂态性质的某些存储装置,例如,核内部大容量存储装置(2347)或ROM(2345)。可以将实现本公开内容的各种实施方式的软件存储在这样的装置中并且由核(2340)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器装置或者芯片。软件可以使核(2340)并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM(2346)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选方案,计算机系统可以提供作为硬连线或以其他方式体现在电路(例如:加速器(2344))中的逻辑的结果的功能,其可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及的软件可以包含逻辑,反之,提及的逻辑也可以包含软件。在适当的情况下,对计算机可读介质的引用可以涵盖存储用于执行的软件的电路(例如集成电路(integrated circuit,IC))、实施用于执行的逻辑的电路或上述两者。本公开内容包含硬件与软件的任何合适的组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同物。因此将认识到,本领域技术人员将能够设想出许多系统和方法,尽管这些系统和方法未在本文中明确示出或描述,但是体现了本公开内容的原理并因此在本公开内容的精神和范围内。

Claims (20)

1.一种进行媒体流式传输的方法,应用于客户端装置中,所述方法包括:
通过使用第一传输协议的控制平面通道与服务器装置交换多个控制消息,所述多个控制消息属于用于沉浸式媒体分发的双向协议的控制平面;
通过使用第二传输协议的第一数据平面通道从所述服务器装置接收第一多个数据消息,所述第一多个数据消息属于所述双向协议的数据平面并且携带沉浸式媒体内容;以及
呈现所述第一多个数据消息携带的沉浸式媒体内容。
2.根据权利要求1所述的方法,其中,所述第一传输协议是传输控制协议(TCP),并且所述第二传输协议是用户数据报协议(UDP)。
3.根据权利要求1所述的方法,其中,所述第一传输协议是基于连接的传输协议,并且所述第二传输协议是无连接传输协议。
4.根据权利要求1所述的方法,还包括:
根据通过所述控制平面通道交换的所述多个控制消息,与所述服务器装置建立所述第一数据平面通道。
5.根据权利要求1所述的方法,还包括:
通过所述控制平面通道向所述服务器装置提供所述客户端装置的一个或更多个特定特性,所述一个或更多个特定特性包括以下中的至少一个:
所述客户端装置的计算资源;
所述客户端装置的存储资源;
所述客户端装置处的网络服务提供商的服务级别协议;
沉浸式应用要求;
所述客户端装置的类型;
所述客户端装置的型号;以及
所述客户端装置处的神经网络模型。
6.根据权利要求1所述的方法,还包括:
通过使用所述第二传输协议的第二数据平面通道向所述服务器装置发送第二多个数据消息,所述第二多个数据消息携带以下中的至少一个:
所述客户端装置处的神经网络模型的层信息;以及
由所述客户端装置渲染的媒体内容。
7.根据权利要求1所述的方法,其中,所述客户端装置是第一客户端装置,并且所述多个控制消息使所述服务器装置能够与第二客户端装置共享所述沉浸式媒体内容。
8.根据权利要求7所述的方法,其中,交换所述多个控制消息还包括:
响应于来自所述服务器装置的请求,经由所述控制平面通道提供可共享的资产类型的列表以及在不可变存储装置中缓存的资产的统一资源标识符(URI)。
9.根据权利要求7的方法,其中,交换所述多个控制消息还包括:
响应于来自所述服务器装置的请求,经由所述控制平面通道提供所述第一客户端装置能够访问的每个资产的状态更新。
10.根据权利要求7所述的方法,其中,交换所述多个控制消息还包括:
响应于来自所述服务器装置的请求,经由所述控制平面通道提供特定资产类型的当前状态以及特定服务器分配的标识符和特定资产统一资源标识符(URI)中的一个。
11.一种进行媒体流式传输的设备,包括处理电路系统,所述处理电路系统被配置成:
通过使用第一传输协议的控制平面通道与服务器装置交换多个控制消息,所述多个控制消息属于用于沉浸式媒体分发的双向协议的控制平面;
通过使用第二传输协议的第一数据平面通道从所述服务器装置接收第一多个数据消息,所述第一多个数据消息属于所述双向协议的数据平面并且携带沉浸式媒体内容;以及
呈现所述第一多个数据消息携带的沉浸式媒体内容。
12.根据权利要求11所述的设备,其中,所述第一传输协议是传输控制协议(TCP),并且所述第二传输协议是用户数据报协议(UDP)。
13.根据权利要求11所述的设备,其中,所述第一传输协议是基于连接的传输协议,并且所述第二传输协议是无连接传输协议。
14.根据权利要求11所述的设备,其中,所述处理电路系统被配置成:
根据通过所述控制平面通道交换的所述多个控制消息,与所述服务器装置建立所述第一数据平面通道。
15.根据权利要求11所述的设备,其中,所述处理电路系统被配置成:
通过所述控制平面通道向所述服务器装置提供所述设备的一个或更多个特定特性,所述一个或更多个特定特性包括以下中的至少一个:
所述设备的计算资源;
所述设备的存储资源;
所述设备处的网络服务提供商的服务级别协议;
沉浸式应用要求;
所述设备的类型;
所述设备的型号;以及
所述设备处的神经网络模型。
16.根据权利要求11所述的设备,其中,所述处理电路系统被配置成:
通过使用所述第二传输协议的第二数据平面通道向所述服务器装置发送第二多个数据消息,所述第二多个数据消息携带以下中的至少一个:
所述设备处的神经网络模型的层信息;以及
由所述设备渲染的媒体内容。
17.根据权利要求11所述的设备,其中,所述设备是第一客户端装置,并且所述多个控制消息使所述服务器装置能够与第二客户端装置共享所述沉浸式媒体内容。
18.根据权利要求17所述的设备,其中,所述处理电路系统被配置成:
响应于来自所述服务器装置的请求,经由所述控制平面通道提供可共享的资产类型的列表以及在不可变存储装置中缓存的资产的统一资源标识符(URI)。
19.根据权利要求17所述的设备,其中,所述处理电路系统被配置成:
响应于来自所述服务器装置的请求,经由所述控制平面通道提供所述第一客户端装置能够访问的每个资产的状态更新。
20.根据权利要求17所述的设备,其中,所述处理电路系统被配置成:
响应于来自所述服务器装置的请求,经由所述控制平面通道提供特定资产类型的当前状态以及特定服务器分配的标识符和特定资产统一资源标识符(URI)中的一个。
CN202280005936.6A 2021-06-30 2022-06-30 使用控制平面通道和数据平面通道双向呈现数据流 Pending CN116235429A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163217049P 2021-06-30 2021-06-30
US63/217,049 2021-06-30
US17/851,838 2022-06-28
US17/851,838 US20230007361A1 (en) 2021-06-30 2022-06-28 Bidirectional presentation datastream using control and data plane channels
PCT/US2022/073296 WO2023279051A1 (en) 2021-06-30 2022-06-30 Bidirectional presentation datastream using control and data plane channels

Publications (2)

Publication Number Publication Date
CN116235429A true CN116235429A (zh) 2023-06-06
CN116235429A8 CN116235429A8 (zh) 2024-05-17

Family

ID=84693005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280005936.6A Pending CN116235429A (zh) 2021-06-30 2022-06-30 使用控制平面通道和数据平面通道双向呈现数据流

Country Status (6)

Country Link
US (1) US20230007361A1 (zh)
EP (1) EP4169179A4 (zh)
JP (1) JP2023544383A (zh)
KR (1) KR20230118181A (zh)
CN (1) CN116235429A (zh)
WO (1) WO2023279051A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021134B1 (en) * 2006-03-03 2015-04-28 Juniper Networks, Inc. Media stream transport conversion within an intermediate network device
US20150256861A1 (en) * 2012-10-26 2015-09-10 Intel Corporation Multimedia adaptation based on video orientation
US20150295982A1 (en) * 2014-04-10 2015-10-15 Qualcomm Incorporated Streaming control for real-time transport protocol
US20190028691A1 (en) * 2009-07-14 2019-01-24 Cable Television Laboratories, Inc Systems and methods for network-based media processing
US10250673B1 (en) * 2014-03-14 2019-04-02 Amazon Technologies, Inc. Storage workload management using redirected messages
CN110301126A (zh) * 2017-02-15 2019-10-01 微软技术许可有限责任公司 会议服务器
US20200404219A1 (en) * 2019-06-18 2020-12-24 Tmrw Foundation Ip & Holding Sarl Immersive interactive remote participation in live entertainment
DE102020120923A1 (de) * 2019-08-08 2021-02-11 Intel Corporation Geräte, systeme und verfahren für immersives live-streaming und echtzeitkommunikation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4209838A (en) * 1976-12-20 1980-06-24 Sperry Rand Corporation Asynchronous bidirectional interface with priority bus monitoring among contending controllers and echo from a terminator
EP1645101A1 (de) * 2003-07-03 2006-04-12 Siemens Aktiengesellschaft Verfahren zur steuerung von datenverbindungen
WO2012051539A2 (en) * 2010-10-14 2012-04-19 Cyandia, Inc. Methods, apparatus, and systems for presenting television programming and related information
US8755342B2 (en) * 2011-10-05 2014-06-17 Cisco Technology, Inc. System and method for dynamic bearer selection for immersive video collaboration in mobile wireless networks
US9462089B1 (en) * 2013-03-15 2016-10-04 Kaazing Corporation Communication channels
WO2017155271A1 (ko) * 2016-03-07 2017-09-14 엘지전자 주식회사 무선 통신 시스템에서 트랜스포트를 통해 스트리밍을 제공받는 방법 및 장치
US10020025B2 (en) * 2016-07-22 2018-07-10 Zeality Inc. Methods and systems for customizing immersive media content
US10148356B2 (en) * 2016-09-16 2018-12-04 International Business Machines Corporation Data transfer over bi-directional links leveraging counter-propagating back channel for low-latency responses
US10735825B1 (en) * 2019-02-07 2020-08-04 Disney Enterprises, Inc. Coordination of media content delivery to multiple media players
US11516152B2 (en) * 2019-09-28 2022-11-29 Tencent America LLC First-in first-out function for segmented data stream processing
US11637929B2 (en) * 2020-12-02 2023-04-25 Avaya Management L.P. Efficient media establishment for WebRTC call center agents

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021134B1 (en) * 2006-03-03 2015-04-28 Juniper Networks, Inc. Media stream transport conversion within an intermediate network device
US20190028691A1 (en) * 2009-07-14 2019-01-24 Cable Television Laboratories, Inc Systems and methods for network-based media processing
US20150256861A1 (en) * 2012-10-26 2015-09-10 Intel Corporation Multimedia adaptation based on video orientation
US10250673B1 (en) * 2014-03-14 2019-04-02 Amazon Technologies, Inc. Storage workload management using redirected messages
US20150295982A1 (en) * 2014-04-10 2015-10-15 Qualcomm Incorporated Streaming control for real-time transport protocol
CN110301126A (zh) * 2017-02-15 2019-10-01 微软技术许可有限责任公司 会议服务器
US20200404219A1 (en) * 2019-06-18 2020-12-24 Tmrw Foundation Ip & Holding Sarl Immersive interactive remote participation in live entertainment
DE102020120923A1 (de) * 2019-08-08 2021-02-11 Intel Corporation Geräte, systeme und verfahren für immersives live-streaming und echtzeitkommunikation

Also Published As

Publication number Publication date
KR20230118181A (ko) 2023-08-10
JP2023544383A (ja) 2023-10-23
WO2023279051A1 (en) 2023-01-05
CN116235429A8 (zh) 2024-05-17
EP4169179A4 (en) 2023-12-13
EP4169179A1 (en) 2023-04-26
US20230007361A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
US20230319328A1 (en) Reference of neural network model for adaptation of 2d video for streaming to heterogeneous client end-points
US20230336795A1 (en) Smart client for streaming of scene-based immersive media
US11570227B2 (en) Set up and distribution of immersive media to heterogenous client end-points
JP7448677B2 (ja) 没入型メディアをストリーミングする方法、並びにそのデバイス、及びコンピュータプログラム
US20230007361A1 (en) Bidirectional presentation datastream using control and data plane channels
US20230007067A1 (en) Bidirectional presentation datastream
US11943271B2 (en) Reference of neural network model by immersive media for adaptation of media for streaming to heterogenous client end-points
US12003792B2 (en) Adaptation of 2D video for streaming to heterogenous client end-points
US20230370666A1 (en) Streaming scene prioritizer for immersive media
US20230338834A1 (en) Smart client for streaming of scene-based immersive media to game engine
WO2024073161A1 (en) Scene graph translation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40088099

Country of ref document: HK

CI02 Correction of invention patent application
CI02 Correction of invention patent application

Correction item: PCT international application to national stage day

Correct: 2023.03.07

False: 2023.03.06

Number: 23-01

Page: The title page

Volume: 39

Correction item: PCT international application to national stage day

Correct: 2023.03.07

False: 2023.03.06

Number: 23-01

Volume: 39