CN117917062A - 在基于云的媒体应用中部署具有固定预配置参数的工作流任务 - Google Patents
在基于云的媒体应用中部署具有固定预配置参数的工作流任务 Download PDFInfo
- Publication number
- CN117917062A CN117917062A CN202380011089.9A CN202380011089A CN117917062A CN 117917062 A CN117917062 A CN 117917062A CN 202380011089 A CN202380011089 A CN 202380011089A CN 117917062 A CN117917062 A CN 117917062A
- Authority
- CN
- China
- Prior art keywords
- function
- nbmp
- instance
- tasks
- data structure
- 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
Links
- 230000006870 function Effects 0.000 claims abstract description 228
- 238000012545 processing Methods 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims description 31
- 230000011664 signaling Effects 0.000 claims description 16
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000011161 development Methods 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 abstract description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本公开内容总体上涉及使用NBMP系统的媒体应用开发和部署。更具体地,本公开内容描述了用于在NBMP工作流中使用的功能的实例级配置的方法和装置。提供了示例机制,用于利用基于功能的一般配置描述符的格式的定制的配置和限制来配置媒体处理工作流中的各种任务中相同功能的不同实例。
Description
交叉引用
本申请基于2023年4月17日提交的美国非临时专利申请第18/301,810号并且要求其优先权的权益,该美国非临时专利申请基于2022年4月19日提交的美国临时专利申请第63/332,614号并且要求其优先权的权益。这些在先专利申请中的每件申请的全部内容通过引用并入本文。
技术领域
本公开内容总体上涉及使用基于网络的媒体处理(Network-Based MediaProcessing,NBMP)的媒体流技术。更具体地,本公开内容描述了用于在NBMP工作流中使用的功能的实例级配置的方法和装置。
背景技术
本文中提供的该背景技术描述是出于总体上呈现本公开内容的上下文的目的。就该背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交本申请时可以不被另外限定为现有技术的描述的各方面既没有明确地也没有隐含地承认为针对本公开内容的现有技术。
网络和云平台可以用于运行各种媒体应用。基于网络的媒体处理(NBMP)系统提供了用于在基于云的环境上定义、实例化和运行工作流的平台。这样的工作流可以在每次部分地、逐个任务地或以一组任务的方式运行。NBMP示出了提高媒体处理效率、更快和更低成本地部署媒体服务的巨大潜力以及通过利用公共云服务、私有云服务或混合云服务来提供大规模部署的能力。在NBMP中,各种多媒体服务提供商和网络/云服务提供商可以协作以向客户提供定制的沉浸式媒体服务。
发明内容
本公开内容总体上涉及使用NBMP系统的媒体应用开发和部署。更具体地,本公开内容描述了用于在NBMP工作流中使用的功能的实例级配置的方法和装置。提供了示例机制,用于利用基于功能的一般配置描述符的格式的定制的配置和限制来配置媒体处理工作流中的各种任务中相同功能的不同实例。
在一些示例实现方式中,公开了一种用于在基于云的平台中为媒体处理应用生成NBMP工作流的信号通知方法。该方法可以包括:确定媒体处理应用的NBMP工作流中的多个NBMP任务中的NBMP任务;识别要由NBMP任务使用的来自功能储存库的功能;将功能与实例标识符相关联,实例标识符将NBMP任务中的功能的实例与多个NBMP任务中的其他NBMP任务中的功能的其他实例进行唯一区分;获得来自功能储存库的功能的配置描述符数据结构;确定针对NBMP任务中的功能的实例的一组限制;通过将一组限制应用到配置描述符数据结构并且使用与配置描述符数据结构相同的格式,来生成功能限制数据结构,功能限制数据结构由实例标识符唯一地标识;以及构造NBMP工作流的过程描述符,该过程描述符包括与实例标识符成对的功能限制数据结构,用于向NBMP工作流管理器信号通知功能的与实例相关的限制。
在上述示例实现方式中,配置描述符数据结构包括用于功能的一组实例无关的参数配置。
在上述示例实现方式中的任何一个中,一组实例无关的参数配置包括与功能相关联的参数的一组参数范围。
在上述示例实现方式中的任何一个中,该组参数范围中的至少一个参数范围包括数值范围。
在上述示例实现方式中的任何一个中,该组参数范围中的至少一个参数范围包括一组可选选项。
在上述示例实现方式中的任何一个中,该组限制包括对一组参数范围的额外的与实例相关的限制。
在上述示例实现方式中的任何一个中,该组限制中的至少一个包括将与功能相关联的参数中的至少一个限制为单个数值。
在上述示例实现方式中的任何一个中,该组限制中的至少一个包括将与功能相关联的参数中的至少一个限制为单个选项。
在上述示例实现方式中的任何一个中,该方法还可以包括从功能储存库中识别要由多个NBMP任务使用的多个功能,每个任务中每个功能的使用被归属于唯一的功能实例;以及构造功能实例之间的连接关系作为过程描述符的一部分,功能实例中的每一个与唯一的功能实例标识符相关联。
在一些其他示例实现方式中,公开了一种在基于云的平台中为媒体处理应用生成NBMP工作流的方法。该方法可以包括接收NBMP工作流描述符文档;从NBMP工作流描述符文档中提取与来自功能储存库的功能相关联的功能限制数据结构并且提取作为功能限制数据结构的属性的实例标识符,实例标识符唯一地标识NBMP工作流的NBMP任务中功能的使用实例,并且功能限制数据结构是实例相关的并且遵循用于功能储存库中的功能的配置描述符数据结构的格式来构造;从功能限制数据结构中提取功能的一组实例相关的限制;以及根据NBMP工作流描述符文档和功能的实例相关的限制生成NBMP工作流。
本公开内容的各方面还提供了一种电子设备或系统,该电子设备或系统包括电路或处理器,该电路或处理器用于执行来自存储器的计算机指令以执行上述方法实现方式中的任何一个。
本公开内容的各方面还提供了一种非暂态计算机可读介质,该非暂态计算机可读介质存储指令,这些指令在由电子设备或系统执行时被配置为使电子设备或系统执行上述方法实现方式中的任何一个。
附图说明
根据以下详细描述和附图,所公开主题的另外的特征、性质和各种优点将更加明显,在附图中:
图1是根据本公开内容的一个或更多个实施方式的适用于媒体应用的媒体通信系统的示例示意图示。
图2示出了用于媒体应用的示例计算环境。
图3示出了根据本公开内容的一个或更多个实施方式的NBMP系统的示例框图。
图4示出了根据本公开内容的一个或更多个实施方式的示例数据流和逻辑流。
图5示出了根据本公开内容的一个或更多个实施方式的另一示例数据流和逻辑流。
具体实施方式
用于媒体处理的云计算环境
图1示出了根据下面的各种示例实施方式的可以在其中实现本文描述的方法、装置和系统的示例计算环境100的图。如图1所示,计算环境100可以包括一个或更多个用户设备110(以下仅为简单起见以单数形式描述)、计算平台120和通信网络130。环境100的不同设备和部件可以经由通信网络130的有线连接、无线连接或有线连接和无线连接的组合进行互连。
用户设备110包括能够接收、生成、存储、处理和/或提供与计算平台120相关联的信息的一个或更多个设备。例如,用户设备110可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电话等)、可穿戴设备(例如,一对智能眼镜或智能手表)或类似的设备。在一些实现方式中,用户设备110可以从平台120接收信息并且/或者向平台120发送信息。
计算平台120包括如本文中其他地方所述的一个或更多个设备。在一些实现方式中,计算平台120可以包括云服务器或一组云服务器。云服务器或一组云服务器可以集中地定位,或者可以按地理位置分布。在一些实现方式中,计算平台120可以被设计成模块化的,使得可以根据特定需要换入或换出软件部件。因此,可以容易地和/或快速地重新配置计算平台120以用于不同的用途。
在一些实现方式中,如图1所示,计算平台120可以被托管在云计算环境122中。值得注意的是,虽然本文描述的实现方式将平台120描述为托管在云计算环境122中,但是在一些实现方式中,平台120可以不是基于云的(即,可以在云计算环境之外实现)或者可以是部分基于云的。
云计算环境122可以被配置成托管平台120。云计算环境122可以提供计算处理、软件、数据访问、存储等服务,这些服务不需要终端用户(例如,用户设备110)了解托管计算平台120的系统和/或设备的物理位置和配置。如图1的示例所示出的,云计算环境122可以包括一组计算资源124(被统称为“计算资源124”以及单独称为“计算资源124”)。
计算资源124包括一个或更多个个人计算机、工作站计算机、服务器设备或其他类型的计算设备和/或通信设备。在一些实现方式中,计算资源124可以被提供给计算平台120。云资源可以包括:在计算资源124中执行的计算实例、在计算资源124中提供的存储设备、由计算资源124提供的数据传输设备等。在一些实现方式中,计算资源124可以经由有线连接、无线连接或者有线连接与无线连接的组合与其他计算资源124进行通信。
如进一步在图1中示出的,计算资源124可以包括一组云资源,例如一个或更多个应用(“Application,APP”)124-1、一个或更多个虚拟机(“Virtual Machine,VM”)124-2、虚拟化存储(“Virtualized Storage,VS”)124-3、一个或更多个管理程序(“Hypervisor,HYP”)124-4等。
应用124-1可以包括可以提供给用户设备110和/或计算平台120或者由用户设备110和/或计算平台120访问的一个或更多个软件应用。应用124-1可以消除在用户设备110上安装和执行软件应用的需求。例如,应用124-1可以包括与平台120相关联的软件和/或能够经由云计算环境122提供的任何其他软件。在一些实现方式中,一个应用124-1可以经由虚拟机124-2向一个或更多个其他应用124-1发送信息/从一个或更多个其他应用124-1接收信息。
虚拟机124-2可以包括像物理机一样执行程序的机器(例如,计算机)的软件实现。虚拟机124-2可以是系统虚拟机或进程虚拟机,这取决于虚拟机124-2与任何真实机的对应程度和使用级别。系统虚拟机可以提供支持完整操作系统(“operating system”,“OS”)的执行的完整系统平台。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实现方式中,虚拟机124-2可以代表用户(例如,用户设备110)执行,并且可以管理云计算环境122的基础架构的各个方面,例如数据管理、同步或长持续时间数据传输。
虚拟化存储124-3可以包括一个或更多个存储系统和/或一个或更多个设备,其在计算资源124的存储系统或设备内使用虚拟化技术。在一些实现方式中,在存储系统的情况下,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以是指逻辑存储相对于物理存储的抽象(或分离),使得可以在不考虑物理存储或异构结构的情况下访问存储系统。分离可以允许存储系统的管理者在管理终端用户的存储方面的灵活性。文件虚拟化可以有助于消除在文件级别访问的数据与物理地存储文件的位置之间的依赖关系。消除这种依赖关系可以使得能够优化存储使用、服务器整合和/或无中断文件迁移的性能。
管理程序(Hypervisor)124-4可以提供允许多个操作系统(例如,“客户操作系统”)在诸如计算资源124的主计算机上同时执行的硬件虚拟化技术。管理程序124-4可以向客户操作系统呈现虚拟操作平台,并且可以管理客户操作系统的执行。各种操作系统的多个实例可以共享虚拟化的硬件资源。
网络130可以包括一个或更多个有线网络和/或无线网络。例如,网络130可以包括蜂窝网络(例如,第5代(fifth generation,5G)网络、长期演进(Long-Term Evolution,LTE)网络、第三代(third generation,3G)网络、WiMax网络、码分多址(code divisionmultiple access,CDMA)网络等)、Wi-Fi网络、公共陆地移动网络(Public Land MobileNetwork,PLMN)、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、城域网(Metropolitan Area Network,MAN)、电话网络(例如,公共交换电话网络(PublicSwitched 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可以为中央处理单元(CentralProcessing Unit,CPU)、图形处理单元(Graphics Processing Unit,GPU)、加速处理单元(Accelerated Processing Unit,APU)、微处理器、微控制器、数字信号处理器(DigitalSignal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、专用集成电路(Application-Specific Integrated Circuit,ASIC)或者其他类型的处理部件。在一些实现方式中,处理器220可以包括能够被编程以执行功能的一个或更多个处理器。存储器230可以包括随机存取存储器(random access memory,RAM)、只读存储器(readonly memory,ROM)以及/或者存储供处理器220使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪速存储器、磁存储器和/或光存储器)。
存储部件240可以存储与设备200的操作和使用相关的信息和/或软件。例如,存储部件240可以包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘)、致密盘(compact disc,CD)、数字通用盘(digital versatiledisc,DVD)、软盘、盒式存储器、磁带和/或其他类型的非易失性计算机可读介质以及对应的驱动器。
输入部件250可以包括允许设备200例如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)接收信息的部件。附加地或替选地,输入部件250可以包括用于感测环境信息的传感器(例如,全球定位系统(global positioning system,GPS)部件、加速计、陀螺仪和/或致动器)。输出部件260可以包括提供来自设备200的输出信息的部件(例如,显示器、扬声器和/或一个或更多个发光二极管(light-emitting diode,LED))。
通信接口270包括使得设备200能够例如经由有线连接、无线连接或者有线连接与无线连接的组合与其他设备通信的类似收发器的部件(例如,收发器和/或单独的接收器和发送器)。通信接口270可以允许设备200从另一设备接收信息和/或向另一设备提供信息。例如,通信接口270可以包括以太网接口、光接口、同轴接口、红外接口、射频(radiofrequency,RF)接口、通用串行总线(universal serial bus,USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备200可以执行本文中所描述的一个或更多个过程。设备200可以响应于处理器220执行由非暂态计算机可读介质例如存储器230和/或存储部件240存储的软件指令而执行这些处理。计算机可读介质在本文中被限定为非暂态存储器设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。
可以经由通信接口270将软件指令从另一计算机可读介质或从另一设备读取至存储器230和/或存储部件240中。存储在存储器230和/或存储部件240中的软件指令当被执行时可以使处理器220执行本文中所描述的一个或更多个处理。另外地或替选地,可以使用硬连线电路系统来代替软件指令或与软件指令组合以执行本文描述的一个或更多个媒体处理。因此,本文描述的实现方式不限于硬件电路系统和软件的任何特定组合。
图2所示的部件的数目和布置被仅作为示例来提供。实践中,与图2中示出的部件相比,设备200可以包括附加的部件、更少的部件、不同的部件或不同布置的部件。附加地或替选地,设备200的一组部件(例如,一个或更多个部件)可以执行被描述为由设备200的另一组部件执行的一个或更多个功能。
基于网络的媒体处理
媒体信息可以被云化(包括媒体存储和媒体处理二者),例如在所描述的示例云计算环境中被云化。媒体的云处理通常可以包括从媒体源检索输入、根据一个或更多个工作流处理输入以及生成发送至媒体接收器或目的地的一个或更多个输出。媒体处理工作流的云化可以帮助实现更高的资源效率、确保可扩展性,并且提供更快、更大规模和更低成本的媒体服务部署。基于云的媒体处理可以特别适合高效处理各种新开发的媒体内容、服务、体验和处理工具,包括但不限于虚拟现实(virtual reality,VR)、增强现实(augmentedreality,AR)、3D或更高的内容以及人工智能(artificial intelligence,AI)工具。
这样的平台的示例可以被称为基于网络的媒体处理(NBMP)。在NBMP中,媒体服务提供商可能需要在不同的云平台和地理位置上部署其工作流。工作流可以被配置成在云、边缘和内部部署网关的混合中运行各种媒体处理功能。在一些示例实现方式中,为了不同媒体处理功能的更高的可扩展性、可重用性、解耦、可测试性,可以在NBMP中采用微服务设计模式。
在一些实现方式中,NBMP平台可以被设计成:独立于(或不可知)底层云基础设施或平台,来提供统一的抽象层以用于构成、控制、管理和监督灵活的媒体处理工作流。NBMP层可以定义用于发现媒体处理功能、描述媒体工作流、部署媒体处理工作流、配置运行时任务、监督故障行为和采取补救措施的架构、API、媒体和元数据格式。
为便于描述,本公开内容采用如下所述的术语和名称:
功能描述:对媒体处理功能的细节的描述,例如,输入描述细节和输出描述细节、请求的媒体处理、要求等。
功能储存库:由NBMP工作流管理器或NBMP源从其检索NBMP功能的存储位置。
媒体处理实体:运行一个或更多个媒体处理任务的实体。
媒体资源:由媒体源捕获并且发送至NBMP系统的媒体处理实体的媒体数据。
媒体接收器:通过现有递送方法消耗NBMP工作流的输出的实体。
媒体源:提供要处理的原始媒体内容的实体,例如,数码相机、麦克风、编码器或持久存储装置。
NBMP格式:在NBMP系统中媒体源与媒体处理实体之间以及NBMP系统内部各个媒体处理实体之间交换的媒体格式。
NBMP功能:独立且自包含的媒体处理操作的实现以及对该操作的相应描述。
NBMP发布格式:从媒体处理实体发送至媒体接收器的内容的媒体格式。
NBMP源:提供触发器并且描述网络中媒体处理的实体。
NBMP系统:用于跨网络中一个或更多个处理实体处理媒体,并且包括媒体源、NBMP源、NBMP工作流管理器、功能储存库、媒体处理实体和媒体接收器的系统。
NBMP工作流:实现所请求的媒体处理的一个或更多个连接的任务,其可以以各种形式呈现。
NBMP工作流管理器:基于工作流描述和功能描述规定任务并且连接任务以创建完整工作流的实体。
补充信息:与媒体数据或媒体处理操作相关的元数据或辅助信息。
任务:在媒体处理实体内部执行的NBMP功能的运行时实例。
任务描述:对任务的运行时细节的描述,例如,输入描述细节和输出描述细节、要求、配置信息等。
工作流描述:对媒体处理的细节的描述,例如,输入描述细节和输出描述细节、请求的媒体处理、工作流的要求等。
图1示出了示例NBMP系统300。如图3所示,NBMP系统300可以包括一个或更多个NBMP源310、NBMP工作流管理器320、一个或更多个功能储存库330、一个或更多个媒体处理实体(media processing entity,MPE)350、一个或更多个媒体源360和一个或更多个媒体接收器370。NBMP源310、NBMP工作流管理器320、功能储存库330、MPE 340、媒体源350和媒体接收器360可以包括至少一个或更多个处理器和存储器或由至少一个或更多个处理器和存储器实现,存储器存储代码,该代码被配置成使至少一个或更多个处理器分别执行NBMP源310、NBMP工作流管理器320、功能储存库330、MPE 340、媒体源360和媒体接收器360的功能。
NBMP源310可以通过将工作流描述文档(workflow description document,WDD)发送至NBMP工作流管理器320,来请求NBMP工作流管理器320创建包括要由一个或更多个媒体处理实体(MPE)340执行的任务的工作流。WDD可以包括多个描述符,这些描述符中的每一个可以包括多个参数。这些描述符可以包括诸如输入和输出数据、所需功能和工作流要求的细节。WDD可以包括任务描述符中的一组任务描述、以及连接要由一个或更多个媒体处理实体340执行的任务的输入和输出的任务连接关系。当NBMP工作流管理器320从NBMP源310接收这样的信息时,NBMP工作流管理器320可以通过基于功能名称对任务进行实例化,并且根据连接关系连接任务来创建工作流。
NBMP源310可以经由NBMP工作流API 311将WDD传送至NBMP工作流管理器320。NBMP源310还可以经由功能发现API 313与功能储存库330进行功能描述的通信,以获得存储在功能储存库330中的功能的功能描述。这些功能可以包括存储在功能储存库330中的媒体处理功能,并且可以包括例如用于媒体解码、特征点提取、摄像装置参数提取、投影方法、接缝信息提取、混合、后处理和编码的功能。NBMP工作流管理器320可以经由功能发现API 312(该API 312可以是与功能发现API 313相同或不同的API)与功能储存库330通信,并且NBMP工作流管理器320还可以经由API 314(例如,MPE API)与MPE 340中的一个或更多个通信。
在一些示例实现方式中,NBMP源310可以请求NBMP工作流管理器320使用一组关键词创建工作流。例如,NBMP源310可以向NBMP工作流管理器320发送可以包括一组关键词的WDD,NBMP工作流管理器320可以使用该组关键词以识别存储在功能储存库330中的适当的功能。当NBMP工作流管理器320从NBMP源310接收到这样的信息时,NBMP工作流管理器320可以通过使用可以在WDD的处理描述符中指定的关键词搜索适当的功能来创建所请求的工作流,并且使用WDD中的其他描述符来规定任务和连接任务以创建工作流。
NBMP工作流管理器320可以使用API 314来设置、配置、管理和监督可以由一个或更多个MPE 340执行的工作流的一个或更多个任务341。在一些示例实现方式中,NBMP工作流管理器320可以使用API 314来更新和销毁任务。为了配置、管理和监督工作流的任务341,NBMP工作流管理器320可以向MPE 340中的一个或更多个发送消息(例如,请求),其中,每个消息可以具有多个描述符,这些描述符中的每一个具有多个参数。任务341可以分别包括媒体处理功能342和用于媒体处理功能342的配置343。
MPE 340可以提供一个或更多个任务341。NBMP工作流管理器320可以经由API 315(例如,NBMP任务API)与任务341通信。NBMP工作流管理器320可以使用API 315来设置、配置、管理和监督一个或更多个MPE 340正在执行的工作流的一个或更多个任务341。为了配置、管理和监督工作流的任务341,NBMP工作流管理器320可以向MPE 340和/或任务341中的一个或更多个发送消息(例如,请求),其中,每个消息可以具有多个描述符,描述符中的每一个可以与多个参数相关联。此外,NBMP源310、NBMP工作流管理器320、功能储存库330和MPE 340之间的通信可以形成控制流。
任务341可以根据用于媒体处理功能343的配置342各自调用媒体处理功能343。各个媒体处理实体340中的任务341中的每一个还可以彼此通信,以利于任务之间的数据流。在一些示例实现方式中,NBMP工作流管理器320可以基于WDD中的任务的描述来选择任务,以经由功能发现API 312搜索功能储存库330,从而识别作为当前工作流的任务341运行的适当的功能。一个或更多个MPE 340可以被配置成从媒体源350接收媒体内容,根据工作流处理媒体内容(包括在任务341中处理媒体),并且将经处理的媒体内容输出至媒体接收器360。在一些示例实现方式中,可以分别针对媒体源350与媒体接收器360之间的多个媒体流316和317并行地提供一个或更多个MPE 340。
媒体源350可以被配置成存储媒体并且可以与NBMP源310集成或分离。在一些示例实现方式中,NBMP工作流管理器320可以向NBMP源310通知工作流何时准备好,并且媒体源350可以基于通知将媒体内容发送至一个或更多个MPE 340,并且一个或更多个MPE 340可以运行相应的任务并且处理媒体内容、生成输出以及将输出媒体发送至媒体接收器360。媒体源350、MPE 340和媒体接收器360之间的通信可以形成数据流(而不是上述控制流)。
功能储存库中的功能配置
上面描述并且示出为图3中的部件330的功能储存库是关键的,因为该功能储存库提供由MPE 340实例化的用于工作流的各种任务所使用的功能和工具。功能储存库330中的每个功能都可以与功能描述相关联。每个功能描述可以根据预定义格式存储在功能储存库中作为数据结构。这种数据结构可以被称为功能描述符。功能描述符例如可以包括与相应功能相关联的参数的描述、参数的配置(包括参数类型、范围等)。这种配置描述可称为功能的配置描述符。
例如,由“TRANS-VIDEO-292518”标识的转码器功能可以具有下表1所示的示例预定义配置参数:
表1
各种参数的范围提供对用于该转码器功能的参数的选择的一般限制。
在示例实现方式中,相应的配置描述数据结构可以被构造为:
列表1
/>
/>
功能实例感知的工作流描述文档(WDD)
如上所述,NBMP源310可以向NBMP工作流管理器320提供WDD,以根据WDD生成工作流。因此,WDD包含NBMP工作流管理器320从功能储存库330中识别所需功能并确定各种任务之间的关系所需的所有信息。
在各种数据项中,WDD可以包括处理描述符,该处理描述符指定任务、各种任务之间的连接以及每个任务使用的功能。例如,处理描述符可以包括用于任务/功能对象的连接关系,该连接关系指定各种任务/功能之间的关系(例如输入-输出关系)。
在一些示例实现方式中,可以在多个任务中使用来自图3的功能储存库330的相同功能。在多个任务中的每个任务中使用相同功能可以被视为相同功能的单独实例,因此可以在WDD中赋予实例标识符的属性。因此,任务中的功能可以由至少两个参数识别:任务/功能标识符(其唯一标识相应任务或所使用的功能)和实例标识符(两个或更多个任务使用相同功能时使用)。通过这种方式,实例标识符标识用于任务的功能的特定实例。
在一个特定示例中,上述转码器功能“TRANS-VIDEO-292518”可以由两个任务“任务-1”和“任务-2”使用。这两个任务可以被连接为从“任务-1”到“任务-2”(意味着,例如,任务-1的输出进入到任务-2的输入)。示例任务/功能连接关系元素如下表2所示。
列表2
在上述示例中,第一任务恰好连接至第二任务。两个任务使用相同的功能。然而,为了彼此识别,两个任务中的每个相同功能都包含唯一的“实例”值作为实例标识符。如下面进一步详细描述的,区分相同功能的不同实例可以利于任务的自适应功能配置,并且允许对用于相同功能但实例化在不同任务中的不同实例的配置进行区分。
在一些其他的示例实现方式中,处理描述符还可以包括功能限制对象的数组。每个功能限制对象可以定义应用于功能的特定限制。可以对功能施加各种类型的限制。相应地,每个功能限制对象可以包括多个不同的对象,这些对象各自与对功能的一种限制类型相关联。这些限制类型中的一些可以是通用的,并且是实例无关的。因此,相应的对象可以不需要与功能的任何特定实例标识符相关联。然而,一些其他限制类型可以是实例相关的,因此与这些限制类型相关联的对象可以通过功能实例标识符进一步标记。
各种限制类型中的一个可以与功能的参数限制有关。这样的参数限制例如可以涉及对参数范围等的一组限制。
作为参数限制的示例,对于如上所述的由“TRANS-VIDEO-292518”标识的转码器功能,各种参数的值范围可以被限制为如表1所示的由功能储存库中的配置描述所指定的参数一般范围的子集。当在特定任务中使用时,示例限制可以产生要应用的如下表2中所示的“TRANS-VIDEO-292518”的参数范围配置:
表2
参数 | 有效范围 |
编解码器(codec) | “HEVC” |
宽度(width) | 1920 |
高度(height) | 1080 |
比特率(bitrate) | 3000 |
这样的参数限制可以是实例相关的。因此,用于这样的参数限制的上层功能限制对象下的参数限制对象可以与特定实例标识符相关联。这样的参数限制对象可以包括用于描述参数限制的数据结构。作为示例,这样的数据结构可以在形式上类似于上面关于列表1描述的用于功能储存库内的功能配置描述的配置标识符。
例如,可以使用下面列表3的数据结构来描述在与具有表2的参数限制的功能的特定实例相关联的功能限制对象数组中的功能限制对象内的参数限制对象中的特定参数限制描述:
列表3
/>
/>
因此,在一些示例实现方式中,用于生成任务流的WDD可以包括过程描述符。过程描述符可以包括连接关系。过程描述符还可以包括功能限制对象的数组。每个功能限制对象可以与功能和该功能的实例标识符相关联。因此,数组中的一些功能限制对象可以与相同的功能但不同的实例标识符相关联。此外,每个功能限制对象可以包括用于不同类型的功能限制的多个下层对象。这些下层对象中的一个可以用于描述功能实例的参数限制。这样的参数限制对象可以包括用于描述参数限制的数据结构(例如,列表3)。这样的数据结构可以在形式上类似于在功能储存库中使用以描述一般功能参数配置的配置描述符(例如,列表1)。
在一些示例实现方式中,用于生成任务流的WDD可以包括过程描述符。过程描述符可以包括连接关系。过程描述符还可以包括功能限制对象的数组。每个功能限制对象可以与功能相关联。此外,每个功能限制对象可以包括用于不同类型的功能限制的多个下层对象。这些下层对象中的一个或更多个可以用于描述功能的功能实例的参数限制。这样的参数限制对象中的每一个可以包括用于描述该特定功能实例的参数限制的数据结构(例如,列表3)。这样的数据结构可以在形式上类似于在功能储存库中使用的用于描述一般功能参数配置的配置描述符(例如,列表1)。在这种实现方式中,功能限制对象的数组可以与不同的功能(与实例无关)相关联。然而,不同限制类型的二级限制对象(例如,参数限制对象)可以与功能的实例标识符相关联。因此,可以存在描述相同类型的限制但针对功能的不同实例的多个低级限制对象(例如,参数限制对象)。
图4示出了用于在基于云的平台中为媒体处理应用生成NBMP工作流的信号通知方法的示例数据流和逻辑流400。在步骤410中,确定媒体处理应用的NBMP工作流中的多个NBMP任务中的NBMP任务。在步骤420中,识别要由NBMP任务使用的来自功能储存库中的功能。在步骤430中,将功能与实例标识符相关联,实例标识符将NBMP任务中的功能的实例与多个NBMP任务中的其他NBMP任务中的功能的其他实例进行唯一区分。在步骤440中,获得来自功能储存库的功能的配置描述符数据结构。在步骤450中,确定针对NBMP任务中的功能的实例的一组限制。在步骤460中,通过将该组限制应用到配置描述符数据结构并且使用与配置描述符数据结构相同的格式,来生成功能限制数据结构,功能限制数据结构由实例标识符唯一地标识。最后,在步骤470中,构造NBMP工作流的过程描述符,该过程描述符包括与实例标识符成对的功能限制数据结构,用于向NBMP工作流管理器信号通知功能的实例相关的限制。
图5示出了用于在基于云的平台中生成媒体处理应用的NBMP工作流的另一示例数据流和逻辑流500。在步骤510中,接收NBMP工作流描述符文档。在步骤520中,从NBMP工作流描述文档中提取与来自功能储存库的功能相关联的功能限制数据结构和作为功能限制数据结构的属性的实例标识符,实例标识符唯一地标识NBMP工作流的NBMP任务中功能的使用实例,功能限制数据结构是实例相关的并且遵循功能储存库中功能的配置描述符数据结构的格式来构造。在步骤530中,从功能限制数据结构中提取功能的一组实例相关的限制。在步骤540中,根据NBMP工作流描述文档和功能的实例相关的限制生成NBMP工作流。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同方案。因此,应当认识到,虽然本文中没有明确示出或描述,但是本领域技术人员将能够设想体现本公开内容的原理并且因此在本公开内容的精神和范围内的许多系统和方法。
Claims (20)
1.一种用于在基于云的平台中为媒体处理应用生成基于网络的媒体处理(NBMP)工作流的信号通知方法,所述方法包括:
确定所述媒体处理应用的NBMP工作流中的多个NBMP任务中的NBMP任务;
识别要由所述NBMP任务使用的来自功能储存库的功能;
将所述功能与实例标识符相关联,所述实例标识符将所述NBMP任务中的所述功能的实例与所述多个NBMP任务中的其他NBMP任务中的所述功能的其他实例进行唯一区分;
获得来自所述功能储存库的所述功能的配置描述符数据结构;
确定针对所述NBMP任务中的所述功能的所述实例的一组限制;
通过将所述一组限制应用到所述配置描述符数据结构并且使用与所述配置描述符数据结构相同的格式,来生成功能限制数据结构,所述功能限制数据结构由所述实例标识符唯一地标识;以及
构造所述NBMP工作流的过程描述符,所述过程描述符包括与所述实例标识符成对的所述功能限制数据结构,用于向NBMP工作流管理器信号通知所述功能的与实例相关的限制。
2.根据权利要求1所述的信号通知方法,其中,所述配置描述符数据结构包括用于所述功能的一组实例无关的参数配置。
3.根据权利要求2所述的信号通知方法,其中,所述一组实例无关的参数配置包括与所述功能相关联的参数的一组参数范围。
4.根据权利要求3所述的信号通知方法,其中,所述一组参数范围中的至少一个参数范围包括数值范围。
5.根据权利要求3所述的信号通知方法,其中,所述一组参数范围中的至少一个参数范围包括一组可选选项。
6.根据权利要求3所述的信号通知方法,其中,所述一组限制包括对所述一组参数范围的额外的与实例相关的限制。
7.根据权利要求6所述的信号通知方法,其中,所述一组限制中的至少一个限制包括将与所述功能相关联的所述参数中的至少一个参数限制为单个数值。
8.根据权利要求6所述的信号通知方法,其中,所述一组限制中的至少一个限制包括将与所述功能相关联的所述参数中的至少一个参数限制为单个选项。
9.根据权利要求1至8中任一项所述的信号通知方法,还包括:
从所述功能储存库中识别要由所述多个NBMP任务使用的多个功能,每个任务中的每个功能的使用被归属于唯一的功能实例;以及
构造所述功能实例之间的连接关系作为所述过程描述符的一部分,所述功能实例中的每个功能实例与唯一的功能实例标识符相关联。
10.一种电子设备,所述电子设备用于信号通知工作流管理器以在基于云的平台中为媒体处理应用生成NBMP工作流,所述电子设备包括用于存储指令的存储器和用于执行所述指令以执行以下操作的处理器:
确定所述媒体处理应用的NBMP工作流中的多个NBMP任务中的NBMP任务;
识别要由所述NBMP任务使用的来自功能储存库的功能;
将所述功能与实例标识符相关联,所述实例标识符将所述NBMP任务中的所述功能的实例与所述多个NBMP任务中的其他NBMP任务中的所述功能的其他实例进行唯一区分;
获得来自所述功能储存库的所述功能的配置描述符数据结构;
确定针对所述NBMP任务中的所述功能的所述实例的一组限制;
通过将所述一组限制应用到所述配置描述符数据结构来生成功能限制数据结构,所述功能限制数据结构由所述实例标识符唯一地标识;以及
构造所述NBMP工作流的过程描述符,所述过程描述符包括与所述实例标识符成对的所述功能限制数据结构,用于向NBMP工作流管理器信号通知所述功能的与实例相关的限制。
11.根据权利要求10所述的电子设备,其中,所述配置描述符数据结构包括用于所述功能的一组实例无关的参数配置。
12.根据权利要求11所述的电子设备,其中,所述一组实例无关的参数配置包括与所述功能相关联的参数的一组参数范围。
13.根据权利要求12所述的电子设备,其中,所述一组参数范围中的至少一个参数范围包括数值范围。
14.根据权利要求13所述的电子设备,其中,所述一组参数范围中的至少一个参数范围包括一组可选选项。
15.根据权利要求14所述的电子设备,其中,所述一组限制包括对所述一组参数范围的额外的与实例相关的限制。
16.根据权利要求15所述的电子设备,其中,所述一组限制中的至少一个限制包括将与所述功能相关联的所述参数中的至少一个参数限制为单个数值。
17.根据权利要求15所述的电子设备,其中,所述一组限制中的至少一个限制包括将与所述功能相关联的所述参数中的至少一个参数限制为单个选项。
18.根据权利要求10至17中任一项所述的电子设备,其中,所述处理器还被配置成执行指令以进行以下操作:
从所述功能储存库中识别要由所述多个NBMP任务使用的多个功能;每个任务中的每个功能的使用被归属于唯一的功能实例;以及
构造所述功能实例之间的连接关系作为所述过程描述符的一部分,所述功能实例中的每个功能实例与唯一的功能实例标识符相关联。
19.一种用于在基于云的平台中为媒体处理应用生成NBMP工作流的方法,所述方法包括:
接收NBMP工作流描述文档;
从所述NBMP工作流描述文档中提取与来自功能储存库的功能相关联的功能限制数据结构并且提取作为所述功能限制数据结构的属性的实例标识符,所述实例标识符唯一地标识所述NBMP工作流的NBMP任务中功能的使用实例,并且所述功能限制数据结构是实例相关的并且遵循用于所述功能储存库中的所述功能的配置描述符数据结构的格式来构造;
从所述功能限制数据结构中提取所述功能的一组实例相关的限制;以及
根据所述NBMP工作流描述文档和所述功能的所述实例相关的限制生成所述NBMP工作流。
20.一种电子设备,所述电子设备用于在基于云的平台中为媒体处理应用生成工作流,所述电子设备包括用于存储指令的存储器和用于执行所述指令以执行权利要求19所述的方法的处理器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/332,614 | 2022-04-19 | ||
US18/301,810 US11917034B2 (en) | 2022-04-19 | 2023-04-17 | Deployment of workflow tasks with fixed preconfigured parameters in cloud-based media applications |
US18/301,810 | 2023-04-17 | ||
PCT/US2023/065875 WO2023205624A1 (en) | 2022-04-19 | 2023-04-18 | Deployment of workflow tasks with fixed preconfigured parameters in cloud-based media applications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117917062A true CN117917062A (zh) | 2024-04-19 |
Family
ID=90682326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380011089.9A Pending CN117917062A (zh) | 2022-04-19 | 2023-04-18 | 在基于云的媒体应用中部署具有固定预配置参数的工作流任务 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117917062A (zh) |
-
2023
- 2023-04-18 CN CN202380011089.9A patent/CN117917062A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114450927B (zh) | 工作流处理方法、工作流管理器、设备以及计算机存储介质 | |
US11356534B2 (en) | Function repository selection mode and signaling for cloud based processing | |
US11012721B2 (en) | Method and apparatus for envelope descriptor in moving picture experts group network based media processing | |
CN111865649A (zh) | 处理媒体内容的方法和装置、计算机设备和存储介质 | |
CN114467085A (zh) | 云平台工作流中的非必要的输入、输出和任务信令 | |
US11838390B2 (en) | Function repository selection mode and signaling for cloud based processing | |
US12069125B2 (en) | Method for switching workflow or updating workflow with continuity and no interruption in dataflow | |
CN111835549A (zh) | 处理媒体内容的方法、装置、计算机设备以及介质 | |
CN111858967A (zh) | 基于网络的媒体处理中处理媒体内容的方法、装置以及存储介质 | |
US11496608B2 (en) | Task proximity for cloud services | |
CN115552865A (zh) | 用于表示云工作流输入和输出的协议特征的方法 | |
CN117917062A (zh) | 在基于云的媒体应用中部署具有固定预配置参数的工作流任务 | |
US11917034B2 (en) | Deployment of workflow tasks with fixed preconfigured parameters in cloud-based media applications | |
CN111831834A (zh) | 基于网络的媒体处理(nbmp)中处理媒体内容的方法和装置 | |
JP7416482B2 (ja) | ネットワークベースのメディア処理ワークフローを管理するための方法、ワークフローマネージャおよびコンピュータプログラム | |
KR102698204B1 (ko) | 클라우드 플랫폼들 상의 작업흐름들에서의 비필수적 입력, 출력 및 태스크 시그널링 | |
CN116406506A (zh) | 用于在云平台上发信号通知净零工作流修改的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |