掌桥专利:专业的专利平台
掌桥专利
首页

用于无线通信系统中的基于网络的媒体处理功能的管理的方法和设备

文献发布时间:2023-06-19 11:55:48


用于无线通信系统中的基于网络的媒体处理功能的管理的方法和设备

技术领域

本公开总的来说涉及媒体处理。更具体地,本公开涉及基于网络的媒体处理功能的管理。

背景技术

为了满足自第四代(4G)通信系统的部署起而增加的无线数据业务的需要,已经做出努力来开发改进的第五代(5G)或者预5G通信系统。因此,5G或者预5G通信系统也被称为“超4G网络”或者“后长期演进(LTE)系统”。

5G通信系统被认为以更高频率(毫米波,mmWave)频带,例如28GHz或者60GHz频带实现,从而实现更高数据速率。为了减小无线电波的传播损耗和增加传输距离,在5G通信系统中讨论了波束成形、大规模多输入多输出(MIMO)、全维度MIMO(FD-MIMO)、阵列天线、模拟波束成形、大规模天线技术。

另外,在5G通信系统中,系统网络改进的开发正在基于先进小小区、云无线电接入网络(RAN)、超密集网络、装置到装置(D2D)通信、无线回程、移动网络、合作通信、协调多点(CoMP)、接收端干扰消除等进行。

在5G系统中,已经开发了作为先进编码调制(ACM)的混合频移键控(FSK)和正交幅值调制(FQAM)及滑动窗口叠加编码(SWSC),以及作为先进接入技术的滤波器组多载波(FBMC)、非正交多址接入(NOMA)和稀疏码多址接入(SCMA)。

在5G系统中,讨论各种通信方案。例如,提出了用于在没有许可上行链路传输的情况下发送数据的无许可通信方案。此外,用于有效地支持无许可通信的各种讨论正在进行中。

发明内容

技术问题

本公开提供用于基于网络的媒体处理功能的管理的方法和设备。

技术方案

根据本公开的各种实施例,提供了用于操作电子装置的方法。所述方法包括:从功能储存库接收包括关于功能组中连接的功能的集合的信息的功能组描述;基于功能组描述确定工作流;和对于工作流应用功能组中连接的功能的集合。

根据本公开的各种实施例,提供了一种电子装置。电子装置包括:收发器;和可操作地耦合到收发器的至少一个处理器,且至少一个处理器配置为:从功能储存库接收包括关于功能组中连接的功能的集合的信息的功能组描述;基于功能组描述确定工作流;和对于工作流应用功能组中连接的功能的集合。

其他技术特征根据以下附图、描述和权利要求对本领域技术人员显然的。

技术效果

本公开提供用于基于网络的媒体处理功能的管理的方法和设备。

附图说明

为了本公开及其优点的更完整的理解,现在对结合附图做出的以下描述进行参考,在附图中相同的附图标记表示相同的部分:

图1图示根据本公开实施例的示例通信系统;

图2和图3图示根据本公开实施例的示例电子装置;

图4A图示根据本公开实施例的示例媒体处理系统的框图;

图4B图示根据本公开实施例的示例工作流;

图4C图示根据本公开实施例的示例媒体处理功能;

图4D图示根据本公开实施例的功能组;

图5图示根据本公开实施例的用于具有功能组的工作流生成的示例方法;和

图6图示根据本公开实施例的用于基于网络的媒体处理功能的管理的示例方法。

具体实施方式

在进行以下详细说明之前,提出遍及该专利文件使用的某些词和短语的定义可能是有益的。术语“耦合”及其衍生物指的是两个或更多元件之间的任何直接或者间接通信,无论那些元件是否彼此物理接触。术语“发送”、“接收”和“通信”以及其衍生物包含直接和间接通信两者。术语“包括”和“包含”以及其衍生物意味着无限制地包括。术语“或”是包含性的,意味着和/或。短语“与...相关联”以及其衍生物意味着包括、被包括在内、与...互连、包含、被包含在内、连接到或者与...连接、耦合到或者与...耦合、可与...通信、可与...合作、交织、并列、接近于、接合到或者与...接合、具有、具有...的特性、具有...的关系或者具有与...的关系,等等。术语“控制器”指的是控制至少一个操作的任何装置、系统或者其部分。这种控制器可以以硬件或者硬件和软件和/或固件的组合实现。与任何特定的控制器相关联的功能可以是集中或者分布的,无论本地地或者远程地。短语“...中的至少一个”当与列表的项一起使用时,指的是可以使用一个或多个列出的项的不同组合,和可以仅需要列表中的一个项。例如,“A、B和C中的至少一个”包括任何以下组合:A、B、C、A和B、A和C、B和C、以及A和B和C。

此外,如下所述的各种功能可以由一个或多个计算机程序实现或者支持,每个计算机程序由计算机可读程序代码形成且具体体现为计算机可读介质。术语“应用”和“程序”指的是适于以适当的计算机可读程序代码的实现的一个或多个计算机程序、软件组件、指令集、过程、函数、对象、类、实例、相关数据或者其部分。短语“计算机可读的程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,比如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、紧凑盘(CD)、数字视频盘(DVD)或者任何其他类型的存储器。“非瞬时”计算机可读介质排除传送瞬时电信号或者其他信号的有线、无线、光或者其它通信链路。非瞬时计算机可读介质包括其中可以永久地存储数据的介质和其中可以存储数据且之后重写数据的介质,比如可重写光盘或者可擦存储器装置。

遍及该专利文件提供其他某些词和短语的定义。本领域技术人员应该理解在很多实例中,如果不是大部分实例,这种定义应用于这样定义的词和短语的先前以及将来的使用。

云媒体处理正得到推动,其中在网络(例如,云)中建立媒体处理工作负载以利用由云提供的益处的优点,比如(理论上)无限的计算容量、基于需要的自动缩放和按需处理。终端用户客户端可以在需要时请求网络媒体处理提供者提供和配置媒体处理功能。提供者典型地提供在终端用户客户端可以请求提供的、提供者的域中可用的处理功能/服务的列表,作为网络中的处理工作流的一部分。为提供用于支持的媒体处理功能的查找的设施,提供者必须实现列出所有支持的媒体处理功能的功能储存库。

以下讨论的图1到图6以及用于描述本专利文档中本公开的原理的各种实施例可以是仅通过说明的方式,且不应该以任何方式解释为限制本公开的范围。本领域技术人员将理解本公开的原理可以以任何适当地布置的系统或装置实现。

根据本公开的实施例的电子装置可以包括个人计算机(比如膝上型计算机或者台式计算机)、工作站、服务器、电视、电器、虚拟助手,等等。另外,电子装置可以是一件家具或者一栋建筑/结构的至少一部分、电子板、电子签名接收装置、投影仪或者测量装置。在一些实施例中,电子装置可以是便携式电子装置,比如便携式通信装置(比如智能电话或者移动电话)、膝上型计算机、平板、电子书阅读器(比如e-阅读器)、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、移动医疗装置、虚拟现实头戴式装置、便携式游戏主机、相机或者可穿戴装置,等等。电子装置可以是以上列出的装置之一或者其组合。另外,如在这里公开的电子装置不限于以上列出的装置且可以取决于技术的发展包括新的电子装置。应当注意,如这里使用的,术语“用户”可以表示人或者使用电子装置的另一装置(比如人工智能电子装置)。

图1图示根据本公开实施例的示例通信系统100。图1中示出的通信系统100的实施例仅用于说明。可以使用通信系统100的其他实施例而不脱离本公开的范围。

通信系统100包括促进通信系统100中的各种组件之间的通信的网络102。例如,网络102可以在网络地址之间传递因特网协议(IP)分组、帧中继帧、异步传输模式(ATM)信元或者其他信息。网络102包括在一个或多个位置的一个或多个局域网(LAN)、城市区域网(MAN)、广域网(WAN)、比如因特网的全球网的全部或者一部分、或者一个或多个任何其他通信系统。

在该示例中,网络102促进服务器104和各种客户端装置106-114之间的通信。客户端装置106-114例如可以是智能电话、平板计算机、膝上型计算机、个人计算机、可穿戴装置、头戴式显示器(HMD)等等。服务器104可以表示一个或多个服务器。每一服务器104包括可以提供用于一个或多个客户端装置(比如客户端装置106-114)的计算服务的任何适当的计算或者处理装置。每一服务器104例如可以包括一个或多个处理装置、存储指令和数据的一个或多个存储器、和促进经网络102的通信的一个或多个网络接口。在一些实施例中,服务器104包括可以选择功能和建立工作流管线以执行媒体处理任务的工作流管理器。以下关于图4A、图4B和图5更具体地讨论工作流管理器。

每个客户端装置106-114表示经网络102与至少一个服务器(比如服务器104)或者其它一个或多个计算装置交互的任何适当的计算或者处理装置。客户端装置106-114包括台式计算机106、移动电话或者移动装置108(比如智能电话)、PDA 110、膝上型计算机112和平板计算机114。但是,任何其它或者另外的客户端装置可以用于通信系统100。智能电话表示一类移动装置108,其作为具有移动操作系统和用于语音、短消息服务(SMS)和因特网数据通信的集成移动宽带蜂窝网络连接的手持装置。

在该实例中,某些客户端装置108-114间接地与网络102通信。例如,客户端装置108和110(分别是移动装置108和PDA 110)经由一个或多个基站116,比如蜂窝基站或者e节点B(eNB),进行通信。此外,客户端装置112和114(分别是膝上型计算机112和平板计算机114)经由一个或多个无线接入点118,比如IEEE 802.11无线接入点,进行通信。注意,这些仅用于说明且每个客户端装置106-114可以直接与网络102通信或者经由一个或多个任何适当的中间装置或者网络与网络102间接地通信。

在一些实施例中,客户端装置106-114中的任意可靠地和有效地发送信息到另一装置,例如服务器104。此外,客户端装置106-114中的任意可以触发自己和服务器104之间的信息传输。

虽然图1图示通信系统100的一个示例,但是可以对图1做出各种改变。例如,通信系统100可以包括以任何适当的布置的任何数目的每个组件。总的来说,计算和通信系统具有多种配置,且图1不将本公开的范围限于任何特定的配置。虽然图1图示可以使用本专利文件中公开的各种特征的一个操作环境,但是这些特征可以用于任何其他适当的系统。

图2和图3图示根据本公开实施例的示例电子装置。具体地,图2图示示例服务器200,且服务器200可以表示图1中的服务器104。服务器200可以表示一个或多个本地服务器,一个或多个远程服务器,聚集的计算机,和作为单个无缝资源的池、基于云的服务器等的组件。服务器200可以由图1的客户端装置106-114中的一个或多个访问。

如图2所示,服务器200包括支持至少一个处理装置210、至少一个存储装置215、至少一个通信接口220和至少一个输入/输出(I/O)单元225之间的通信的总线系统205。处理器210执行可以在存储器230中存储的指令。处理器210可以以任何适当的布置包括任何适当的数目和类型的处理器或者其他装置。处理器210的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路系统。

存储器230和永久存储设备235是存储装置215的示例,其表示能够存储和促进信息(比如数据、程序代码和/或临时或者永久的其它适当的信息)的检索的任何结构。存储器230可以表示随机存取存储器或者任何其他适当的易失性或者非易失性存储装置。永久存储设备235可以包括支持数据的长期存储的一个或多个组件或装置,比如只读存储器、硬盘驱动器、闪存存储器或者光盘。

通信接口220支持与其他系统或装置的通信。例如,通信接口220可以包括促进经网络102的通信的网络接口卡或者无线收发器。通信接口220可以支持通过任何适当的物理或者无线通信链路的通信。

I/O单元225允许数据的输入和输出。例如,I/O单元225可以通过键盘、鼠标、小键盘、触摸屏或者其他适当的输入装置提供用于用户输入的连接。I/O单元225也可以发送输出到显示器、打印机或者其他适当的输出装置。但是,注意到可以省略I/O单元225,比如当与服务器200的I/O交互经由网络连接发生时。

注意到,虽然图2被描述为表示图1的服务器104,但是相同或者类似的结构可以用在各种客户端装置106-114的一个或多个中。例如,台式计算机106或者膝上型计算机112可以具有与图2示出的相同或者类似的结构。

图3图示示例电子装置300,且电子装置300可以表示图1中的客户端装置106-114中的一个或多个。例如,在一些实施例中,电子装置300可以实现或者表示虚拟助手装置,其可以接收自然语言输入、从输入推导含义和基于推导的含义执行动作。电子装置300可以是移动通信设备,例如,移动站、用户站、无线终端、台式计算机(类似图1的台式计算机106)、便携式电子装置(类似图1的移动装置108、PDA 110、膝上型计算机112或者平板计算机114),等等。

如图3所示,电子装置300包括天线305、通信单元310、发射(TX)处理电路系统315、麦克风320和接收(RX)处理电路系统325。通信单元310例如可以包括射频(RF)收发器、蓝牙收发器、WIFI收发器、ZIGBEE收发器、红外收发器,等等。电子装置300还包括扬声器330、处理器340、输入/输出(I/O)接口(IF)345、输入350、显示器355、存储器360和一个或多个传感器365。存储器360包括操作系统(OS)361、一个或多个应用362和媒体内容。

通信单元310从天线305接收从网络102(比如WI-FI、蓝牙、蜂窝、5G、LTE、LTE-A、WiMAX或者任何其他类型的无线网络)的接入点(比如基站、WIFI路由器、或者蓝牙装置)或者其他装置发送的进入的RF信号。通信单元310下变频进入的RF信号以生成中频或者基带信号。中频或者基带信号被发送到RX处理电路系统325,该RX处理电路系统325通过滤波、解码和/或数字化该基带或者中频信号来生成已处理的基带信号。RX处理电路系统325将已处理的基带信号发送到扬声器330(比如对于语音数据)或者发送到处理器340以用于进一步处理(比如对于网络浏览数据)。

TX处理电路系统315从麦克风320接收模拟或者数字语音数据或者从处理器340接收其他发出的基带数据。发出的基带数据可以包括网络数据、电子邮件或者交互视频游戏数据。TX处理电路系统315编码、复用和/或数字化该发出的基带数据以生成已处理的基带或者中频信号。通信单元310从TX处理电路系统315接收发出的已处理基带或者中频信号,并将基带或者中频信号上变频为经由天线305发送的RF信号。

处理器340可以包括一个或多个处理器或者其他处理装置。处理器340可以执行存储器360中存储的指令,比如OS 361,以便控制电子装置300的总体操作。例如,处理器340可以根据公知的原理,通过通信单元310、RX处理电路系统325和TX处理电路系统315控制正向信道信号的接收和反向信道信号的发送。处理器340可以以任何适当的布置包括任何适当的数目和类型的处理器或者其他装置。例如,在一些实施例中,处理器340包括至少一个微处理器或者微控制器。处理器340的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路系统。

处理器340也能够执行存储器360中驻留的其他处理和程序,比如通过提供ASR处理等接收、存储和即时指示的操作。处理器340可以通过执行处理根据需要将数据移动到存储器360中或存储器360之外。在一些实施例中,处理器340配置为基于OS 361或者响应于从外部源或者操作者接收到的信号执行多个应用362。例如,应用362可以包括相机应用(用于静止图像和视频)、视频电话呼叫应用、电子邮件客户端、社交媒体客户端、SMS消息传递客户端、虚拟助手等。在一些实施例中,处理器340配置为接收和发送媒体内容363。处理器340也耦合到I/O接口345,I/O接口345向电子装置300提供连接到其他装置(比如客户端装置106-114)的能力。I/O接口345是在这些附件和处理器340之间的通信路径。

处理器340还耦合到输入350和显示器355。电子装置300的操作者可以使用输入350来将数据或者输入录入到电子装置300中。输入350可以是键盘、触摸屏、鼠标、跟踪球、语音输入或者能够作为允许用户与电子装置300交互的用户接口的其他装置。例如,输入350可以包括语音识别处理,由此允许用户输入语音命令。在另一示例中,输入350可以包括触摸板、(数字)笔传感器、按键或者超声输入装置。触摸板例如可以以至少一个方案,比如电容方案、压敏方案、红外方案或者超声方案,识别触摸输入。输入350可以通过向处理器340提供附加输入来与一个或多个传感器365和/或相机相关联。在一些实施例中,传感器365包括一个或多个惯性测量单元(IMU)(比如加速度计、陀螺仪和磁力仪)、运动传感器、光传感器、相机、压力传感器、心率传感器、高度计等。输入350也可以包括控制电路。在电容方案中,输入350可以识别触摸或者接近。

显示器355可以是液晶显示器(LCD)、发光二极管(LED)显示器、有机LED(OLED)、有源矩阵OLED(AMOLED)或者能够呈现比如来自网站、视频、游戏、图像等的文字和/或图形的其他显示器。

存储器360耦合到处理器340。存储器360的一部分可以包括RAM,且存储器360的另一部分可以包括闪存存储器或者其他ROM。存储器360可以包括表示能够存储和促进信息(比如数据、程序代码和/或其他适当的信息)的检索的任何结构的永久存储设备(未示出)。存储器360可以包括支持数据的长期存储的一个或多个组件或装置,比如只读存储器、硬盘驱动器、闪存存储器或者光盘。存储器360也可以包括媒体内容363。媒体内容363可以包括各种类型的媒体,比如图像、视频、三维内容、VR内容、AR内容等。

电子装置300进一步包括一个或多个传感器365,其可以计量物理量或者检测电子装置300的激活状态,并将计量或者检测的信息转换为电信号。例如,传感器365可以包括用于触摸输入的一个或多个按钮、相机、手势传感器、IMU传感器(比如陀螺仪或者陀螺仪传感器和加速度计)、气压传感器、磁传感器或者磁力仪、抓握传感器、接近传感器、颜色传感器、生物物理传感器、温度/湿度传感器、照度传感器、紫外(UV)传感器、肌电图(EMG)传感器、脑电图(EEG)传感器、心电图(ECG)传感器、IR传感器、超声传感器、虹膜传感器、指纹传感器等。传感器365可以进一步包括用于控制在其中包括的任何传感器的控制电路。这些传感器365中的任意可以位于电子装置300内。

虽然图2和图3图示电子装置的实例,但是可以对图2和图3做出各种改变。例如,图2和图3中的各种组件可以被组合,进一步细分或者省略,且可以根据特定的需要添加另外的组件。作为特定示例,处理器340可以被划分为多个处理器,比如一个或多个中央处理单元(CPU)和一个或多个图形处理单元(GPU)。另外,如同计算和通信,电子装置和服务器可以具有多种配置,且图2和图3不将本公开限于任何特定的电子装置或者服务器。

图4A图示根据本公开实施例的示例网络媒体处理系统400的框图。图4B图示根据本公开实施例的示例工作流436a。图4C图示根据本公开实施例的示例媒体处理功能470。图4D图示根据本公开实施例的功能组480。图4A-图4D的实施例仅用于说明。可以使用其他实施例而不脱离本公开的范围。

如图4A所示,网络媒体处理系统400包括经网络410通信的媒体信源(source)420、服务器430和媒体信宿(sink)440。网络410可以与图1的网络102相同或者类似。在一些实施例中,网络410表示由一个或多个网络互连的计算机的“云”,其中网络是当被访问时利用作为单个的无缝资源池的聚集的计算机和组件的计算系统。此外,在一些实施例中,网络410与一个或多个服务器(比如图1的服务器104、服务器200和服务器430)、一个或多个电子装置(比如图1的客户端装置106-114、电子装置300和媒体信源420)连接。另外,在一些实施例中,网络410可以连接到信息储存库(比如媒体信宿440和数据库),其包括查询表和与各种功能有关的信息以及公开媒体的储存库。

在一些实施例中,媒体信源420和媒体信宿440可以表示图1的客户端装置106-114之一、图3的电子装置300或者其他适当的装置。在其他实施例中,媒体信源420和媒体信宿440中包括的组件的一部分可以包括在不同装置中,比如服务器430、多个服务器104或者200、多个客户端装置106-114或者不同装置的其他组合。在一些实施例中,媒体信源420和媒体信宿440是相同装置。

在该实例中,媒体信源420包括信息储存库422。类似地,媒体信宿440可以包括信息储存库442。媒体信源420可以包括相机或者可以捕获或者接收媒体的另外的组件。在一些实施例中,捕获或者记录的媒体需要某个类型的处理,比如VR拼接,但是缺乏执行媒体内容的必要处理的处理能力。媒体信宿440表示可以在服务器430的处理之后传送已处理的媒体的存储装置。

信息储存库422和442表示能够存储和促进信息(比如数据、程序代码和/或临时或者永久的其它适当的信息)的检索的任何适当的结构。信息储存库422和442可以包括存储器和永久存储设备。存储器可以是RAM或者任何其他适当的易失性或者非易失性存储装置,而永久存储设备可以包括支持数据的长期存储的一个或多个组件或装置,比如ROM、硬盘驱动器、闪存存储器或者光盘。信息储存库422和442可以包括比如图3的媒体内容363的一个或多个媒体内容。

媒体信源420可以包括使用户能够选择要从信息储存库422卸载(offload)到服务器430以用于处理的媒体内容的用户接口。用户接口也可以使用户能够将关于要对于媒体内容执行什么类型的媒体处理的指令提供到服务器430。媒体信源420可以在服务器430上卸载用于处理的媒体内容。服务器430可以通过创建为针对接收到的媒体处理请求的媒体处理功能(或者任务)的工作流436,而执行基于网络的媒体处理工作流。例如,比如媒体信源420的媒体信源将工作流描述发送到服务器430。工作流描述提供输入的描述。例如,如果输入基于来自多个相机的记录,则输入描述可以包括记录内容的相机的数目、相机相对于彼此的相对位置、捕获内容的格式等等。工作流描述也可以包括对于想要的媒体处理的请求。另外,工作流描述可以包括在比如期望的分发输出后处理之类的处理之后,媒体内容要移动到的位置(比如媒体信宿440)。

在服务器430从媒体信源420接收工作流描述之后,服务器430标识一个或多个功能、实体、任务、服务等,以基于工作流描述和与功能中的每一个相关联的信息来执行媒体处理。

在一些实施例中,服务器430可以如图2所示的实现。在其他实施例中,服务器430中包括的组件的一部分可以包括在不同装置中,比如多个服务器104或者200、多个客户端装置106-114、多个电子装置300或者不同装置的组合。服务器430可以表示一个或多个本地服务器、一个或多个远程服务器、基于网络的媒体处理(NBMP)框架等。服务器430可以是网络服务器、比如管理服务器的服务器计算机,或者能够发送和接收数据的任何其他电子计算系统。服务器430可以包括功能储存库432、工作流管理器434和工作流436。

功能储存库432可以与信息储存库422和442相同或者类似。功能储存库432表示能够存储和促进功能的检索的任何适当的结构。功能储存库432可以包括存储器和永久存储设备。存储器可以是RAM或者任何其他适当的易失性或者非易失性存储装置,而永久存储设备可以包括支持数据的长期存储的一个或多个组件或装置,比如ROM、硬盘驱动器、闪存存储器或者光盘。

功能储存库432可以包括多个基于网络的媒体处理功能,比如图4C的媒体处理功能470(功能470)。在一些实施例中,基于网络的媒体处理功能,比如功能470位于远程服务器上。功能470表示基于网络的媒体处理功能、基于网络的媒体处理任务、基于网络的媒体处理服务、基于网络的媒体处理实体等。功能470是图4B的工作流436a的任务或节点。

功能470可以实现一个媒体处理功能或者任务。当在工作流管线中布置多个功能,每个功能执行某个处理任务时,创建工作流436和比如图4B的工作流436a的工作流。基于网络的媒体处理功能中的每一个当被包括在工作流管线中时,执行它们的相应的任务以完成从媒体信源420请求的任务。功能储存库432中的每个功能470可以使用描述符的集合定义。用于定义功能470的描述符的示例在以下表中示出。

所有媒体处理功能,比如功能470,由工作流管理器434单独地配置。为了功能470执行工作流内的任务,功能470接收需求472、输入媒体(或者元数据或者这两者)474和配置信息476。然后功能470基于接收到的输入(需求472、输入数据474和配置信息476)产生输出478。

媒体处理功能或者任务(比如功能470)可以接收输入数据474,比如媒体数据流、元数据或者这两者。功能470可以处理接收到的媒体数据流和元数据。功能470产生输出478,比如输出媒体、元数据或者这两者。服务器430可以使用不同类型的多个媒体处理功能以执行所请求的媒体内容的处理。在一些实施例中,基于网络的媒体处理功能可以由第三方服务提供者创建并包括在目录中。

功能储存库432也可以包括功能的目录或者列表,其包括可用于工作流管理器434的基于网络的媒体处理功能、基于网络的媒体处理任务、基于网络的媒体处理服务等。功能的列表也可以远离服务器430,比如在远程数据库中。目录包括工作流管理器434可访问的每个媒体处理功能的细节。目录可以列出关于媒体处理功能中的每一个的细节,比如(i)任务细节、(ii)输入(比如图4C的功能470的需求472、输入数据474和配置信息476)、和(iii)输出(比如图4C的功能470的输出478)。

如图4A所示,提供用于媒体处理的信息的工作流描述从NBMP信源420发送到工作流管理器434,工作流管理器434使用用于媒体处理的信息选择MPE的集合和在它们中运行媒体处理任务。要在MPE中运行的任务从功能储存库432选出。工作流管理器434然后在一个或多个媒体处理实体中运行所选的任务;配置任务;和连接NBMP信源420、供应的MPE和媒体信宿440之间的控制和数据平面路径。工作流可以示为有向非循环图(DAG),如图4B-4D所示。

“输入数据”表示为对功能470的输入数据474。输入数据是媒体内容、元数据或者特定功能要作用于其上的媒体内容的一部分。例如,“输入数据”可以指定数据的格式类型,比如数据的特定格式。数据的类型可以是实际的输入数据流或者元数据流。也就是,输入数据表示功能使用或者操纵的数据。在一些实施例中,输入数据可以是提供描述用于特定功能的输入的类型的信息的输入描述。

“配置数据”表示为图4C的功能470的配置信息476。“配置数据”向功能提供配置信息,以使得功能可以相对于“输入数据”初始化其处理参数。例如,“配置数据”可以提供执行对于功能分配的处理需要的信息。“配置数据”可以包括分配给特定功能的可执行/脚本需要的配置变量、常数和参数。“配置数据”还可以包括功能要创建的输出的配置类型。“配置数据”还可以包括当记录媒体时相机的数目和每个相机的方位。

“配置数据”表示为图4C的功能470的配置信息476。“配置数据”向功能提供配置信息,以使得功能可以相对于“输入数据”初始化其处理参数。例如,“配置数据”可以提供执行对于功能分配的处理需要的信息。“配置数据”可以包括分配给特定功能的可执行/脚本需要的配置变量、常数和参数。“配置数据”还可以包括功能要创建的输出的配置类型。“配置数据”还可以包括当记录媒体时相机的数目和每个相机的方位。例如,如果记录的媒体由四个相机捕获,则“配置数据”可以包括每个相机的方位,比如每个相机相对于其他三个相机的位置、相机的配置参数,比如焦点深度、兆像素的数目、光照条件、分辨率等。

“需求”表示为图4C的功能470的需求472。“需求”提供一个或多个需求和前置条件信息以确定功能应该位于哪里和它怎样由工作流管理器434选择。例如,“需求”可以包括比如延迟需求、带宽需求等的QoS信息。“需求”还可以包括特定功能需要的处理需要(比如计算需求、存储需求、基础设施需求等),以便执行所需的处理。例如,处理需求可以指示功能使用的特定硬件,比如特定处理器,比如功能需要的处理器的数目、功能需要的处理器的速度,功能需要的最小或者最大的存储器需求、功能执行其任务的延迟或者等待时间,等等。

工作流管理器434可以从媒体信源420接收工作流描述。工作流管理器434可以查找目录(比如功能储存库432内的目录)内的所有可用功能和服务。基于目录中包括的每个功能的信息,工作流管理器434检查功能的需求并选择一个或多个基于网络的媒体处理功能以建立工作流436。以下在图4B中图示了示例工作流436a。工作流管理器434选择和映射媒体处理功能中的每一个以创建管线工作流436。

例如,一旦网络运营者或者第三方服务提供者定义目录中表示的多个功能,服务器430可以接收用于媒体处理的请求。工作流管理器434可以从媒体信源420接收媒体处理请求。用于媒体处理的请求可以包括媒体数据的特定输入、处理的所请求的媒体输出以及某些处理需求,比如延迟等。在一些实施例中,媒体信源420表示多个电子装置,电子装置中的每个可以将媒体处理请求发送到服务器430。

当从媒体信源420接收到用于媒体处理的请求时,工作流管理器434扫描包括所有可用的服务和功能的目录。响应于接收请求,工作流管理器434检查目录中包括的每个功能、服务、任务等的指定需求。例如,基于请求和目录内的功能,工作流管理器434当选择每个功能时审查每个功能细节、输入、输出(参见以上表(1)的输入)。

工作流管理器434从目录选择能够执行处理的某些功能。工作流管理器434使用所选的功能来建立媒体处理管线,比如工作流436。例如,工作流管理器434可以基于先前功能的输出选择工作流436的每个后续功能,直到能够实现所请求的最终结果为止。这样第一功能的输出是第二功能的输入,第二功能的输出是第三功能的输入,等等,直到完成所请求的处理为止。在一些实施例中,工作流436不是线性的,比如图4B中图示的工作流436a。在一些实施例中,工作流管理器434可以指示某些功能产生多个输出,以使得输出被发送到相应数目的后续功能。工作流管理器434还基于请求中包括的处理需求选择特定功能。此后,工作流管理器434组织管线中的每个所选的功能,比如执行媒体处理的工作流436。

工作流管理器434还可以基于每个单独的功能的总的等待时间来选择某些功能。例如,如果要在特定持续时间(如在接收到的工作流描述中指示的)内完成工作流,则工作流管理器434选择可以在如在接收到的工作流描述中指示的分配的端到端等待时间内执行整个工作流的某些功能。工作流管理器434还可以基于最大或者最小允许的帧速率、处理速度等选择某些功能。

如以上详述的,每个功能包括某些需求以适当地执行。需求可以包括CPU的数目、GPU的数目、存储器需求、带宽需求等。当工作流管理器434选择某些功能时,工作流管理器434检查每个功能的需求,并基于系统参数选择功能以保证每个功能具有执行其各自的处理任务的必要的需求。

工作流管理器434基于每个功能预定义的需求将信源请求映射到工作流436中的适当的媒体处理功能。工作流管理器434然后基于每个功能的需求中定义的功能服务(如以上表(1)所示的),将信源请求映射到工作流436中的每个功能。

工作流管理器434可以在每个功能执行其媒体的处理时监视每个单独的功能。监视每个功能可以包括在执行其任务的同时标识功能是否失败。监视每个功能还可以包括标识功能是否可以需要与目录中指示的不同的输入格式或者产生与目录中指示的不同的输出。如果工作流管理器434标识功能失败,则工作流管理器434可以在工作流436中选择一个或多个新功能代替失败的功能。类似地,如果工作流管理器434标识功能的输入/输出对执行想要的工作流是不正确的,则工作流管理器434可以去除不正确的功能,且以一个或多个新功能代替它。替代地,工作流管理器434可以从改变功能的输入或者输出的格式的目录选择一个或多个另外的功能,以便工作流436的工作流处理媒体内容。

工作流436以按照执行处理请求的某个次序映射的任意数目的所选功能表示工作流管线。在一些实施例中,工作流436可以是线性工作流,以使得每个功能的输出是下一后续功能的输入,直到完成处理为止。在一些实施例中,工作流436表示如在图4B的工作流436a中所示的非线性的工作流。在一些实施例中,工作流管线中的功能可以顺序发生,而其他功能并行发生(在相同或者类似的时间)。

在一些实施例中,终端用户可以选择和将单独的功能组织为工作流管线,并允许终端用户的顾客使用创建的功能。在一些实施例中,用户可以基于所请求的处理任务和输入数据来访问工作流管理器434并请求工作流管理器434创建工作流管线。

图4D图示根据本公开的实施例的示例功能组480。可以插入到媒体工作流中的媒体处理功能470的集合可以在被称为功能储存库432的储存库内部被管理。网络服务提供者可以管理该功能储存库,所以工作流管理器或者NBMP(媒体)信源420可以查找可用的媒体处理功能470,且然后决定在分配用于工作流436的处理实体上作为媒体处理任务运行功能470。

在网络媒体处理系统400中,有可能需要非常频繁地执行一个或多个功能470,即,在许多NBMP工作流436中以相同次序一起应用功能470。因为以下这可能发生:(1)需要在另一功能470之前或者之后应用一个或多个功能470以使得输入482或者输出484分别与工作流436中的先前或者下一功能兼容;(2)当需要使用多个媒体处理功能470实现媒体处理功能性时发生给定处理功能性的拆分;或者(3)不能由单个功能470满足处理需求,且处理需求必须在必须复用其输出的功能470的多个并行实例上分布。在任何情况下,功能470的集合对于媒体处理功能性中的许多一起出现是非常常见的。为解决该情况,功能组480被这样在功能储存库432中定义和表示。

为在功能储存库中定义功能组,本公开提供了其中功能储存库保存表示一个组的不同功能的分组的单独的表或者标注的方法。在本公开的实施例中,表或者标注具有以下格式:

功能470可以使用如上所述的“seq”和“par”关键字一起分组在功能组480中。当在功能储存库432中创建这种功能组480时,功能开发者的责任是确定功能470的输出端口可以连接到功能组480中的下一功能470的输入端口,即,彼此兼容的功能470。但是,如果需要分组在一起的两个功能470不彼此兼容(即,功能470的输出端口不能连接到另一功能470的输入端口),则工作流管理器434可以插入一个或多个“兼容性功能”以连接功能组480中的那些不兼容的功能。

对于单独的表/数据库中的以上类型的组信息,分组信息与功能定义分开地保存,且结果,功能没有紧密地绑定(tie)到功能组480,即,如果在不同工作流中需要,也可以在没有功能组480中的其他功能470的情况下使用功能组480中定义的功能470。

对于要在功能储存库432中保持的以上表或者数据库,请求操作者的功能储存库432内的功能470的登记的实体或者个体应该使用如上所述的不同描述符,建立使用功能定义的表示的适当的功能定义。此外,工作流管理器434可以基于功能储存库432中的功能描述符构造该表。当功能470由不同卖方登记且不具有与由不同卖方定义的其他功能470一起分组它们的功能470的在先意图时,这将是有帮助的。

在某些实施例中,作为维持单独的功能组表/数据库的替代方案,每个功能470可以使用“组描述符”表示它的组意图。组描述符提供该功能470相对于功能储存库432中的其他功能470的分组信息。在提供用于插入到功能储存库中的功能定义时,除了如早先描述的其他描述符还包括该组描述符。与如以下描述的新关键字“self”一起,组描述符使用如早先描述的“seq”和“par”提供分组信息。例如,在func_2的功能定义中(其Id是func_d),可以使用以下示例示出组描述符。

示例1:顺序的func_2:Func_2组描述符:seq{,self,},表示以以上示出的顺序的次序、与func_1_Id和func_3_Id按顺序地执行func_2(如使用“self”关键字表示的)。

示例2:并行的func_2:Func_2组描述符:par{,self},表示在组中与func_1_Id并行地执行func_2(如使用“self”关键字表示的)。

示例3:在子组中并行的,但是在父组中顺序的func_2:Func_2组描述符:seq{func_1_Id,par{,self},func_4_Id}表示在子组中与func_1_Id并行地执行func_2(如使用“self”关键字表示的)。且该子组使用由该分组示出的次序与功能func_1_Id和func_4_Id顺序地执行。

通过这些类型的表示,需要在功能储存库432中的功能的定义登记期间执行功能的分组。

在某些实施例中,功能470能够指示功能470可以或者必须属于的功能组480的列表。标志用于指示分组是必需的或者可选的。功能470还示出了它到功能组480的其他功能470的连接、在功能组480中要加载的功能470的实例的数目、表示功能组480的子工作流中的功能470的位置。可以根据下表提供信息。

为了维持跨同一功能组480的功能470的媒体的同步,使用功能470之间的附加的元数据连接。同步信号由功能组480中的第一功能470生成且作为单独的元数据流发送。该信息传播到功能组480中的最后的功能470,其可以使用该信息以重新复用和重新同步功能组480中的在先功能470的输出。

有可能当创建功能组480时,功能组480内的功能470中的一个或多个取决于在功能组480中较早出现的功能470的执行结果。关于这点,功能组480内的功能470不仅可以交换输入和输出,而且可以交换比如配置数据和需求数据的其他数据。在功能组480中早先出现的功能组480中的一个或多个功能470可以生成功能组480中的下一功能470对于它们的执行可能需要的配置数据。为了实现此,(1)功能470可以生成和输出作为到在功能组480之后出现的功能470的输入发送的配置数据;(2)功能470可以生成和输出作为到在功能组480之后出现的功能470的输入发送的需求数据;(3)功能470可以生成和输出作为到在功能组480中之后出现的功能470的输入发送的监视数据(例如,质量监视数据、安全监视数据等);和(4)功能470可以生成和输出作为到在功能组480中之后出现的功能470的输入发送的声明数据(表示需要执行的不同校验的数据)。

为了在功能组中之后出现的功能470的益处,这种数据可以由在该组中早先出现的功能生成和发送。可以使用以下两个选项发送该数据。(1)将数据返回到工作流管理器434,该工作流管理器434可以用其配置该功能组480内的其他功能470。典型地,静态数据可以通过工作流管理器434发送到功能组480内的后续功能470。(2)对于由功能组480中较早的功能470生成的动态数据,现有的媒体和元数据信道可以用于将该信息直接发送到运行功能组480内的后续功能的实体。

如在NBMP系统400中描述的,从NBMP(媒体)信源420发送工作流描述文档以用于请求网络中的媒体处理的建立。工作流描述文档可以包括NBMP信源420意图包括在NBMP工作流中的功能的列表。利用功能储存库中的功能组,除功能储存库432中的功能470之外,NBMP信源420能够插入工作流描述文档中的功能组480。

NBMP信源420可以使用两个不同方式在NBMP工作流436中插入功能组480。(1)NBMP信源420可以指示工作流管理器434可以基于其标识工作流436中插入的功能组480的关键字的列表。工作流管理器434可以使用关键字列表以(a)可以单独地应用不同关键字以搜索匹配由NBMP信源420给出的关键字中的一个或多个的功能470。工作流管理器434然后可以将匹配关键字的多个集合的不同功能470分组为功能组480;和(b)可以使用由NBMP信源420给出的不同关键字之间的关系决定功能组480。(2)NBMP信源420可以通过在NBMP信源420发送到工作流管理器434的工作流描述文档中包括特定功能组480,来指示功能储存库432中的特定功能组480的使用。当NBMP信源420指示NBMP 420想要在工作流描述文档(即,信源定义的工作流)中插入的所有媒体处理功能470的列表时,该选项是优选的。在该情况下,类似NBMP信源420指示功能470的列表(例如,使用任务连接映射,即,互连任务的映射)的方式,NBMP信源420可以包括任何功能组480代替任务连接映射中的功能470。

组内的不同功能可以具有与该组中的其他功能的清楚的从属性。可以使用如以下描述的功能储存库中的关键字的集合编码从属性信息。

如上所示的功能从属性信息可以在寄存功能定义信息的同时用功能储存库登记。例如,该信息可以使用组描述符登记。工作流管理器将基于该信息建立组关系。

因为由NBMP操作者维持功能储存库,所以完全可能功能储存库中的不同功能的实现来自不同卖方,即不同实现者。通过该建立,完全可能卖方可以提供用于所需功能性的功能,且不同卖方可以提供用于相同功能性的功能组实现。当这两个类型的实现可用时,成为工作流管理器的责任以从NBMP信源选择针对给定请求的一个实现。

当这样的多个选项在功能储存库中可用时,提出工作流管理器将其作为分类问题来处置,并使用机器学习算法来选择正确的实现插入NBMP工作流中的。当NBMP信源清楚地指示工作流描述文档中的功能或功能组时,工作流管理器仅在NBMP工作流中包括各自的功能或功能组。在该情况下,工作流管理器不需要使用来自分类模型的推断以找到正确的实现插入工作流中。但是,当没有关于要在工作流中包括的实现的类型的来自NBMP源的指示时(例如,当NBMP信源仅发送用于选择功能或功能组的关键字)时,提出工作流管理器使用已经利用它运行的学习算法推导出的推断来选择正确的实现。

可以如下做出选择正确的实现(例如,是否插入功能或功能组,或者实现的变化的集合当中的哪个实现):(1)收集不同实现并将其每一个处理为分类选项,即结果。(2)取决于多个输入变量,找到哪个结果(实现)更适当/可行。这可以使用多个分类模型(比如逻辑回归、决策树、随机森林、梯度上升树、多层感知、一个对剩余和朴素贝叶斯)实现。使用以上列出的任何算法,多个输入因数可以用于学习以找到正确的结果。以上算法可以考虑以选择正确的结果(实现)的不同输入因数是:(a)NBMP信源偏好,比如由NBMP信源请求的所请求的功能/功能组。(b)由NBMP信源在工作流描述文档中传递的需求。多个输入因数可以基于如下所列的需求信息:(i)位速率需求:基于所请求的位速率选择结果。(ii)吞吐量需求:基于所请求的吞吐量选择结果。(iii)硬件需求:基于由NBMP信源提供的硬件需求的类型(比如处理器需求、CPU核心、GPU等)选择结果。(iv)存储需求:基于存储选择结果。(v)安全需求:基于安全需求选择结果。(C)选择正确的实现时的操作者偏好。

基于如以上定义的多个输入因数,工作流管理器可以分类表示给定实现(例如,功能或者功能组)的可能结果。结果表示工作流管理器插入NBMP工作流中的功能性的实现。

图4B图示具有多个任务(任务451-459)的工作流管线。每个任务表示功能,类似图4C的功能470。工作流管理器434选择任务451-459中的每一个以便基于从媒体信源420接收到的工作流描述生成输出460。任务451、453和455可以接收输入数据或者输入数据的一部分。在一些实施例中,功能可以接收比如任务454和457的多个输入。在一些实施例中,功能可以生成比如任务451和454的多个输出。在一些实施例中,功能可以并行处理数据,比如任务454、457、459、456和458。

虽然图4A图示环境-架构,图4B图示示例工作流,图4C图示示例功能,且图4D图示示例功能组。可以对图4A-4D做出各种改变。例如,任意数目的功能可以包括在工作流436中。

图5图示根据本公开实施例的用于具有功能组的工作流生成的示例方法500。

在操作505中,工作流管理器434可以将查询发送到功能储存库432。该查询可以包括功能470的输入、输出、功能性等。功能储存库432可以遍历存储的功能470的列表以确定包括所请求的输入、输出或者功能性的一个或多个功能。

在操作510中,工作流管理器434可以接收匹配功能描述的列表。功能描述可以包括通过功能储存库432的遍历找到的输入、输出和功能性。

在操作515中,工作流管理器434可以确定适当的功能470是否属于功能组480。工作流管理器434执行对于匹配功能描述的列表中的每个功能470的确定。

在操作520中,工作流管理器434可以接收一个或多个功能组描述。当功能470是功能组的部分时,工作流管理器434请求来自功能储存库的功能组描述。

在操作525中,工作流管理器434可以建立工作流436。功能470和功能组480可以基于功能描述和功能组描述添加到工作流436。

图6图示根据本公开实施例的用于基于网络的媒体处理功能的管理的示例方法。例如,图13中示出的处理被描述为由图2的服务器200、图3的电子装置300、图4A的媒体信源420和服务器430实现。

在操作605中,服务器430可以接收功能储存库中包括的功能的列表。可以响应于来自媒体信源的查询接收功能的列表。功能的列表可以包括功能描述、功能输入、功能输出等。

在操作610中,服务器430可以使用功能的列表内的功能建立工作流。基于从媒体信源接收到的需求生成工作流436以便处理有效载荷,比如媒体文件。有效载荷可以在单个实体内处理或者在多个实体当中分布。当建立工作流436时,考虑实体的资源和能力以最大化效率和最小化成本。

在操作615中,服务器430可以确定不兼容的第一功能的输出和第二功能的输入。当建立工作流时,服务器430可以基于功能描述选择特定功能。当优化工作流时,服务器430可以确定某些功能虽然对于处理有效载荷是最优的,但是与在先的功能或者后续的功能不兼容。兼容性的确定可以基于第一功能的输出和第二功能的输入。功能的输出必须与直接地在后的功能的输出兼容。

在操作620中,服务器430可以在第一功能和第二功能之间插入一个或多个兼容性功能。兼容性功能可以是处理第一功能的输出和第二功能的输入的变换。一个或多个兼容性功能可以具有使用的多个功能。当使用多个兼容性功能时,它们可以取决于兼容性功能的功能性顺序地或者并行地置于工作流中。

在操作625中,服务器430可以创建具有第一功能、一个或多个兼容性功能和第二功能的功能组。一旦确定兼容性功能,第一功能、一个或多个兼容性功能和第二功能的组可以分组在功能组中。服务器430可以在保存在功能储存库中时提供功能组的组描述,用于将来的使用或者用于代替工作流中的第一功能和第二功能的其他实例。

在操作630中,服务器430可以以功能组替换其中第一功能紧接在第二功能之前的每个实例。对于现有的工作流或者在第二功能之前的第一功能的其他实例,服务器430可以确定功能组将通过替换增强工作流。服务器430也可以确定具有与第一功能和第二功能类似的描述或者目的的功能可以使用新功能组更好地操作。

在操作635中,服务器可以使用包括功能组的工作流处理有效载荷。服务器430基于工作流436从媒体信源420引导有效载荷以处理用于由媒体信宿440消耗的有效载荷。

虽然附图图示了用户设备的不同示例,但是可以对附图作出各种改变。例如,用户设备可以包括以任何适当的布置的任何数目的每个组件。总的来说,附图不将本公开的范围限于任何特定配置。此外,虽然附图图示本专利文件中公开的各种用户设备特征可以使用的操作环境,但是这些特征可以用于任何其他适当的系统。

在本申请中的描述都不应解读为暗示任何特定的元件、步骤或功能是必须包括在权利要求范围中的必要元件。专利的主题范围仅由权利要求限定。

虽然已经以示例性实施例描述了本公开,但是可以向本领域技术人员提出各种改变和修改。本公开意在包含落入所附权利要求的范围内的这种改变和修改。

相关技术
  • 用于无线通信系统中的基于网络的媒体处理功能的管理的方法和设备
  • 用于管理无线通信系统中的网络通信量的方法和设备
技术分类

06120113106653