CN111865649B - 处理媒体内容的方法和装置、计算机设备和存储介质 - Google Patents
处理媒体内容的方法和装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111865649B CN111865649B CN202010299534.4A CN202010299534A CN111865649B CN 111865649 B CN111865649 B CN 111865649B CN 202010299534 A CN202010299534 A CN 202010299534A CN 111865649 B CN111865649 B CN 111865649B
- Authority
- CN
- China
- Prior art keywords
- workflow
- functions
- task
- processing
- media content
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 87
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000006870 function Effects 0.000 claims abstract description 129
- 230000015654 memory Effects 0.000 claims description 19
- 238000012546 transfer Methods 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 13
- 230000004044 response Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012805 post-processing Methods 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/0826—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for reduction of network costs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0889—Techniques to speed-up the configuration process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请的实施例提供了一种处理媒体内容的方法和装置、计算机设备和存储介质。该方法可以包括:从基于网络的媒体处理(NBMP)源获取用于处理所述媒体内容的工作流,所述工作流包括指示工作流描述符文档(WDD)的工作流描述符(WD);基于所述工作流获取用于处理所述媒体内容的任务,所述任务包括指示任务描述符文档(TDD)的任务描述符(TD);基于所述任务,从存储一个或多个功能的功能储存库获取所述一个或多个功能中的至少一个,所述一个或多个功能用于处理所述媒体内容,所述一个或多个功能中的所述至少一个中的每一个包括指示功能描述符文档(FDD)的功能描述符(FD);以及使用所述工作流、所述任务和所述一个或多个功能中的所述至少一个来处理所述媒体内容。
Description
相关申请的交叉引用
本申请要求于2019年4月26日递交的、申请号为62/839,509的美国临时申请、以及于2020年4月14日递交的、申请号为16/848,202,的美国申请的优先权,其全部内容通过引用并入本申请中。
技术领域
本申请涉及媒体处理技术。具体地,本申请涉及运动图像专家组(MPEG)的基于网络的媒体处理(NBMP)中处理媒体内容的方法和装置、计算机设备和存储介质。
背景技术
运动图像专家组(Moving Picture Experts Group,MPEG)的基于网络的媒体处理(Network Based Media Processing,NBMP)项目开发了一种处理云上媒体的概念。然而,当前的NBMP设计没有为网络管理提供应用程序接口(API)抽象,仅提供了用于云资源(例如硬件平台)的API。
发明内容
本申请的实施例提供了一种处理媒体内容的方法和装置、计算机设备和存储介质,旨在解决在当前MPEG的NBMP标准下,媒体处理效率较低、媒体服务部署的速度较慢,媒体服务部署的成本较高、并且很难利用公有、私有或混合云服务来大规模部署媒体服务的问题。
根据实施例,提供了一种处理媒体内容的方法,该方法包括:
从基于网络的媒体处理(NBMP)源获取用于处理所述媒体内容的工作流,所述工作流包括指示工作流描述符文档(WDD)的工作流描述符(WD);
基于所述工作流获取用于处理所述媒体内容的任务,所述任务包括指示任务描述符文档(TDD)的任务描述符(TD);
基于所述任务,从存储一个或多个功能的功能储存库获取所述一个或多个功能中的至少一个,所述一个或多个功能用于处理所述媒体内容,所述一个或多个功能中的所述至少一个中的每一个包括指示功能描述符文档(FDD)的功能描述符(FD);
以及使用所述工作流、所述任务和所述一个或多个功能中的所述至少一个来处理所述媒体内容。
根据实施例,提供了一种处理媒体内容的装置,包括:
第一获取模块,用于从基于网络的媒体处理(NBMP)源获取用于处理所述媒体内容的工作流,所述工作流包括指示工作流描述符文档(WDD)的工作流描述符(WD);
第二获取模块,用于基于所述工作流获取用于处理所述媒体内容的任务,所述任务包括指示任务描述符文档(TDD)的任务描述符(TD);
第三获取模块,用于基于所述任务,从存储一个或多个功能的功能储存库获取所述一个或多个功能中的至少一个,所述一个或多个功能用于处理所述媒体内容,所述一个或多个功能中的所述至少一个中的每一个包括指示功能描述符文档(FDD)的功能描述符(FD);以及
处理模块,用于使用所述工作流、所述任务和所述一个或多个功能中的所述至少一个来处理所述媒体内容。
根据实施例,提供了一种非易失性计算机可读介质存储,用于存储指令,所述指令在由处理媒体内容的装置的至少一个处理器执行时,使得所述至少一个处理器执行上述的处理媒体内容的方法。
根据实施例,提供了一种计算机设备,包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序指令,所述至少一条程序指令由所述一个或多个处理器加载并执行,以实现上述的处理媒体内容的方法。
通过本申请的实施例,实现了对MPEG的NBMP标准的功能性改进。通过改进,提高了媒体处理效率和媒体服务部署的速度,降低了媒体服务部署的成本,并且允许利用公有、私有或混合云服务来大规模部署媒体服务。
附图说明
图1是根据实施例的可以实施本文所描述的方法、装置和系统的环境的示意图。
图2是图1的一个或多个设备的示例组件的框图。
图3是根据实施例的NBMP系统的框图。
图4是根据实施例的NBMP系统的更新的逻辑结构。
图5是根据实施例的更新的任务生命周期的示意图。
图6是根据实施例的在MPEG的NBMP中处理媒体内容的方法的流程图。
图7是根据实施例的在MPEG的NBMP中处理媒体内容的装置的框图。
具体实施方式
本文所描述的实施例提供了对MPEG的NBMP标准的功能性改进。这种改进提高了媒体处理效率,提高了媒体服务部署的速度,降低了媒体服务部署的成本,并且允许利用公有、私有或混合云服务来大规模部署媒体服务。
在示例中,对MPEG的NBMP标准的功能性改进包括工作流、任务和功能的协调,并且为工作流、任务和功能中的每一个定义了逻辑项、数据文档和REST资源之间的一对一关系。通过为每个描述符创建表现层状态转移(REST,representational state transfer)资源,可以实现对主描述符和基本描述符的访问。此外,可以将任务描述符添加到工作流描述符,使得工作流描述符可以捕获工作流的完整图像,并且不需要额外信息即可构建或检查工作流。
此外,可以将任务生命周期状态作为参数添加到任务的通用描述符,使得任务描述符还可以捕获每个任务的状态,并且可以使用现有的NBMP工作流和TASK API来检索状态信息。示例还可以包括通过使NBMP API成为REST API来改进NBMP API设计。可以重新定义请求和响应以符合REST概念,并且因此实现REST的优点。
另外,实施例可以通过使其成为查询字符串搜索来简化能力发现操作,并且允许在查询字符串中添加多个键值对,从而实现与当前的NBMP设计相比更广泛且更强大的搜索。
图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可以包括蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网络(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可以执行本文中所描述的一个或多个过程。响应于处理器220执行由非易失性计算机可读介质(例如存储器230和/或存储组件240)存储的软件指令,设备200可以执行这些过程。计算机可读介质在本文中被定义为非易失性存储器设备。存储器设备包括单个物理存储设备内的存储空间或分布在多个物理存储设备上的存储空间。
软件指令可以通过通信接口270从另一计算机可读介质或从另一设备读入存储器230和/或存储组件240。当被执行时,存储在存储器230和/或存储组件240中的软件指令可以使处理器220执行本文中所描述的一个或多个过程。另外或可替代地,可以使用硬连线电路来代替软件指令或与软件指令结合以执行本文中所描述的一个或多个过程。因此,本文中所描述的实施方式不限于硬件电路和软件的任何特定组合。
图2所示的组件的数量和排列被作为示例来提供。实际上,与图2所示的组件相比,设备200可能包括更多的组件、更少的组件、不同的组件或排列不同的组件。另外或可替代地,设备200的一组组件(例如,一个或多个组件)可以执行被描述为由设备200的另一组组件执行的一个或多个功能。
图3是根据实施例的NBMP系统300的框图。
参照图3,NBMP系统300包括NBMP源310、NBMP工作流管理器320、功能储存库330、网络控制器340、一个或多个媒体处理装置350、媒体源360和媒体接收器370。
NBMP源310可以从第三方装置380接收指令,可以通过NBMP工作流API与NBMP工作流管理器320通信,并且可以通过能力发现API与功能储存库330通信。例如,NBMP源310可以将工作流描述符文档发送到NBMP工作流管理器320,并且可以读取存储在功能储存库330的存储器中的各个功能的功能描述。所述功能可以包括诸如如下的媒体处理功能,例如媒体解码、特征点提取、相机参数提取、投影方法、接缝信息提取、混合、后处理和编码的功能。NBMP源310可以包括至少一个处理器和存储代码的存储器,该代码被配置为使该至少一个处理器执行NBMP源310的功能。
NBMP源310可以通过将工作流描述符文档发送给NBMP工作流管理器320,来请求NBMP工作流管理器320创建包括任务351和352的工作流,其中该任务351和352将由一个或多个媒体处理装置350执行。工作流描述符文档可以包括描述符,每个描述符可以包括参数。
例如,NBMP源310可以选择存储在功能储存库330中的一个或多个功能,并将工作流描述符文档发送给NBMP工作流管理器320,所述工作流描述符文档包括用于描述细节(例如输入和输出数据、所选择的一个或多个功能以及工作流的要求)的描述符。工作流描述符文档可以进一步包括一组任务描述以及将由一个或多个媒体处理装置350执行的任务351和352的输入和输出的连接映射。当NBMP工作流管理器320从NBMP源310接收此信息时,NBMP工作流管理器320可以通过基于功能名称实例化任务351和352,并根据连接映射连接任务351和352来创建工作流。
可替代地或附加地,NBMP源310可以请求NBMP工作流管理器320使用一组关键词创建工作流。例如,NBMP源310可以将包括该组关键词的工作流描述符文档发送给NBMP工作流管理器320,NBMP工作流管理器320可以使用该组关键词来查找存储在功能储存库330中的适当的一个或多个功能。当NBMP工作流管理器320从NBMP源310接收到此信息时,NBMP工作流管理器320可以使用在工作流描述符文档的处理描述符中指定的关键词来搜索适当的一个或多个功能,以及使用工作流描述符文档中的其它描述符来提供和连接任务351和352,从而创建工作流。
NBMP工作流管理器320可以通过能力发现API与功能储存库330通信,并且可以经由NBMP任务API、NBMP链路API和能力发现API并通过网络控制器340与媒体处理装置350中的一个或多个通信。NBMP工作流管理器320可以包括至少一个处理器和存储代码的存储器,该代码被配置为使至少一个处理器执行NBMP工作流管理器320的功能。
NBMP工作流管理器320可以使用NBMP任务API来设置、配置、管理和监控可由一个或多个媒体处理装置350执行的工作流的任务351和352中的一个或多个。在实施例中,NBMP工作流管理器320可以使用NBMP任务API来更新和销毁任务351和352。为了配置、管理和监控工作流的任务351和352,NBMP工作流管理器320可以将诸如请求之类的消息发送给一个或多个媒体处理装置350,其中每个消息可以包括描述符,每个描述符可以包括参数。任务351和352可各自包括一个或多个媒体处理功能354以及用于一个或多个媒体处理功能354的一个或多个配置353。
在实施例中,在从NBMP源310接收到不包括任务列表(例如,包括关键词列表而不包括任务列表)的工作流描述符文档之后,NBMP工作流管理器320可以基于工作流描述符文档中的对任务的描述来选择任务,以便经由能力发现API搜索功能储存库330,从而查找适当的一个或多个功能以作为当前工作流的任务351和352运行。例如,NBMP工作流管理器320可以基于工作流描述符文档中提供的关键词来选择任务。在使用NBMP源310提供的关键词或一组任务描述来标识适当的一个或多个功能之后,NBMP工作流管理器320可以通过NBMP任务API来配置在工作流中选择的任务。例如,NBMP工作流管理器320可以从接收自NBMP源的信息中提取配置数据,并且基于提取的配置数据来配置任务351和352。
一个或多个媒体处理装置350可以被配置为从媒体源360接收媒体内容,根据包括任务351和352并由NBMP工作流管理器320创建的工作流来处理接收的媒体内容,并且将处理的媒体内容输出到媒体接收器370。一个或多个媒体处理装置350可各自包括至少一个处理器和存储代码的存储器,该代码被配置为使至少一个处理器执行一个或多个媒体处理装置350的功能。
网络控制器340可以包括至少一个处理器和存储代码的存储器,该代码被配置为使至少一个处理器执行网络控制器340的功能。
媒体源360可以包括存储媒体的存储器,并且可以与NBMP源310集成或分离。在实施例中,NBMP工作流管理器320可以在准备好工作流时通知NBMP源310和/或媒体源360,并且媒体源360可以基于该工作流已准备好的通知将媒体内容传输到一个或多个媒体处理装置350。
媒体接收器370可以包括至少一个处理器和至少一个显示器,所述至少一个显示器被配置为显示由一个或多个媒体处理装置350处理的媒体内容。
第三方装置380可以包括至少一个处理器和存储代码的存储器,该代码被配置为使至少一个处理器执行第三方装置380的功能。
如上所述,从NBMP源310到NBMP工作流管理器320的消息(例如,用于请求创建工作流的工作流描述符文档)以及从NBMP工作流管理器320到一个或多个媒体处理装置350的消息(例如,用于使工作流被执行的消息)可以包括描述符,每个描述符包括参数。在实施例中,使用API在NBMP系统300的任何组件之间进行的通信可以包括描述符,每个描述符包括参数。
协调工作流、任务和功能层次对象并将它们调整为REST资源
当前的NBMP规范具有用于任务和功能的模板的概念,同时定义了用于工作流描述的文档,称为工作流描述符文档(WDD)。此外,还不清楚如何将任务和功能模板转换为REST资源。API文档没有明确地定义资源的确切语法,也没有明确定义API操作的确认中包括哪些资源。
根据实施例的NBMP规范调整了逻辑项、JSON对象/XML文档和REST资源的概念,以用于如下三个项目:工作流、任务和功能,并且为这三个项目构建了协调和调整后的结构。此外,其定义了确认中的资源格式和约束,以使接口成为真正的REST API。
图4示出了作为逻辑项、JSON/XML文档和REST资源的三个装置之间的关系的示例。从图4中可以看出,逻辑项可以被定义为描述符。三个主描述符可以是工作流描述符(WD)、任务描述符(TD)和功能描述符(FD)。WD、TD和FD可以被构建为基本描述符的组合,例如通用描述符、输入描述符、输出描述符等。
工作流描述对象(WO)、任务描述对象(TO)和功能描述对象(FO)可以是相应逻辑项(例如,WD、TD和FD)在JSON或XML中的代码实现。
WDD、任务描述符文档(TDD)和功能描述符文档(FDD)可以是包含WO、TO和FO的文档。文档可以是JSON中的对象和XML中的XML文档。请注意,从FDD可以包括一个或多个FO的意义上来说,FDD可以不同于WDD和TDD。
工作流资源(WR)、任务资源(TR)和功能资源(FR)可以是包括URL的WDD、TDD或FDD,因此可以被标识为REST资源。
以上讨论的示例NBMP规范的主要优点在于,主描述符、文档和REST资源之间可以存在一对一的关系,这可以允许精确地指定系统,并可以允许相应地构建可互操作的方案。
将主描述符和基本描述符指定为REST资源
当前的NBMP规范仅允许访问WR、TR和FR。
根据实施例的NBMP规范可以使WR、TR和FR成为REST资源,并且还使得主描述符和基本描述符能够成为REST资源。因此,可以使用NBMP API单独访问这些描述符。在该设计中,在任何响应中包括的WDD、TDD和FDD的每个主描述符对象和基本描述符对象都可以包括一个“链接”对象,该“链接”对象包括值为“self”的“ref”和指示该对象的位置的URL。
将任务描述符添加为工作流描述符的组件
当前的NBMP规范不包括作为工作流的一部分的任务描述符,其使用ConnectionMap描述符定义了它们之间的关系,所述任务描述符还包括功能标识符。
然而,为了使NBMP源具有完整的工作流图,根据实施例的NBMP规范还可以在工作流描述符中包括任务描述符,例如如表1所示。
表1——将任务描述符添加到工作流描述符(WD)
在表1中,添加了一个附加项,即任务描述符。通过这种添加,工作流描述符可以描述完整的映射和关于创建的工作流的信息。
将媒体源和接收器添加到工作流DAG
当前的NBMP规范在其工作流有向无环图(DAG)描述中不包括媒体源360和接收器370。
根据实施例的NBMP规范将这些元素添加到工作流DAG。该方法的优点在于,对媒体源360和现有(in on hand)工作流之间以及工作流和媒体接收器370之间的网络连接的资源要求可以通过相同的DAG进行描述。通过NBMP工作流管理器,该方法简化了需求文档以及工作流的建立和管理。
将任务的生命周期状态添加到通用描述符
当前的NBMP规范定义了任务的生命周期。生命周期包括5种状态。然而,任务的当前状态的状态未在任何描述符中描述。
根据实施例的NBMP规范基于REST API构建。每个REST资源还必须捕获其状态。因此,资源保持了逻辑项的完整状态,并且不需要从其它数据结构获取状态。
根据实施例的NBMP规范将“状态”参数添加到通用描述符,该“状态”参数可用于描述任务的状态。表2示出了此添加。
表2——将“状态”参数添加到通用描述符
如表2所示并如图5所示,也可以将新状态“空”添加到生命周期,以捕获任务在其生命周期中的初始状态。
将NBMP API指定为REST API
当前的NBMP规范尚不清楚API操作、请求和响应如何工作。该文档目前尚未定义可互操作的API。
根据实施例的NBMP规范将NBMP API设计为REST API。因此,所有API操作都可以实现为使用HTTP 1.1的REST方法,并且请求和响应可以包括REST资源,如图2所示。此外,使用HTTP状态代码。
表3、4和5描述了改进的NBMP API及其请求和响应。
表3——改进的工作流API操作
表4——改进的任务配置操作
表5——改进的能力发现API操作
在表3至5中,请求和响应体(数据)可以对应于图2的REST资源。
此外,为了使响应成为完整的REST资源,根据实施例的NBMP规范可以指定任何响应中包括的WDD可以包括一个“链接”对象,该“链接”对象包括值为“self”的“ref”以及指示WDD的位置的URL。另外,任何响应中包括的TDD可以包括一个“链接”对象,该“链接”对象包括值为“self”的“ref”以及指示TDD的位置的URL。类似地,任何响应中包括的每个FDD可以包括一个“链接”对象,该“链接”对象包括值为“self”的“ref”以及指示FDD的位置的URL。此外,在任何响应中包括的每个FDD中,每个功能描述对象(FO)可以包括一个“链接”对象,该“链接”对象包括值为“self”的“ref”以及指示每个FO的位置的URL。
针对能力发现的基于HTTP“查询字符串”的搜索
当前的NBMP规范描述了发现操作,但是未定义操作的格式和协议。其还指定了用于功能搜索的两个键(key):通过“标识符”或通过“名称”进行搜索,而不是它们的组合。
根据实施例的NBMP规范通过HTTP查询字符串和键值对的组合来改进发现操作。因此,其定义了一种简单的方法(HTTP GET)来实现所述操作。这允许在搜索中使用键的组合。另外,根据实施例的NBMP规范将更多的键添加到搜索参数。因此,可以使用储存库中存储的功能的不同方面来执行更好的搜索。
根据实施例,发现查询和查询字符串可以用于执行搜索。发现查询将通过查询中描述的属性来发现功能储存库中的一个或多个功能。查询字符串可以用于描述这些属性,并且查询字符串可以包括由单个‘&’字符分隔的一组键值对。在每个键值对中,键和值应由单个‘=’字符分隔。查询字符串可以在单个‘?’字符之后添加到资源URL的末尾。
表6列出了查询字符串中支持的键的示例。
表6——功能查询的键
图6是根据实施例的在MPEG的NBMP中处理媒体内容的方法600的流程图。在一些实施方式中,图6的一个或多个过程框可以由实现NBMP系统300的平台120执行。在一些实施方式中,图6的一个或多个过程框可以由与实现NBMP系统300的平台120分离或包括平台120的另一设备或一组设备执行,例如用户设备110。
如图6所示,在步骤610中,方法600包括从NBMP源(例如NBMP源310)获取用于处理媒体内容的工作流,所述工作流包括指示工作流描述符文档(WDD)的工作流描述符(WD)。
在步骤620中,方法600包括基于所述工作流获取用于处理所述媒体内容的任务,所述任务包括指示任务描述符文档(TDD)的任务描述符(TD)。
在步骤630中,方法600包括基于所述任务,从存储一个或多个功能的功能储存库(例如,功能储存库330)获取所述一个或多个功能中的至少一个,所述一个或多个功能用于处理所述媒体内容,所述一个或多个功能中的所述至少一个中的每一个包括指示功能描述符文档(FDD)的功能描述符(FD)。
在步骤640中,方法600包括使用所述工作流、所述任务和所述一个或多个功能中的所述至少一个来处理所述媒体内容。
在实施例中,所述工作流可以包括工作流表现层状态转移(REST)资源(WR),所述任务可以包括任务REST资源(TR),以及所述一个或多个功能中的所述至少一个可以包括功能REST资源。
在实施例中,WD、TD和FD可分别由一个或多个通用描述符构成。
在实施例中,所述WDD可以包括工作流描述对象(WO),所述TDD可以包括任务描述对象(TO),以及所述FDD可以包括至少一个功能描述对象(FO)。
在实施例中,所述WO、所述TO和所述至少一个FO包括至少一个JavaScript对象表示(JSON)对象或至少一个可扩展标记语言(XML)元素。
在实施例中,所述WDD可以包括第一链接对象,所述第一链接对象包括指示所述WDD的位置的第一统一资源定位符(URL),所述TDD可以包括第二链接对象,所述第二链接对象包括指示所述TDD的位置的第二统一资源定位符(URL),以及所述FDD可以包括第三链接对象,所述第三链接对象包括指示所述FDD的位置的第三统一资源定位符(URL)。
在实施例中,所述TD可以包括指示所述任务状态的状态描述符。
在实施例中,所述状态描述符可以指示所述任务状态是空状态。
在实施例中,可以使用超文本传输协议(HTTP)查询从所述功能储存库检索所述一个或多个功能中的所述至少一个,所述HTTP查询包括对应于所述一个或多个功能中的所述至少一个的搜索键和搜索值。
在实施例中,所述搜索值可以包括与所述一个或多个功能中的所述至少一个相关联的标识符、名称、描述、类型或关键词中的至少一个。
虽然图6示出了方法600的示例框图,但是在一些实施方式中,与图6所描述的框相比,方法600可以包括更多的框、更少的框、不同的框、或排列不同的框。另外或可替代地,方法600的两个或更多个框可以并行执行。
图7是根据实施例的在MPEG的NBMP中处理媒体内容的装置700的框图。如图7所示,装置700包括第一获取代码710、第二获取代码720、第三获取代码730和处理代码740。
第一获得代码710可被配置为使至少一个处理器从NBMP源(例如NBMP源310)获取用于处理所述媒体内容的工作流,所述工作流包括指示工作流描述符文档(WDD)的工作流描述符(WD)。
第二获取代码720可被配置为使至少一个处理器基于所述工作流获取用于处理所述媒体内容的任务,所述任务包括指示任务描述符文档(TDD)的任务描述符(TD)。
第三获取代码730可被配置为使至少一个处理器基于所述任务,从存储一个或多个功能的功能储存库(例如,功能储存库330)获取所述一个或多个功能中的至少一个,所述一个或多个功能用于处理所述媒体内容,所述一个或多个功能中的所述至少一个中的每一个包括指示FDD的FD。
处理代码740可被配置为使至少一个处理器使用所述工作流、所述任务和所述一个或多个功能中的所述至少一个来处理所述媒体内容。
在实施例中,所述工作流可以包括工作流表现层状态转移(REST)资源(WR),所述任务可以包括任务REST资源(TR),以及所述一个或多个功能中的所述至少一个可以包括功能REST资源。
在实施例中,所述WD、所述TD和所述FD可以分别由一个或多个通用描述符构成。
在实施例中,所述WDD可以包括工作流描述对象(WO),所述TDD可以包括任务描述对象(TO),以及所述FDD可以包括至少一个功能描述对象(FO)。
在实施例中,所述WO、所述TO和所述至少一个FO包括至少一个JavaScript对象表示(JSON)对象或至少一个可扩展标记语言(XML)元素。
在实施例中,所述WDD可以包括第一链接对象,所述第一链接对象包括指示WDD的位置的第一统一资源定位符(URL),所述TDD可以包括第二链接对象,所述第二链接对象包括指示TDD的位置的第二统一资源定位符(URL),以及所述FDD可以包括第三链接对象,所述第三链接对象包括指示FDD的位置的第三统一资源定位符(URL)。
在实施例中,所述TD可以包括指示所述任务状态的状态描述符。
在实施例中,所述状态描述符可以指示所述任务状态是空状态。
在实施例中,可以使用超文本传输协议(HTTP)查询从所述功能储存库检索所述一个或多个功能中的所述至少一个,所述HTTP查询包括对应于所述一个或多个功能中的所述至少一个的搜索键和搜索值。
在实施例中,所述搜索值可以包括与所述一个或多个功能中的所述至少一个相关联的标识符、名称、描述、类型或关键词中的至少一个。
本申请实施例还提供了一种处理媒体内容的装置,该装置包括:
第一获取模块,用于从基于网络的媒体处理(NBMP)源获取用于处理所述媒体内容的工作流,所述工作流包括指示工作流描述符文档(WDD)的工作流描述符(WD);
第二获取模块,用于基于所述工作流获取用于处理所述媒体内容的任务,所述任务包括指示任务描述符文档(TDD)的任务描述符(TD);
第三获取模块,用于基于所述任务,从存储一个或多个功能的功能储存库获取所述一个或多个功能中的至少一个,所述一个或多个功能用于处理所述媒体内容,所述一个或多个功能中的所述至少一个中的每一个包括指示功能描述符文档(FDD)的功能描述符(FD);以及
处理模块,用于使用所述工作流、所述任务和所述一个或多个功能中的所述至少一个来处理所述媒体内容。
本申请实施例还提供了一种计算机设备,包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序指令,所述至少一条程序指令由所述一个或多个处理器加载并执行,以实现上述实施例中所述的处理媒体内容的方法。
前述实施例提供了说明和描述,但并不旨在穷举或将实施方式限制为所公开的精确形式。根据上述实施例,可以进行修改和变化,或者可以从实施方式的实践中获得修改和变化。
如本文中所使用的术语“组件”旨在被广义地解释为硬件、固件或硬件和软件的组合。
很明显,本文中所述的系统和/或方法可以以硬件、固件或硬件和软件的组合的不同形式来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码并不限制实施方式。因此,本文中不参考具体的软件代码而描述了该系统和/或方法的操作和性能——应当理解,可以基于本文中的描述对软件和硬件进行设计以实现该系统和/或方法。
即使特征的组合在权利要求中叙述和/或在说明书中公开,这些组合也不旨在限制可能的实施方式的公开。实际上,这些特征中的许多特征可以以在权利要求中没有具体叙述和/或在说明书中没有公开的方式组合。虽然下面列出的每个从属权利要求可能直接依赖于仅一个权利要求,但是可能的实施方式的公开包括权利要求集中的每个从属权利要求与每个其它权利要求的组合。
除非明确说明,否则本文中使用的元件、动作或指令不应被解释为关键的或必需的。此外,如本文中所使用的,冠词“一个(a)”和“一个(an)”旨在包括一个或多个项,并且可以与“一个或多个(one or more)”互换使用。此外,如本文中所使用的,术语“集”旨在包括一个或多个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“一个或多个(one or more)”互换使用。在仅意指一个项的情况下,使用术语“一个(one)”或类似的语言。此外,如本文中所使用的,术语“具有(has)”、“具有(have)”、“具有(having)”等旨在为开放式术语。此外,短语“基于”旨在表示“至少部分地基于”,除非另有明确说明。
Claims (13)
1.一种处理媒体内容的方法,其特征在于,所述方法包括:
从基于网络的媒体处理NBMP源获取用于处理所述媒体内容的工作流,所述工作流包括指示工作流描述符文档WDD的工作流描述符WD;
基于所述工作流获取用于处理所述媒体内容的任务,所述任务包括指示任务描述符文档TDD的任务描述符TD;
基于所述任务,从存储一个或多个功能的功能储存库获取所述一个或多个功能中的至少一个,所述一个或多个功能用于处理所述媒体内容,所述一个或多个功能中的所述至少一个中的每一个包括指示功能描述符文档FDD的功能描述符FD;以及
使用所述工作流、所述任务和所述一个或多个功能中的所述至少一个来处理所述媒体内容。
2.根据权利要求1所述的方法,其特征在于,所述工作流包括工作流表现层状态转移REST资源WR,
所述任务包括任务REST资源TR,以及
所述一个或多个功能中的所述至少一个包括功能REST资源。
3.根据权利要求1所述的方法,其特征在于,所述WD、所述TD和所述FD分别由一个或多个通用描述符构成。
4.根据权利要求1所述的方法,其特征在于,所述WDD包括工作流描述对象WO,
所述TDD包括任务描述对象TO,以及
所述FDD包括至少一个功能描述对象FO。
5.根据权利要求4所述的方法,其特征在于,所述WO、所述TO和所述至少一个FO包括至少一个JSON对象或至少一个可扩展标记语言XML元素。
6.根据权利要求1所述的方法,其特征在于,所述WDD包括第一链接对象,所述第一链接对象包括指示所述WDD的位置的第一统一资源定位符URL,
所述TDD包括第二链接对象,所述第二链接对象包括指示所述TDD的位置的第二URL,以及
所述FDD包括第三链接对象,所述第三链接对象包括指示所述FDD的位置的第三URL。
7.根据权利要求1所述的方法,其特征在于,所述TD包括指示所述任务状态的状态描述符。
8.根据权利要求7所述的方法,其特征在于,所述状态描述符指示所述任务状态是空状态。
9.根据权利要求1所述的方法,其特征在于,使用超文本传输协议HTTP的查询,从所述功能储存库检索所述一个或多个功能中的所述至少一个,所述HTTP的查询包括对应于所述一个或多个功能中的所述至少一个的搜索键和搜索值。
10.根据权利要求9所述的方法,其特征在于,所述搜索值包括与所述一个或多个功能中的所述至少一个相关联的标识符、名称、描述、类型或关键词中的至少一个。
11.一种处理媒体内容的装置,其特征在于,所述装置包括:
第一获取模块,用于从基于网络的媒体处理NBMP源获取用于处理所述媒体内容的工作流,所述工作流包括指示工作流描述符文档WDD的工作流描述符WD;
第二获取模块,用于基于所述工作流获取用于处理所述媒体内容的任务,所述任务包括指示任务描述符文档TDD的任务描述符TD;
第三获取模块,用于基于所述任务,从存储一个或多个功能的功能储存库获取所述一个或多个功能中的至少一个,所述一个或多个功能用于处理所述媒体内容,所述一个或多个功能中的所述至少一个中的每一个包括指示功能描述符文档FDD的功能描述符FD;以及
处理模块,用于使用所述工作流、所述任务和所述一个或多个功能中的所述至少一个来处理所述媒体内容。
12.一种非易失性计算机可读存储介质,其特征在于,用于存储指令,所述指令在由处理媒体内容的装置的至少一个处理器执行时,使得所述至少一个处理器执行所述权利要求1-10任一项所述的方法。
13.一种计算机设备,其特征在于,包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序指令,所述至少一条程序指令由所述一个或多个处理器加载并执行,以实现所述权利要求1-10任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962839509P | 2019-04-26 | 2019-04-26 | |
US62/839,509 | 2019-04-26 | ||
US16/848,202 | 2020-04-14 | ||
US16/848,202 US11782751B2 (en) | 2019-04-26 | 2020-04-14 | Method and apparatus for improvements to moving picture experts group network based media processing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865649A CN111865649A (zh) | 2020-10-30 |
CN111865649B true CN111865649B (zh) | 2024-04-26 |
Family
ID=72922059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010299534.4A Active CN111865649B (zh) | 2019-04-26 | 2020-04-16 | 处理媒体内容的方法和装置、计算机设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11782751B2 (zh) |
CN (1) | CN111865649B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11544108B2 (en) * | 2019-04-23 | 2023-01-03 | Tencent America LLC | Method and apparatus for functional improvements to moving picture experts group network based media processing |
US11297121B2 (en) * | 2020-04-07 | 2022-04-05 | Tencent America LLC | Split rendering using network based media processing workflow |
US11496532B2 (en) * | 2020-04-10 | 2022-11-08 | Samsung Electronics Co., Ltd. | Offering media services through network edge |
US11539776B2 (en) * | 2021-04-19 | 2022-12-27 | Tencent America LLC | Method for signaling protocol characteristics for cloud workflow inputs and outputs |
US20230008616A1 (en) | 2021-07-06 | 2023-01-12 | Tencent America LLC | Method and system for monitoring, reporting and notification of cloud platform system variables and events |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016847A (zh) * | 2008-04-07 | 2011-04-13 | 高通股份有限公司 | 用于向设备传递辅助数据的方法和装置 |
CN104937583A (zh) * | 2013-01-18 | 2015-09-23 | 华为技术有限公司 | 一种对媒体内容进行自适应的方法和装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097462A1 (en) * | 2003-10-31 | 2005-05-05 | Spx Corporation | System and method for information creation, management and publication of documentation from a single source |
US8612279B2 (en) * | 2011-06-27 | 2013-12-17 | Cisco Technology, Inc. | Ad hoc generation of work item entity for geospatial entity based on symbol manipulation language-based workflow item |
US9363190B2 (en) * | 2013-07-31 | 2016-06-07 | Manjrasoft Pty. Ltd. | System, method and computer program product for energy-efficient and service level agreement (SLA)-based management of data centers for cloud computing |
US9888050B2 (en) * | 2013-09-24 | 2018-02-06 | Verizon Patent And Licensing Inc. | Method and apparatus for integrating various network elements and providing media processing services |
US20150261748A1 (en) * | 2014-03-16 | 2015-09-17 | Sharp Laboratories Of America, Inc. | Web Service Workflow Chains for Processing Objects |
US10191686B2 (en) * | 2016-06-28 | 2019-01-29 | Vmware, Inc. | Rate limiting in a decentralized control plane of a computing system |
US11055135B2 (en) * | 2017-06-02 | 2021-07-06 | Seven Bridges Genomics, Inc. | Systems and methods for scheduling jobs from computational workflows |
US10986479B2 (en) * | 2018-01-17 | 2021-04-20 | Micro Focus Llc | Service management and provisioning for tenant service instances |
US10873614B2 (en) * | 2018-01-17 | 2020-12-22 | Samsung Electronics Co., Ltd. | Method and apparatus for configuration and deployment of media processing in the network |
EP3522003A1 (en) * | 2018-02-05 | 2019-08-07 | Hexagon Technology Center GmbH | Workflow generation |
US10768981B2 (en) * | 2018-06-21 | 2020-09-08 | Microsoft Technology Licensing, Llc | Dynamic time slicing for data-processing workflow |
CN113615142B (zh) * | 2019-03-18 | 2024-05-28 | 三星电子株式会社 | 用于在基于网络的媒体处理(nbmp)系统中提供认证的方法和设备 |
EP3942832B1 (en) * | 2019-03-20 | 2024-04-24 | Nokia Technologies Oy | Network based media processing security |
-
2020
- 2020-04-14 US US16/848,202 patent/US11782751B2/en active Active
- 2020-04-16 CN CN202010299534.4A patent/CN111865649B/zh active Active
-
2023
- 2023-08-31 US US18/240,499 patent/US20230418656A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016847A (zh) * | 2008-04-07 | 2011-04-13 | 高通股份有限公司 | 用于向设备传递辅助数据的方法和装置 |
CN104937583A (zh) * | 2013-01-18 | 2015-09-23 | 华为技术有限公司 | 一种对媒体内容进行自适应的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11782751B2 (en) | 2023-10-10 |
CN111865649A (zh) | 2020-10-30 |
US20200341803A1 (en) | 2020-10-29 |
US20230418656A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111865649B (zh) | 处理媒体内容的方法和装置、计算机设备和存储介质 | |
US11297121B2 (en) | Split rendering using network based media processing workflow | |
CN113557747B (zh) | 基于网络的媒体处理中处理媒体内容的方法和装置 | |
US11356534B2 (en) | Function repository selection mode and signaling for cloud based processing | |
CN113545024B (zh) | 在运动图像专家组基于网络的媒体处理中用于包络描述符的方法和装置 | |
US11520630B2 (en) | Extensible schemes and scheme signaling for cloud based processing | |
US11544108B2 (en) | Method and apparatus for functional improvements to moving picture experts group network based media processing | |
US12045650B2 (en) | Extensible schemes and scheme signaling for cloud based processing | |
US11675796B2 (en) | Method and apparatus for metadata of function and function group search in moving picture experts group network based media processing | |
US11838390B2 (en) | Function repository selection mode and signaling for cloud based processing | |
US11539776B2 (en) | Method for signaling protocol characteristics for cloud workflow inputs and outputs | |
JP7515614B2 (ja) | データフローにおいて連続性を持たせかつ途切れることなしにワークフローをスイッチングする又はワークフローを更新するための方法、ワークフローマネージャ、およびコンピュータプログラム | |
CN116249965A (zh) | 云平台系统变量和事件的监测、报告以及通知的方法和系统 | |
CN111831834A (zh) | 基于网络的媒体处理(nbmp)中处理媒体内容的方法和装置 | |
CN114514510A (zh) | 云服务的任务邻近性 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |