媒体处理和流传输的方法、系统以及存储介质

文档序号:738971 发布日期:2021-04-20 浏览:35次 >En<

阅读说明:本技术 媒体处理和流传输的方法、系统以及存储介质 (Method, system and storage medium for media processing and streaming ) 是由 索达加伊拉吉 于 2020-10-14 设计创作,主要内容包括:本公开实施例提供了一种媒体处理和流传输的方法、系统以及存储介质。该媒体处理和流传输的方法,由基于网络的媒体处理NBMP源执行,包括发送第一请求,以在上行链路实时流框架FLUS源与FLUS接收端之间建立FLUS会话;在FLUS会话建立后,从FLUS源接收NBMP工作流管理器的地址;以及通过NBMP工作流管理器的地址对应的路径,向所述NBMP工作流管理器发送第二请求,以创建或更新用于处理媒体内容的工作流,所述路径不包括所述FLUS源和所述FLUS接收端。(The disclosed embodiments provide a method, system and storage medium for media processing and streaming. The method of media processing and streaming, performed by a network-based media processing NBMP source, comprises sending a first request to establish a FLUS session between an uplink real-time streaming framework FLUS source and a FLUS sink; receiving an address of an NBMP workflow manager from the FLUS source after the FLUS session is established; and sending a second request to an NBMP workflow manager to create or update a workflow for processing media content through a path corresponding to an address of the NBMP workflow manager, the path excluding the plus source and the plus receiver.)

媒体处理和流传输的方法、系统以及存储介质

交叉引用

本申请要求2019年10月18日在美国专利和商标局提交的美国临时专利申请第62/923,430号以及2020年9月28日在美国专利和商标局提交的美国临时专利申请第17/034,437号的优先权,其全部内容通过引用结合在本申请中。

技术领域

本公开的实施例涉及媒体处理和流传输的方法和系统,尤其涉及运动图片专家组(MPEG:Moving Picture Experts Group)基于网络的媒体处理(NBMP:Network-BasedMedia Processing)和上行链路直播流的框架(FLUS:Framework for Live UplinkStreaming)的方法和系统。

背景技术

运动图片专家组(MPEG)基于网络的媒体处理(NBMP)项目开发了处理云上媒体的概念。然而,当前的NBMP设计没有提供明确的监测方法。日期为2019年12月的“ISO/IEC DIS23090-8基于网络的媒体处理的文本”,ISO/IEC JTC 1/SC 29/WG 11(N 18657)的全部内容通过引用结合在本申请中。

第3代合作伙伴计划(3GPP:3rd Generation Partnership Project)上行链路直播流的框架(FLUS:Framework for Live Uplink Streaming)协议提供了一种机制,该机制用于从源设备到网络的多媒体内容上行链路流,并将该内容发送/分发到一个或多个目标地。“第3代合作伙伴计划;技术规范组服务和系统方面;日期为2019年九月的3GPP TS26.238V16.2.0的上行链路流(版本(Release)16)”的全部内容通过引用结合在本申请中。

发明内容

在NBMP标准中,NBMP源是向工作流管理器提供工作流描述来创建、运行、管理和监测媒体工作流的实体。NBMP源与工作流管理器之间的交互是通过一组NBMP操作API进行的。

在3GPP FLUS协议的情况下,媒体流的源设备通过网络与接收端(sink)建立上行链路会话。FLUS API允许源设备控制会话,并且也允许接收端提供对源设备的反馈或远程控制。

当前的3GPP FLUS协议支持包括NBMP工作流描述文档(WDD:WorkflowDescription Document),作为源设备的会话控制更新的一部分。然而,在工作流建立之后,该协议不包括源设备和接收端之间的交互,该交互用于NBMP工作流的管理。此外,该协议不提供NBMP工作流管理器和/或任务的架构,所述任务用于向源设备提供报告和通知,从而其可以从正在运行的NBMP工作流接收反馈,以能够动态地管理和修改工作流。

本公开的实施例解决了上述问题和其它问题。

本公开的实施例提供了上行链路流的基于云的工作流处理,其中,基于云的工作流处理具有位于上行链路源的客户端设备处的控件。本公开的实施例提供了一种架构,该架构中,源客户端是在建立FLUS会话之后直接管理工作流的NBMP源。

根据一个或多个实施例,提供了一种媒体处理和流传输的方法。该方法包括:基于网络的媒体处理NBMP源发送第一请求,以在上行链路实时流框架FLUS源与FLUS接收端之间建立FLUS会话;在FLUS会话建立后,由所述基于网络的媒体处理NBMP源从所述上行链路实时流框架FLUS源接收NBMP工作流管理器的地址;以及由所述基于网络的媒体处理NBMP源通过NBMP工作流管理器的地址的路径向所述NBMP工作流管理器发送第二请求,以创建或更新处理媒体内容的工作流,所述NBMP工作流管理器不包括所述上行链路实时流框架FLUS源和所述FLUS接收端。

根据实施例,该第二请求包括创建工作流的请求。

根据实施例,该第二请求包括更新工作流的请求。

根据实施例,该方法进一步包括:由所述基于网络的媒体处理NBMP源向所述上行链路实时流框架FLUS源发送用于指示NBMP工作流管理器创建工作流的第二请求,其中,该第二请求包括工作流描述文档WDD。

根据实施例,该方法进一步包括:在发送所述第二请求来更新工作流的之前,由所述基于网络的媒体处理NBMP源通过由FLUS接收端和所述上行链路实时流框架FLUS源,从NBMP工作流管理器接收所述工作流描述文档WDD的更新版本。

根据实施例,在所述接收所述NBMP工作流管理器的所述地址之后,发送所述第二请求以创建所述工作流。

根据实施例,该方法进一步包括:通过所述上行链路实时流框架FLUS源和FLUS接收端,从NBMP工作流管理器接收报告或通知。

根据实施例,接收报告或通知包括通过所述上行链路实时流框架FLUS源和FLUS接收端,从NBMP工作流管理器接收描述符,该描述符包括指示报告或通知的参数或事件。

根据实施例,地址是统一资源定位符(URL)。

根据实施例,路径是子域路径。

根据一个或多个实施例,提供了一种媒体处理和流传输的系统。该系统包括:会话请求模块,用于使基于网络的媒体处理NBMP源发送第一请求,以在上行链路实时流框架FLUS源与FLUS接收端之间建立FLUS会话;以及工作流请求模块,用于在FLUS会话建立之后,所述基于网络的媒体处理NBMP源从所述上行链路实时流框架FLUS源接收地址之后,通过NBMP工作流管理器的地址的路径向所述NBMP工作流管理器发送第二请求,以创建或更新处理媒体内容的工作流,所述NBMP工作流管理器不包括所述上行链路实时流框架FLUS源和所述FLUS接收端。

根据实施例,工作流请求模块包括工作流创建请求子模块,以及该第二请求包括创建工作流的请求。

根据实施例,工作流请求模块包括工作流更新请求子模块,以及该第二请求包括更新工作流的请求。

根据实施例,所述系统进一步包括:工作流创建请求子模块,用于使基于网络的媒体处理NBMP源向上行链路实时流框架FLUS源发送用于指示NBMP工作流管理器创建工作流的第二请求,其中,所述第二请求包括工作流描述文档WDD。

根据实施例,所述工作流更新请求子模块,用于在所述NBMP源接收所述WDD的更新版本之后,使所述基于网络的媒体处理NBMP源发送用于指示所述NBMP工作流管理器更新所述工作流的所述第二请求。

根据实施例,所述工作流创建请求子模块用于在所述基于网络的媒体处理NBMP源接收所述NBMP工作流管理器的所述地址之后,使所述基于网络的媒体处理NBMP源发送用于指示所述NBMP工作流管理器创建所述工作流的所述第二请求。

根据实施例,所述基于网络的媒体处理NBMP源用于通过所述上行链路实时流框架FLUS源和所述FLUS接收端,从所述NBMP工作流管理器接收报告或通知。

根据实施例,所述基于网络的媒体处理NBMP源用于通过所述上行链路实时流框架FLUS源和所述FLUS接收端,从所述NBMP工作流管理器接收描述符,所述描述符包括指示所述报告或通知的参数或事件。

根据实施例,地址是统一资源定位符URL。

根据一个或多个实施例,提供了一种电子设备,包括处理器和存储器;所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本公开实施例所述的方法。

根据一个或多个实施例,提供了一种非易失性计算机可读介质,所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本公开实施例所述的方法。

通过本公开实施例提供的媒体处理和流传输的方法,基于网络的媒体处理NBMP源发送第一请求,以在上行链路实时流框架FLUS源与FLUS接收端之间建立FLUS会话;在FLUS会话建立后,由所述基于网络的媒体处理NBMP源从所述上行链路实时流框架FLUS源接收NBMP工作流管理器的地址;以及由所述基于网络的媒体处理NBMP源通过NBMP工作流管理器的地址的路径向所述NBMP工作流管理器发送第二请求,以创建或更新处理媒体内容的工作流,所述NBMP工作流管理器不包括所述上行链路实时流框架FLUS源和所述FLUS接收端。这样,NBMP源可以通过NBMP工作流管理器的地址的路径向NBMP工作流管理器发送请求,以创建或更新处理媒体内容的工作流,进而实现动态地管理和修改工作流。

附图说明

根据以下

具体实施方式

和附图,所公开的主题的另外的特征、性质和各种优点将更加显而易见,其中:

图1是根据实施例的实施本公开中描述的方法、装置和系统的环境的示意图。

图2是图1中的一个或多个设备的示例组件的框图。

图3是根据实施例的NBMP系统的框图。

图4A是根据实施例的3GPP FLUS架构的框图;

图4B是根据实施例的媒体处理和流传输的方法的流程图;

图5是根据实施例的工作流处理的示意图;

图6是根据实施例的工作流处理的示意图;

图7是根据实施例的计算机代码的框图;

图8是根据实施例的计算机代码的框图。

DETAILED DESCRIPTION

图1是根据实施例的,可以实施本文所描述的方法、装置和系统的环境100的示意图。如图1所示,环境100可以包括用户设备110、平台120和网络130。环境100的设备可以通过有线连接、无线连接或有线和无线连接的组合进行互连。

用户设备110包括一个或多个设备,该一个或多个设备能够接收、生成、存储、处理和/或提供与平台120相关的信息。例如,用户设备110可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,智能眼镜或智能手表)或相似设备。在一些实施方式中,用户设备110可以从平台120接收信息和/或向平台120发送信息。

平台120包括如本文中其它地方所描述的一个或多个设备。在一些实施方式中,平台120可以包括云服务器或云服务器组。在一些实施方式中,平台120可以被设计成模块化,使得软件组件可以根据特定需要被换入或换出。这样,可以容易地和/或快速地重新配置平台120以具有不同的用途。

在一些实施方式中,如图所示,平台120可以被托管(hosted)在云计算环境122中。值得注意的是,虽然本文所述的实施方式将平台120描述为托管在云计算环境122中,但是在一些实施方式中,平台120不是基于云的(即,可以在云计算环境外部实现)或者可以是部分基于云的。

云计算环境122包括托管平台120的环境。云计算环境122可以提供计算、软件、数据访问、存储等服务,这些服务不需要终端用户(例如,用户设备110)了解托管平台120的系统和/或设备的物理位置和配置。如图所示,云计算环境122可以包括一组计算资源124(统称为“计算资源(computing resources)124”并分别称为“计算资源(computing resource)124”)。

计算资源124包括一个或多个个人计算机、工作站计算机、服务器设备或其它类型的计算和/或通信设备。在一些实施方式中,计算资源124可以托管平台120。云资源可以包括在计算资源124中执行的计算实例、在计算资源124中提供的存储设备、由计算资源124提供的数据传输设备等。在一些实施方式中,计算资源124可以通过有线连接、无线连接或有线和无线连接的组合与其它计算资源124通信。

进一步如图1所示,计算资源124包括一组云资源,例如一个或多个应用程序(“APP”)124-1、一个或多个虚拟机(“VM”)124-2、虚拟化存储(“VS”)124-3、一个或多个管理程序(“HYP”)124-4等。

应用程序124-1包括一个或多个软件应用程序,其可以提供给用户设备110和/或平台120,或由用户设备110和/或平台120访问。应用程序124-1无需在用户设备110上安装和执行软件应用程序。例如,应用程序124-1可以包括与平台120相关的软件,和/或,能够通过云计算环境122提供的任何其它软件。在一些实施方式中,一个应用程序124-1可以通过虚拟机124-2向或从一个或多个其它应用程序124-1发送/接收信息。

虚拟机124-2包括机器(例如,计算机)的软件实现,该机器执行程序,类似于物理机。虚拟机124-2可以是系统虚拟机,也可以是进程虚拟机,这取决于虚拟机124-2对任何真实机的使用和对应程度。系统虚拟机可以提供完整系统平台,其支持完整操作系统(“OS”)的执行。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实施方式中,虚拟机124-2可以代表用户(例如,用户设备110)执行,并且可以管理云计算环境122的基础架构,例如数据管理、同步或长期数据传输。

虚拟化存储124-3包括一个或多个存储系统和/或一个或多个设备,该一个或多个设备在计算资源124的存储系统或设备内使用虚拟化技术。在一些实施方式中,在存储系统的上下文内,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指逻辑存储从物理存储的抽象(或分离),以便可以在不考虑物理存储或异构结构的情况下访问存储系统。分离可以允许存储系统的管理员灵活地管理终端用户的存储。文件虚拟化可以消除在文件级别存取的数据与物理存储文件的位置之间的依赖性。这可以优化存储使用、服务器整合和/或无中断文件迁移的性能。

管理程序(Hypervisor)124-4可以提供硬件虚拟化技术,其允许多个操作系统(例如,“客户操作系统”)在诸如计算资源124的主计算机上同时执行。管理程序124-4可以向客户操作系统提供虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化硬件资源。

网络130包括一个或多个有线和/或无线网络。例如,网络130可以包括蜂窝网络(例如,第五代(fifth generation,5G)网络、长期演进(Long-Term Evolution,LTE)网络、第三代(third generation,3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PublicLand Mobile Network,PLMN)、局域网(Local Area Network,LAN)、广域网(Wide AreaNetwork,WAN)、城域网(Metropolitan Area Network,MAN)、电话网络(例如,公共交换电话网络(Public Switched Telephone Network,PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等,和/或这些或其它类型的网络的组合。

图1所示的设备和网络的数量和排列被作为示例来提供。实际上,与图1所示的设备和/或网络相比,可以有更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或排列不同的设备和/或网络。此外,图1所示的两个或更多个设备可以在单个设备内实现,或者图1所示的单个设备可以实现为多个分布式设备。另外或可替代地,环境100的一组设备(例如,一个或多个设备)可以执行被描述为由环境100的另一组设备执行的一个或多个功能。

图2是图1中一个或多个设备的示例组件的框图。电子设备200可以对应于用户设备110和/或平台120。如图2所示,电子设备200可以包括总线210、处理器220、存储器230、存储组件240、输入组件250、输出组件260和通信接口270。

总线210包括允许电子设备200的组件之间进行通信的组件。处理器220以硬件、固件或硬件和软件的组合来实现。处理器220是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或另一类型的处理组件。在一些实施方式中,处理器220包括一个或多个能够被编程以执行功能的处理器。存储器230包括随机存取存储器(RAM)、只读存储器(ROM)和/或另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器),其存储供处理器220使用的信息和/或指令。

存储组件240存储与电子设备200的操作和使用相关的信息和/或软件。例如,存储组件240可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、光盘(CD)、数字通用盘(DVD)、软盘、盒式磁带、磁带和/或另一类型的非易失性计算机可读介质,以及相应的驱动器。

输入组件250包括允许电子设备200例如通过用户输入接收信息的组件,例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风。另外或可替代地,输入组件250可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速计、陀螺仪和/或致动器)。输出组件260包括提供来自电子设备200的输出信息的组件,例如,显示器、扬声器和/或一个或多个发光二极管(LED)。

通信接口270包括类似收发器的组件(例如,收发器和/或单独的接收器和发送器),该组件使电子设备200能够例如通过有线连接、无线连接或有线和无线连接的组合与其它设备通信。通信接口270可以允许电子设备200从另一设备接收信息和/或向另一设备提供信息。例如,通信接口270可以包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。

电子设备200可以执行本文中所描述的一个或多个过程。电子设备200可以响应于处理器220执行由非易失性计算机可读介质(例如存储器230和/或存储组件240)存储的软件指令来执行这些过程。计算机可读介质在本文中被定义为非易失性存储器设备。存储器设备包括单个物理存储设备内的存储空间或分布在多个物理存储设备上的存储空间。

软件指令可以通过通信接口270从另一计算机可读介质或从另一设备读入存储器230和/或存储组件240。当被执行时,存储在存储器230和/或存储组件240中的软件指令可以使处理器220执行本文中所描述的一个或多个过程。另外或可替代地,可以使用硬件连线电路来代替软件指令或与软件指令结合以执行本文中所描述的一个或多个过程。因此,本文中所描述的实施方式不限于硬件电路和软件的任何特定组合。

图2所示的组件的数量和排列被作为示例来提供。实际上,与图2所示的组件相比,电子设备200可能包括更多的组件、更少的组件、不同的组件或排列不同的组件。另外或可替代地,电子设备200的一组组件(例如,一个或多个组件)可以执行被描述为由电子设备200的另一组组件执行的一个或多个功能。

在本申请的一些实施例中,提供了一种NBMP系统300.参考图3,NBMP系统300包括NBMP源310、NBMP工作流管理器320、功能储存库330、网络控制器(未图示)、一个或多个媒体处理装置350、媒体源360和媒体接收器370。

NBMP源310可从第三方装置380接收指令、可经由NBMP工作流API(392)与NBMP工作流管理器320通信,并且可经由能力发现API(391)与功能储存库330通信。例如,NBMP源110可将工作流描述符文档WDD(workflow description document(s))发送到NBMP工作流管理器320,并且可读取存储在功能储存库330中的各个功能的功能描述。所述功能可以包括存储在功能储存库330的存储器中的媒体处理功能,例如媒体解码、特征点提取、相机参数提取、投影方法、接缝信息提取、混合、后处理和编码的功能。NBMP源310可以包括或由至少一个处理器和存储代码的存储器实现,该代码用于使该至少一个处理器执行NBMP源310的功能。

NBMP源310可通过将工作流描述符文档发送到NBMP工作流管理器320,来请求NBMP工作流管理器320创建包括任务352的工作流,其中所述任务352将由一个或多个媒体处理装置350执行。所述工作流描述符文档可包括描述符,每个描述符可包括参数。

例如,NBMP源310可选择存储在功能储存库330中的功能,并向NBMP工作流管理器320发送工作流描述符文档,所述工作流描述符文档包括各种用于描述细节(诸如输入和输出数据、所需要的功能以及工作流的要求)的描述符。工作流描述符文档可进一步包括任务描述集,以及将由一个或多个媒体处理装置350执行的任务352的输入和输出的连接映射。当NBMP工作流管理器320从NBMP源310接收此信息时,NBMP工作流管理器320可基于功能名称实例化任务,并根据连接映射连接任务来创建工作流。

可替代地或附加地,NBMP源310可以请求NBMP工作流管理器320使用一组关键词创建工作流。例如,NBMP源310可以将包括该组关键词的工作流描述符文档发送给NBMP工作流管理器320,NBMP工作流管理器320可以使用该组关键词来查找存储在功能储存库330中的适当的功能。当NBMP工作流管理器320从NBMP源310接收到此信息时,NBMP工作流管理器320可以使用在工作流描述符文档的处理描述符中指定的关键词来搜索适当的功能,以及使用工作流描述符文档中的其它描述符来提供和连接任务,以创建工作流。

NBMP工作流管理器320可经由能力发现API(393)与功能储存库330通信,所述能力发现API(393)可以与能力发现API(391)相同或者不同,并且NBMP工作流管理器320可经由NBMP任务API(394)与一个或多个媒体处理装置350通信。NBMP工作流管理器320可以包括或由至少一个处理器和存储代码的存储器实现,该代码用于使至少一个处理器执行NBMP工作流管理器320的功能。

NBMP工作流管理器320可使用NBMP任务API来设置、配置、管理和监视工作流的一个或多个任务352,其中所述工作流的任务352可由一个或多个媒体处理装置350执行。在实施例中,NBMP工作流管理器320可使用NBMP任务API(394)来更新和销毁任务352。为了配置、管理和监视工作流的任务352,NBMP工作流管理器320可将诸如请求的消息发送到一个或多个媒体处理装置350,其中每个消息可具有若干个描述符,每个描述符可包括参数。任务352可各自包括媒体处理功能354,以及用于媒体处理功能354的配置353。

在一些实施例中,在从NBMP源310接收不包括任务列表(例如,包括关键词列表而非任务列表)的工作流描述符文档之后,NBMP工作流管理器320可基于工作流描述符文档中对任务的描述来选择任务,以经由能力发现API(393)搜索功能储存库330,从而查找到适当的功能,以作为当前工作流的任务352运行。例如,NBMP工作流管理器320可基于工作流描述符文档中提供的关键词选择任务。在使用NBMP源310提供的关键词或一组任务描述集来标识适当的功能之后,NBMP工作流管理器320可使用NBMP任务API(394)来配置工作流中的已选择任务。例如,NBMP工作流管理器320可从接收自NBMP源的信息中提取配置数据,并且基于提取的配置数据配置任务352。

一个或多个媒体处理装置350可被配置为从媒体源360接收媒体内容,根据包括任务352并由NBMP工作流管理器320创建的工作流来处理所述媒体内容,并且将处理的媒体内容输出到媒体接收器370。一个或多个媒体处理装置350可各自包括或由至少一个处理器和存储代码的存储器实现,该代码用于使至少一个处理器执行媒体处理装置350的功能。

媒体源360可包括存储媒体的存储器,并且可与NBMP源310集成或分离。在一些实施例中,当工作流已经准备好时,NBMP工作流管理器320通知NBMP源110,并且媒体源360可基于工作流已准备好的通知,将媒体内容传输到一个或多个媒体处理装置350。

媒体接收器370可包括或由至少一个处理器和至少一个显示器实现,所述至少一个显示器用于显示由一个或多个媒体处理装置350处理的媒体。

第三方装置380可包括或由至少一个处理器和存储代码的存储器实现,该代码用于使至少一个处理器执行第三方装置380的功能。

如上所讨论,从NBMP源310到NBMP工作流管理器320的消息(例如,请求创建工作流的工作流描述符文档),以及从NBMP工作流管理器320到一个或多个媒体处理装置350的消息(例如,使工作流被执行的消息)可包括若干个描述符,每个描述符包括参数。在实施例中,使用API在NBMP系统300的任何组件之间进行的通信可包括若干个描述符,每个所述描述符包括参数。

现在参考图4A,描绘了本公开的实施例的3GPP FLUS架构400的框图。3GPP FLUS架构400可以包括第一环境402(例如,包括或由一个或多个用户设备组成的用户环境)和第二环境404(例如,用户环境或网络)。第一环境402可以包括NBMP源405(其可以对应于NBMP源310)、一个或多个采集设备406以及FLUS源408。FLUS源408可以包括控制源410、媒体源412、辅助接收端414和远程控制目标416。第二环境404可以包括FLUS接收端418、NBMP工作流管理器419(其可以对应于NBMP工作流管理器320)、辅助发送器420、NBMP工作流421(其可以包括例如任务352,该任务352可以由第二环境404或另一环境中的具有存储器的至少一个处理器执行)和远程控制器422。FLUS接收端418可以包括控制接收端424和媒体接收端426。

任何数目的NBMP源405、采集设备406、控制源410、媒体源412、辅助接收端414和远程控制目标416可以由第一环境402的相同或不同的至少一个处理器和存储计算机指令的存储器来实现。此外,任何数目的控制接收端424、媒体接收端426、辅助发送器420、远程控制器422和NBMP工作流管理器419可以由第二环境402的相同或不同的至少一个处理器和存储计算机指令的存储器来实现。

第一环境402与第二环境404之间的通信可以由例如网络提供。例如,通信可以经由链路491(例如,F-C链路)、链路493(例如,F-U链路)、链路495(例如,F-A链路)、链路497(例如,F-RC)和路径499(例如,直接NBMP API)来提供。链路491可以表示控制源410与控制接收端424之间的通信路径的端点。链路493可以表示媒体源412与媒体接收端426之间的通信路径的端点。链路495可以表示辅助接收端414与辅助发送器420之间的通信路径的端点。链路497可以表示远程控制目标416与远程控制器422之间的通信路径的端点。路径499可以是NBMP源405与NBMP工作流管理器419之间的通信路径,并不包括FLUS源408和FLUS接收端418。

FLUS源408可以从第一环境402内的或连接到第一环境的一个或多个采集设备406接收媒体内容,并将所述媒体内容转发到FLUS接收端426。FLUS接收端426可以将媒体内容转发到第二环境404内的解码和渲染功能和/或处理或分发子功能。

控制源410可以经由链路491来控制所述控制接收端424,以为后续的下游分发来处理接收的媒体内容,并且可以选择FLUS媒体实例。链路491可以表示与FLUS接收端418的配置的创建和修改相关联的交互。例如,链路491可以允许控制源410选择FLUS媒体实例,提供静态元数据,所述静态元数据与FLUS会话中的每个媒体会话相关联,以及选择和配置处理和分发子功能。

媒体源412和媒体接收端426可以通过使用链路493,经由媒体流建立一个或多个媒体会话以及后续的媒体数据传输。FLUS媒体实例可以被定义为FLUS会话的一部分。可以为一个FLUS会话建立多个媒体流。媒体流可以包含一个或多个媒体内容类型(例如,音频和/或视频)的媒体分量。FLUS会话可以由一个或多个媒体流组成,该媒体流包含例如相同的内容类型(例如,多个视频媒体流)。

辅助发送器420可以经由链路495,向辅助接收端414发送辅助消息。FLUS源408可以用于根据辅助消息改变FLUS源408内的FLUS媒体功能的行为(例如,媒体源的媒体发送行为)。辅助消息内的辅助信息可以涉及,例如,网络相关条件、来自内容接收者的收视率或参与信息、或用户偏好数据。由辅助接收端414向媒体源412发布的示例性推荐可以是仅将视频的前5秒上传到FLUS接收端418,由于当前不存在上行链路直播流内容的收视率。

远程控制器422可以经由链路497,向远程控制目标416发送控制消息。控制消息可以包括例如,开始或停止FLUS源408中的媒体上游处理(media upstreaming process)的命令。FLUS源408可以用于根据控制消息改变媒体源412的行为。远程控制器422可以经由链路497,向FLUS源408提供媒体接收端信息,选择FLUS媒体实例,并且确定采集设备设置和其它FLUS源参数。

根据3GPP FLUS规范,仅为FLUS会话定义通信机制。此外,作为更新FLUS接收端配置的一部分,可以提交WDD。最后,通过使用“获得FLUS接收端状态(get FLUS SinkStatus)”可以接收WDD。

根据本公开的实施例,可以提供NBMP源405和NBMP工作流管理器419,它们可以直接一起工作,而不是通过控制源410和控制接收端424。例如,NBMP源405和NBMP工作流管理器可以经由路径499通信。根据实施例,NBMP源405可以定义网络或目标设备(例如,第二环境404)处的工作流处理。NBMP工作流管理器419和NBMP工作流421可以驻留在网络或目标设备(例如,第二环境404)上。

图4B为本公开实施例提供的媒体处理和流传输的方法的流程图。该方法由基于网络的媒体处理NBMP源执行,如图4B所示,该方法包括以下步骤:

步骤S401,向控制源发送第一请求,以在上行链路实时流框架FLUS源与FLUS接收端之间建立FLUS会话。

步骤S402,在所述FLUS会话建立之后,从所述上行链路实时流框架FLUS源接收NBMP工作流管理器的地址。

步骤S403,通过NBMP工作流管理器的地址对应的路径向所述NBMP工作流管理器发送第二请求,以创建或更新用于处理媒体内容的工作流,所述路径不包括所述上行链路实时流框架FLUS源和所述FLUS接收端。

在一些实施例中,所述第二请求包括创建所述工作流的请求。

在一些实施例中,所述第二请求包括更新所述工作流的请求。

在一些实施例中,向所述上行链路实时流框架FLUS源发送用于指示所述NBMP工作流管理器创建所述工作流的第二请求,其中,所述第二请求包括工作流描述文档WDD。

在一些实施例中,在发送所述第二请求来更新所述工作流之前,由所述基于网络的媒体处理NBMP源通过所述FLUS接收端和所述上行链路实时流框架FLUS源,从所述NBMP工作流管理器接收所述工作流描述文档WDD的更新版本。

在一些实施例中,在所述接收所述NBMP工作流管理器的所述地址之后,发送所述第二请求以创建所述工作流。

在一些实施例中,通过所述上行链路实时流框架FLUS源和所述FLUS接收端,从所述NBMP工作流管理器接收报告或通知。

在一些实施例中,所述从所述NBMP工作流管理器接收所述报告或通知包括:通过所述上行链路实时流框架FLUS源和所述FLUS接收端,从所述NBMP工作流管理器接收描述符,所述描述符包括指示所述报告或通知的参数或事件。

在一些实施例中,所述地址是统一资源定位符URL,所述路径是子域路径。

例如,参考图5,NBMP源405可以定义工作流处理500,其可以包括直接NBMP工作流创建。参考图7,存储在至少一个存储器上的计算机代码可以用于使第一环境402和第二环境404的至少一个处理器执行工作流处理500,所述第一环境402和第二环境404的至少一个处理器用于实现NBMP源405、FLUS源408、FLUS接收端418和NBMP工作流管理器419。下面参考图5和图7提供工作流处理500的描述。

关于工作流处理500,NBMP源405可以首先请求控制源410配置FLUS会话(510)。会话请求模块710可以用于使第一环境402的至少一个处理器执行NBMP源405的此类功能。

控制源410可以创建FLUS接收端配置调用并建立与控制接收端424的会话(520)。会话创建模块720可以用于使第一环境402的至少一个处理器执行FLUS源408的此类功能。

该会话可以用FLUS会话id(例如,“Flus-Id”)来标识,所述FLUS会话id位于从控制接收端424到控制源410的响应的主体中(530)。响应模块730可以用于使第二环境404的至少一个处理器执行FLUS接收端418的此类功能。

接下来,控制源410可以向NBMP源405提供用于NBMP工作流管理器419的统一资源定位符(URL:Uniform Resource Locator)(540)。根据3GPP FLUS规范,使用路径‘/flus/v1.0/sessions/{session-res-id}’识别会话。根据本公开的实施例,所建立的会话的NBMP工作流管理器419可以使用例如‘/flus/v1.0/sessions/{session-res-id}/nbmp-wm’的子路径来标识。工作流管理器标识模块740可以用于使第一环境402的至少一个处理器获取和/或发送NBMP工作流管理器419的地址到NBMP源405。可替代地,NBMP工作流管理器419可以返回作为工作流资源的一部分的URL,以便NBMP源405经由直接路径(例如,图4A的路径499)使用该URL直接访问NBMP工作流管理器419。在此类替代中,工作流管理器标识模块735可以用于使第二环境404的至少一个处理器从NBMP工作流管理器419获取并发送URL到FLUS接收端418,响应码730可以用于使第二环境404的至少一个处理器将URL从FLUS接收端418传输到FLUS源408,工作流管理器标识码740可以用于使第一环境402的至少一个处理器将所述URL从FLUS源408发送到NBMP源405。

随后,建立FLUS会话后,NBMP源405就可以向NBMP工作流管理器419发送(550)和从NBMP工作流管理器419接收(560)通信,以使用直接路径(例如,路径499)和NBMP的操作来创建、更新、获取报告和销毁工作流。例如,请求模块(例如,工作流创建请求模块750)可以用于使第一环境402的至少一个处理器从NBMP源405发送请求到NBMP工作流管理器419,以创建、更新、获取报告和销毁工作流,并且模块(例如,工作流创建模块755和/或响应模块760)可以用于使第二环境404的至少一个处理器执行NBMP工作流管理器419所请求的动作。

通过使用工作流处理500,如3GPP FLUS规范中建议的,可以不需要发送作为“processing_description”的工作流描述文档(WDD:Workflow Description Document)。此外,在实现工作流处理500的实施例中,在建立FLUS会话之后,FLUS源408的控制源410可以向NBMP源405提供NBMP工作流管理器419的路径。NBMP源405与NBMP工作流管理器419之间的所有通信可以经由例如路径499直接完成。

参考图6,NBMP源405可以定义工作流处理600,其可以包括间接NBMP工作流创建,随后是NBMP源405与NBMP工作流管理器419之间的直接交互。间接NBMP工作流创建可以经由F-C链路(例如,图4A的链路491),且方向交互可以经由直接NBMP API(例如,图4A的路径499)。参考图8,存储在至少一个存储器上的计算机代码可以用于使第一环境402和第二环境404的至少一个处理器执行工作流处理600,所述第一环境402和第二环境404的至少一个处理器用于实现NBMP源405、FLUS源408、FLUS接收端418和NBMP工作流管理器419。下面参考图6和图8提供工作流处理600的描述。

与工作流处理500相同或相似,NBMP源405可以首先请求控制源410配置FLUS会话(510),控制源410可以创建FLUS接收端配置调用,并建立与控制接收端424(520)的会话,可以提供从控制接收端424向控制源410(530)的响应,并且控制源410可以向NBMP源405提供NBMP工作流管理器419(540)的地址(例如,URL)。

根据实施例,工作流处理600可以附加地包括以下内容。

NBMP源405可以通过将WDD包括到FLUS源408来发送创建请求(610),随后向FLUS接收端418发送所述创建请求(620)。例如,工作流创建请求模块810可以用于使第一环境402的至少一个处理器创建请求并且将该请求从NBMP源405发送到FLUS源408,工作流创建传输模块820可以用于使第一环境402的至少一个处理器经由例如F-C链路(例如,图4A的链路491)将该请求从FLUS源408发送到FLUS接收端418。FLUS接收端418可以对NBMP工作流管理器进行创建工作流(CreateWorkflow)操作(630),该操作可以是创建工作流的请求,其包括WDD。例如,工作流创建传输模块830可以用于使第二环境404的至少一个处理器执行FLUS接收端418的上述操作。此外,工作流创建模块835可以用于使第二环境404的至少一个处理器根据该请求由NBMP工作流管理器419创建工作流。

随后,NBMP工作流管理器(419)可以通过相同的路径(640、650、660)向NBMP源405提供包括WDD的更新版本的响应。例如,更新WDD模块840可以用于使第二环境404的至少一个处理器由NBMP工作流管理器419更新WDD,并将包括更新的WDD的响应传输到FLUS接收端418。更新的WDD传输模块(例如,更新的WDD传输模块850和更新的WDD传输模块860)可以用于使第一环境402和第二环境404的至少一个处理器将响应从FLUS接收端418发送到FLUS源408,然后再发送到NBMP源405。

在这一点之后,NBMP源405可以使用“wm路径(wm-path)”和WDD的ID对NBMP工作流管理器419进行直接操作调用(Operational calls)(670),并且可以直接从NBMP工作流管理器419接收响应(680)。例如,请求模块870可以用于使第一环境402的至少一个处理器生成操作请求(例如,更新、获取报告、销毁工作流)并将其从NBMP源405发送到NBMP工作流管理器419。此外,模块(例如,工作流模块875和/或响应模块880)可以用于使第二环境404的至少一个处理器执行NBMP工作流管理器419所请求的动作。

在NBMP中,根据本公开的实施例,NBMP工作流管理器419(参见图4A)和/或工作流的任务352(参见图3)可以向第三实体(例如,第三方实体380)提供报告和通知。如果期望的第三实体位于设备中,例如在NBMP源405中或与NBMP源405一起,则NBMP工作流管理器419或任务可以使用F-A链路(例如,链路495)提供那些报告和通知。由于可以在通知和报告描述符中获取报告和通知,因此识别报告和通知是简单的。由于此类动作目标可以由URL来定义,因此可以将“路径”形式的目的地的URL定义为辅助接收端414的路径的一部分。

本公开的实施例提供一种在5G FLUS中建立NBMP工作流的方法。在该方法中,将NBMP工作流管理器的URL标识为会话的唯一路径,其中在FLUS会话URL建立之后,位于第一用户环境(例如,设备)中的NMBP源接收具有附加子域/路径的URL,其中NBMP源可以直接与NBMP工作流管理器通信,以建立工作流并且使用该子域路径来管理该工作流,而无需进一步通过FLUS F-C链路,其中NBMP源可以利用NBMP操作的全部特征,因为它可以直接访问NBMP工作流管理器。

根据本公开的实施例,NBMP源可以可替代地通过FLUS F-C链路将WDD发送到NBMP工作流管理器,接收更新的WDD,所述更新的WDD具有该更新的WDD的ID,然后使用在FLUS会话配置期间建立的子域路径直接与NBMP工作流管理器交互。

根据本公开的实施例,可以经由FLUS F-A链路,向NBMP源或位于第一用户环境中的任易第三方报告工作流和任务的报告和通知,其中所述报告和通知分别包括报告和通知描述符,该描述符包含设置为用于这些目的的参数和事件。

本公开的实施例可以单独或以任何顺序组合使用。进一步地,每一个实施例(及其方法)可以通过处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序。

前述公开内容提供了说明和描述,但并不旨在穷举或将实施方案限制为所公开的精确形式。根据上述公开,修改和变化是可能的,或者可从实施方案的实践中获得。

如本文所用,术语组件旨在被广泛地解释为硬件、固件、或者是硬件和软件的组合。

虽然特征的组合在权利要求中陈述和/或在说明书中公开,但是这些组合并不旨在对可能的实现方式的公开内容进行限制。事实上,这些特征中的许多特征可以以权利要求中未具体列举和/或说明书中未公开的方式组合。虽然下面列出的每个从属权利要求可以直接从属于仅一个权利要求,但是可能的实现方式的公开包括与权利要求组中的每个其它权利要求的组合的每个从属权利要求。

本文中使用的元件、动作或指令都不应被解释为关键的或必要的,除非明确地如此描述。此外,如本文所用,冠词“一”和“一个”旨在包括一个或多个项目,并且可与“一个或多个”互换使用。此外,如本文所用,术语“集”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关和不相关项目的组合等),并且可与“一个或多个”互换使用。当仅意指一个项目时,使用术语“一个”或类似语言。此外,如本文所用,术语“具有”、“有”、“含有”等旨在是开放式术语。进一步地,短语“基于”旨在表示“至少部分地基于”,除非另外明确声明。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:根据影像资讯判断是否播放音乐的音乐播放方法及其所对应的音乐播放系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类