CN113545024B - 在运动图像专家组基于网络的媒体处理中用于包络描述符的方法和装置 - Google Patents

在运动图像专家组基于网络的媒体处理中用于包络描述符的方法和装置 Download PDF

Info

Publication number
CN113545024B
CN113545024B CN202080018741.6A CN202080018741A CN113545024B CN 113545024 B CN113545024 B CN 113545024B CN 202080018741 A CN202080018741 A CN 202080018741A CN 113545024 B CN113545024 B CN 113545024B
Authority
CN
China
Prior art keywords
tasks
task
processing
determining
message
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
Application number
CN202080018741.6A
Other languages
English (en)
Other versions
CN113545024A (zh
Inventor
伊拉吉·索达加
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent America LLC
Original Assignee
Tencent America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent America LLC filed Critical Tencent America LLC
Priority to CN202310078901.1A priority Critical patent/CN116074552A/zh
Publication of CN113545024A publication Critical patent/CN113545024A/zh
Application granted granted Critical
Publication of CN113545024B publication Critical patent/CN113545024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Library & Information Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种在运动图像专家组(MPEG)基于网络的媒体处理(NBMP)中处理媒体内容的方法,包括:获取用于处理所述媒体内容的多个任务,所述多个任务中的每一个任务具有包络描述符,所述包络描述符指示所述多个任务中相应一个任务的消息标识符(ID)、消息优先级和发送方的发送方ID;基于获取的多个任务中每一个任务的消息ID和发送方ID,确定所述获取的多个任务中是否存在重复任务;基于确定存在所述重复任务,使用所述重复任务中所述消息优先级为各个重复任务中最高的一个重复任务,处理所述媒体内容;以及,基于确定不存在所述重复任务,使用所述获取的多个任务,处理所述媒体内容。

Description

在运动图像专家组基于网络的媒体处理中用于包络描述符的 方法和装置
相关申请的交叉引用
本申请要求2019年3月15日提交的美国临时专利申请No.62/819,451和2020年3月9日提交的美国专利申请No.16/813,099在美国专利商标局的优先权,其全部公开内容通过引用并入本说明书中。
背景技术
运动图像专家组(MPEG)基于网络的媒体处理(NBMP)项目已经开发了在云端处理媒体的概念。然而,当前的NBMP设计不提供用于网络管理的应用程序接口(API)抽象。当前的NBMP设计仅为诸如硬件平台的云资源提供API。
此外,当前的NBMP设计不包括对通过APIs传递的消息进行封装的普通方式。因此,处理消息可能不能有效地通过APIs。例如,在工作流的部署中,可以在多个媒体处理实体上运行多个任务。工作流管理器和任务可以通过调度/查询一组描述符经由任务API进行通信。在大型部署中,尤其是在大规模部署中,在媒体会话期间分派/查询的次数可能是几千或几百万次。可能发生传送相同信息的多个消息或查询。这些消息的顺序、这些消息相对于其他消息的来源和预期的接收对于高效和有效地处理消息可能是重要的。
发明内容
根据实施例,一种在运动图像专家组(MPEG)基于网络的媒体处理(NBMP)中处理媒体内容的方法由至少一个处理器执行,并且包括:获取用于处理所述媒体内容的多个任务,所述多个任务中的每一个任务具有包络描述符,所述包络描述符指示所述多个任务中相应一个任务的消息标识符(ID)、消息优先级和发送方的发送方ID。所述方法还包括:基于获取的多个任务中每一个任务的消息ID和发送方ID来确定所述获取的多个任务中是否存在重复任务;基于确定存在所述重复任务,使用所述重复任务中所述消息优先级为各个重复任务中最高的一个重复任务,处理所述媒体内容;以及基于确定不存在所述重复任务,使用所述获取的多个任务,处理所述媒体内容。
根据实施例,一种在运动图像专家组(MPEG)基于网络的媒体处理(NBMP)中处理媒体内容的设备包括:至少一个存储器,其被配置为存储程序代码;以及至少一个处理器,其被配置为读取所述程序代码并按照所述程序代码的指示进行操作。所述程序代码包括:获取代码,其被配置成使所述至少一个处理器获取用于处理所述媒体内容的多个任务,所述多个任务中的每一个任务具有包络描述符,所述包络描述符指示所述多个任务中相应一个任务的消息标识符(ID)、消息优先级和发送方ID;确定代码,其被配置成使所述至少一个处理器基于获取的多个任务中每一个任务的消息ID和发送方的发送方ID,确定所述获取的多个任务中是否存在重复任务。所述程序代码还包括处理代码,所述处理代码被配置为使得所述至少一个处理器:基于确定存在重复任务,使用所述重复任务中所述消息优先级为各个重复任务中最高的一个重复任务,处理所述媒体内容;以及,基于确定不存在重复任务,使用所述获取的多个任务,处理所述媒体内容。
根据实施例,一种非暂时性计算机可读介质,存储有指令,所述指令在被用于在运动图像专家组(MPEG)基于网络的媒体处理(NBMP)中处理媒体内容的装置的至少一个处理器执行时,使所述至少一个处理器:获取用于处理所述媒体内容的多个任务,所述多个任务中的每一个任务具有包络描述符,所述包络描述符指示所述多个任务中相应一个任务的消息标识符(ID)、消息优先级和发送方的发送方ID。所述指令还使所述至少一个处理器:基于获取的多个任务中每一个任务的消息ID和发送方ID,确定所述获取的多个任务中是否存在重复任务;基于确定存在所述重复任务,使用所述重复任务中所述消息优先级为各个重复任务中最高的一个重复任务,处理所述媒体内容;以及基于确定不存在所述重复任务,使用所述获取的多个任务,处理所述媒体内容。
附图说明
图1是根据实施例的可在其中实施本文所述的方法,装置和系统的环境图。
图2是图1的一个或多个设备的示例性组件的框图。
图3是根据实施例的NBMP系统的框图。
图4是根据实施例的在MPEG NBMP中处理媒体内容的方法的流程图。
图5是根据实施例的在MPEG NBMP中处理媒体内容的装置的框图。
具体实施方式
这里描述的实施例提供了MPEG NBMP标准中的包络描述符。包络描述符被添加到通过NBMP任务API通信的所有请求。这种包络描述符增加了媒体处理效率,提高了媒体服务部署的速度并降低成本,并且允许通过利用公共,私有或混合云服务来大规模部署媒体服务。
图1是根据实施例的可在其中实现本文所述的方法,装置和系统的环境100图。如图1所示,环境100可以包括用户设备110,平台120和网络130。环境100的设备可以经由有线连接,无线连接或有线和无线连接的组合来互连。
用户设备110包括能够接收、生成、存储、处理和/或提供与平台120相关联的信息的一个或多个设备。例如,用户设备110可以包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持计算机、智能扬声器、服务器等),移动电话(例如,智能电话、无线电话等),可佩戴设备(例如,智能眼镜或智能手表)或类似设备。在实施方式中,用户设备110可以从平台120接收信息和/或向平台120发送信息。
平台120包括如本文其他各处所述的一个或多个设备。在实施方式中,平台120可以包括云服务器或云服务器组。在实施方式中,平台120可以被设计成模块化的,使得软件组件可以根据特定需要被交换入或交换出。这样,平台120可以容易地和/或快速地重新配置用于不同的使用中。
在实施方式中,如图所示,平台120可以被托管在云计算环境122中。值得注意的是,虽然这里描述的实现将平台120描述为在云计算环境122中托管,但是在实施方式中,平台120可以不是基于云的(即,可以在云计算环境之外实现)或者可以是部分基于云的。
云计算环境122包括托管平台120的环境。云计算环境122可以提供不需要终端用户(例如,用户设备110)知道托管平台120的系统和/或设备的物理位置和配置的计算,软件,数据访问,存储等服务。如图所示,云计算环境122可以包括一组计算资源124(统称为“多个计算资源124”,以及单独地称为“计算资源124”)。
计算资源124包括一个或多个个人计算机,工作站计算机,服务器设备或其它类型的计算和/或通信设备。在实施方式中,计算资源124可以托管在平台120中。云资源可以包括在计算资源124中执行的计算实例,在计算资源124中提供的存储设备,由计算资源124提供的数据传输设备等。在实施方式中,计算资源124可以经由有线连接,无线连接或有线和无线连接的组合与其它计算资源124通信。
如图1进一步所示,计算资源124包括一组云资源,诸如一个或多个应用程序(“APPs”)124-1,一个或多个虚拟机(“VM”)124-2,虚拟化存储(“VS”)124-3,一个或多个系统管理程序(“HYPs”)124-4等。
应用程序124-1包括可以被提供给用户设备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的存储系统或设备内的虚拟化技术的一个或多个设备。在实施方式中,在存储系统的环境中,虚拟化的类型可以包括块虚拟化和文件虚拟化。块虚拟化可以指从物理存储抽象(或分离)逻辑存储,以便可以访问存储系统而不考虑物理存储或异构结构。分离可以允许存储系统的管理员在管理员如何为最终用户管理存储方面具有灵活性。文件虚拟化可以消除在文件级访问的数据与物理地存储文件的位置之间的相关性。这能够优化存储使用,服务器合并和/或非破坏性文件迁移的性能。
管理程序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可执行本文所述的一个或一个以上的过程。设备200可以响应于处理器220执行由诸如存储器230和/或存储组件240的非暂时性计算机可读介质存储的软件指令来执行这些过程。计算机可读介质在这里被限定为非暂时性存储器设备。存储器设备包括单个物理存储设备内的存储器空间或散布在多个物理存储设备上的存储器空间。
软件指令可以经由通信接口270从另一计算机可读介质或从另一设备读取到存储器230和/或存储组件240中。当执行时,存储在存储器230和/或存储组件240中的软件指令可致使处理器220执行本文所述的一个或一个以上的过程。附加地或替代性地,硬连线电路可以被用于代替软件指令或者与软件指令结合来执行这里描述的一个或多个过程。因此,在此描述的实现不限于硬件电路和软件的任何特定组合。
图2中所示的部件的数量和布置被提供作为示例。在实践中,设备200可以包括比图2所示的部件更多的部件,更少的部件,不同的部件,或不同布置的部件。附加地或替代性地,设备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创建包括将由一个或多个媒体处理实体350执行的任务351和352的工作流。工作流描述文档可以包括描述符,每个描述符可以包括参数。
例如,NBMP源310可以选择存储在功能储存库330中的一个或多个功能,并且向NBMP工作流管理器320发送工作流描述文档,该工作流描述文档包括用于描述诸如输入和输出数据、所选择的一个或多个功能以及工作流的要求等细节的描述符。工作流描述文档可以进一步包括一组任务描述以及将由一个或多个媒体处理实体350执行的任务351和352的输入和输出的连接图(connection map)。当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通信,并且可以通过网络控制器340经由NBMP任务API、NBMP链接API和功能发现API与一个或多个媒体处理实体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中的一个或多个。
媒体接收器(media sink)370可以包括至少一个处理器和至少一个显示器,所述显示器被配置为显示由一个或多个媒体处理实体350处理的媒体内容。
第三方实体380可以包括至少一个处理器和存储器,该存储器存储被配置成使至少一个处理器执行第三方实体380的功能的代码。
如上所述,从到NBMP工作流管理器320的消息NBMP源310(例如,用于请求创建工作流的工作流描述文档),以及从NBMP工作流管理器320到一个或多个媒体处理实体350的消息(例如,用于使工作流被执行)可以包括描述符,每个描述符包括参数。在实施例中,NBMP系统300中使用API的、任何组件之间的通信可以包括描述符,每个描述符包括参数。
在此描述的实施例提供了被添加到图3所示的NBMP任务API中的包络描述符。通过NBMP任务API的任何通信携带一个包络描述符,该描述符包括表1中描述的信息:
表1-包络描述符
Figure BDA0003245756960000101
Figure BDA0003245756960000111
在表1中,消息版本指示消息的版本,并且可以用于将来的扩展。
消息ID用于标识消息的一个实例。如果相同的消息被多次发送,则这是有用的。接收方可以仅处理一个消息并忽略其他的消息。
会话ID用于标识会话。会话由工作流描述文档限定,这取决于应用程序的寿命和范围。会话ID连同消息ID一起限定了跨越由用户建立的所有会话的消息的唯一ID。
消息优先级指示发送方的消息的优先级。这是一个数字,并且较小的数字意味着较高的优先级。
发表时间指示撰写消息的挂钟时间。这可以用于在处理消息方面对来自同一发送方或多个发送方的消息进行排序。
过期时间指示消息将到期的挂钟时间,并且在过期时间之后不需要处理消息。
发送方ID是消息的发送方的唯一ID,因为每个工作流有一个发送方。
接收方ID是消息的接收方的唯一ID的列表。
在实施例中,包络描述符可以用于图3所示的NBMP系统300的任何API和/或任何描述符。
如果在一个任务中有另外的消息,则仅另外的消息ID、消息优先级和发送方ID可以被保持用于相应的包络描述符中并且由NBMP工作流管理器320使用,以减少包络描述符的冗余和大小。
对于每个会话,用户最初设置包络描述符的参数。例如,用户可以为每个任务分配会话ID,为每个任务设置发送方/接收方ID,并为每个任务限定优先级范围。
工作流描述文档包括表2中描述的信息:
表2-包括在工作流描述文档中的包络描述符参数
Figure BDA0003245756960000121
NBMP工作流管理器320可以在每个任务配置期间使用包络描述符的以下参数,如表3所示:
表3-在任务配置中使用的包络描述符参数
Figure BDA0003245756960000122
Figure BDA0003245756960000131
NBMP工作流管理器320可以使用包络描述符中、在工作流描述文档中限定的会话ID。
NBMP工作流管理器320可以针对正在创建的所有任务使用发送方ID的同一值。
上述值在任务更新期间不能更改。
在会话期间的包络描述符的用例中,每个API请求都包括且仅包括一个包络描述符。NBMP工作流管理器320在初始设置期间建立的这些请求中可以使用发送方ID和任务ID。
每个任务将使用在通过API请求的初始设置期间接收的强制参数和值集。
通过使用根据实施例的包络描述符,NBMP工作流管理器320可以更容易地在工作流中找到重复的消息,并且清除它们,除了被保留用于处理的一个消息之外。此外,NBMP工作流管理器320可以使用包络描述符的消息优先级参数更容易地对消息进行优先级排序。最后,NBMP系统300的组件可以使用包络描述符更容易地记录和跟踪消息、工作流、任务和功能。
图4是根据实施例的在MPEG NBMP中处理媒体内容的方法400的流程图。在实施方式中,图4的一个或多个处理块可以由实现NBMP系统300的平台120来执行。在实施方式中,图4的一个或多个处理块可以由另一个设备或一组设备(例如用户设备110)来执行,该另一个设备或该组设备与实现NBMP系统300的平台120分离或将该平台包括在内。
如图4所示,在操作410中,方法400包括获取用于处理媒体内容的多个任务,所述多个任务中的每一个任务具有包络描述符,所述包络描述符指示所述多个任务中相应一个任务的消息标识符(ID)、消息优先级和发送方的发送方ID。
在操作420中,方法400包括基于获取的多个任务中每一个任务的消息ID和发送方ID,确定所述获取的多个任务中是否存在重复任务。
在操作430中,方法400包括基于确定存在所述重复任务,使用所述重复任务中所述消息优先级为各个重复任务中最高的一个重复任务,处理所述媒体内容。
在操作440中,方法400包括,基于确定不存在重复任务,使用所述获取的多个任务,处理所述媒体内容。
确定所述获取的多个任务中是否存在所述重复任务可以包括:确定所述重复任务中的第一任务的消息ID与所述重复任务中的第二任务的消息ID是否相同;以及,基于确定所述重复任务中的所述第一任务的所述消息ID与所述重复任务中的所述第二任务的所述消息ID相同,确定所述获取的多个任务中存在所述重复任务。
确定所述获取的多个任务中是否存在所述重复任务可以包括:确定所述重复任务中的第一任务的所述发送方ID与所述重复任务中的第二任务的所述发送方ID是否相同;以及,基于确定所述重复任务中的所述第一任务的所述发送方ID与所述重复任务中的所述第二任务的所述发送方ID相同,确定所述获取的多个任务中存在所述重复任务。
该方法还可以包括:基于确定存在所述重复任务,从所述获取的多个任务中清除获取的重复任务中的剩余任务,以使得不使用所述重复任务中清除的剩余任务来处理所述媒体内容。
使用所述获取的多个任务,处理所述媒体内容可以包括:基于确定不存在重复任务,使用所述获取的多个任务,基于所述获取的多个任务中每一个任务的所述消息优先级按顺序处理所述媒体内容。
该方法还可以包括:使用所述获取的多个任务中每一个任务的所述包络描述符来记录所述获取的多个任务。
该方法可以由媒体处理实体350执行,以及所述多个任务可以从NBMP工作流管理器320获取。
尽管图4示出了方法400的示例块,但是在实施方式中,方法400可以包括与图4中所示的块不同的附加块、更少的块、不同的块或不同排列的块。附加地或替代性地,方法400的两个或更多个块可以并行地执行。
图5是根据实施例的用于处理MPEG NBMP中的媒体内容的装置500的示意图。如图5所示,装置500包括获取代码510、确定代码520、处理代码530、清除代码540和记录代码550。
获取代码510被配置成使至少一个处理器获取用于处理媒体内容的多个任务,所述多个任务中的每一个任务具有包络描述符,所述包络描述符指示所述多个任务中相应一个任务的消息标识符(ID)、消息优先级和发送方的发送方ID。
确定代码520被配置成使至少一个处理器基于获取的多个任务中每一个任务的消息ID和发送方ID,确定所述获取的多个任务中是否存在重复任务。
处理代码530被配置成使至少一个处理器基于确定存在所述重复任务,使用所述重复任务中所述消息优先级为各个重复任务中最高的一个重复任务,处理所述媒体内容;以及,基于确定不存在所述重复任务,使用所述获取的多个任务,处理所述媒体内容。
确定代码520还可以被配置成使至少一个处理器:确定所述重复任务中的第一任务的消息ID与所述重复任务中的第二任务的消息ID是否相同;以及,基于确定所述重复任务中的所述第一任务的所述消息ID与所述重复任务中的所述第二任务的所述消息ID相同,确定所述获取的多个任务中存在所述重复任务。
确定代码520还可以被配置成使所述至少一个处理器:确定所述重复任务中的第一任务的发送方ID与所述重复任务中的第二任务的发送方ID是否相同;以及,基于确定所述重复任务中的所述第一任务的所述发送方ID与所述重复任务中的所述第二任务的所述发送方ID相同,确定所述获取的多个任务中存在所述重复任务。
清除代码540可以被配置成使至少一个处理器基于确定存在重复任务,从所述获取的多个任务中清除重复任务中的剩余任务,以使得不使用所述重复任务中清除的剩余任务来处理所述媒体内容。
处理代码530还可以被配置成使至少一个处理器基于确定不存在所述重复任务,使用所述获取的多个任务,基于所述获取的多个任务中每一个任务的所述消息优先级按顺序处理所述媒体内容。
记录代码550可以被配置成使至少一个处理器使用所述获取的多个任务中每一个任务的包络描述符来记录所述获取的多个任务。
所述装置可以是媒体处理实体350,并且所述多个任务从NBMP工作流管理器320中获取。
前面的公开内容提供了说明和描述,但并不旨在穷举或将实施方式限制为所公开的精确形式。可以根据上述公开进行修改和变化,也可以从实现的实践中获得。
如本文所使用的,术语组件旨在广义地解释为硬件,固件或硬件与软件的组合。
显然,在此描述的系统和/或方法可以用不同形式的硬件,固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不是对实现的限制。因此,在此描述了系统和/或方法的操作和行为,而不参考特定的软件代码,应当理解,可以基于在此的描述来设计软件和硬件以实现系统和/或方法。
即使在权利要求中叙述和/或在说明书中公开了特征的组合,这些组合并不旨在限制可能实现的公开。事实上,这些特征中的许多特征可以以权利要求中未具体陈述和/或说明书中所公开的方式组合。尽管下面列出的每个从属权利要求仅直接依赖于一个权利要求,但是可能实现的公开包括与权利要求集合中的每个其他权利要求相结合的每个从属权利要求。
除非明确地如此描述,否则本文使用的元件,动作或指令不应被解释为关键的或必要的。此外,如本文所用,冠词“一个”和“一种”旨在包括一个或多个项目,并且可以与“一个或多个”互换使用。此外,如在此所使用的,术语“组”旨在包括一个或多个项目(例如,相关项目,无关项目,相关和无关项目的组合等),并且可以与“一个或多个”互换使用。如果只有一个项目,则使用术语“一个”或类似语言。此外,如本文所用,术语“具有”等为开放式术语。此外,术语“基于”旨在表示“至少部分地基于”,除非另有明确说明。

Claims (17)

1.一种在运动图像专家组MPEG基于网络的媒体处理NBMP中处理媒体内容的方法,所述方法包括:
获取用于处理所述媒体内容的多个任务,所述多个任务中的每一个任务具有包络描述符,所述包络描述符指示所述多个任务中相应一个任务的消息标识符ID、消息优先级和发送方的发送方ID;
基于获取的多个任务中每一个任务的消息ID和发送方ID,确定所述获取的多个任务中是否存在重复任务;
基于确定存在所述重复任务,使用所述重复任务中所述消息优先级为各个重复任务中最高的一个重复任务,处理所述媒体内容;以及
基于确定不存在所述重复任务,使用所述获取的多个任务,处理所述媒体内容。
2.根据权利要求1所述的方法,其中,确定所述获取的多个任务中是否存在所述重复任务包括:
确定所述重复任务中的第一任务的消息ID与所述重复任务中的第二任务的消息ID是否相同;以及
基于确定所述重复任务中的所述第一任务的所述消息ID与所述重复任务中的所述第二任务的所述消息ID相同,确定所述获取的多个任务中存在所述重复任务。
3.根据权利要求1所述的方法,其中,确定所述获取的多个任务中是否存在所述重复任务包括:
确定所述重复任务中的第一任务的发送方ID与所述重复任务中的第二任务的发送方ID是否相同;以及
基于确定所述重复任务中的所述第一任务的所述发送方ID与所述重复任务中的所述第二任务的所述发送方ID相同,确定所述获取的多个任务中存在所述重复任务。
4.根据权利要求1所述的方法,还包括:基于确定存在所述重复任务,从所述获取的多个任务中清除所述重复任务中的剩余任务,以使得不使用所述重复任务中清除的剩余任务来处理所述媒体内容。
5.根据权利要求1所述的方法,其中,使用所述获取的多个任务,处理所述媒体内容包括:基于确定不存在所述重复任务,使用所述获取的多个任务,基于所述获取的多个任务中每一个任务的所述消息优先级按顺序处理所述媒体内容。
6.根据权利要求1所述的方法,还包括:使用所述获取的多个任务中每一个任务的所述包络描述符来记录所述获取的多个任务。
7.根据权利要求1至6中任一项所述的方法,其中,所述方法由媒体处理实体执行,以及
所述多个任务从NBMP工作流管理器获取。
8.一种在运动图像专家组MPEG基于网络的媒体处理NBMP中处理媒体内容的装置,所述装置包括:
至少一个存储器,被配置为存储程序代码;以及
至少一个处理器,被配置为读取所述程序代码,且按照所述程序代码的指示进行操作,所述程序代码包括:
获取代码,被配置为使所述至少一个处理器获取用于处理所述媒体内容的多个任务,所述多个任务中的每一个任务具有包络描述符,所述包络描述符指示所述多个任务中相应一个任务的消息标识符ID、消息优先级和发送方的发送方ID;
确定代码,被配置为使所述至少一个处理器基于获取的多个任务中每一个任务的消息ID和发送方ID,确定所述获取的多个任务中是否存在重复任务;以及
处理代码,被配置为使所述至少一个处理器执行以下操作:
基于确定存在所述重复任务,使用所述重复任务中所述消息优先级为各个重复任务中最高的一个重复任务,处理所述媒体内容;以及
基于确定不存在所述重复任务,使用所述获取的多个任务,处理所述媒体内容。
9.根据权利要求8所述的装置,其中,所述确定代码还被配置为使所述至少一个处理器:
确定所述重复任务中的第一任务的消息ID与所述重复任务中的第二任务的消息ID是否相同;以及
基于确定所述重复任务中的所述第一任务的所述消息ID与所述重复任务中的所述第二任务的所述消息ID相同,确定所述获取的多个任务中存在所述重复任务。
10.根据权利要求8所述的装置,其中,所述确定代码还被配置为使所述至少一个处理器:
确定所述重复任务中的第一任务的发送方ID与所述重复任务中的第二任务的发送方ID是否相同;以及
基于确定所述重复任务中的所述第一任务的所述发送方ID与所述重复任务中的所述第二任务的所述发送方ID相同,确定所述获取的多个任务中存在所述重复任务。
11.根据权利要求8所述的装置,还包括清除代码,所述清除代码被配置为使所述至少一个处理器:基于确定存在所述重复任务,从所述获取的多个任务中清除所述重复任务中的剩余任务,以使得不使用所述重复任务中清除的剩余任务来处理所述媒体内容。
12.根据权利要求8所述的装置,其中,所述处理代码还被配置为使所述至少一个处理器:基于确定不存在所述重复任务,使用所述获取的多个任务,基于所述获取的多个任务中每一个任务的所述消息优先级按顺序处理所述媒体内容。
13.根据权利要求8所述的装置,还包括记录代码,所述记录代码被配置为使所述至少一个处理器使用所述获取的多个任务中每一个任务的所述包络描述符来记录所述获取的多个任务。
14.根据权利要求8至13中任一项所述的装置,其中,所述装置是媒体处理实体,以及
所述多个任务从NBMP工作流管理器中获取。
15.一种在运动图像专家组MPEG基于网络的媒体处理NBMP中处理媒体内容的装置,所述装置包括:
处理单元,所述处理单元被配置为:
获取用于处理所述媒体内容的多个任务,所述多个任务中的每一个任务具有包络描述符,所述包络描述符指示所述多个任务中相应一个任务的消息标识符ID、消息优先级和发送方的发送方ID;
基于获取的多个任务中每一个任务的消息ID和发送方ID,确定所述获取的多个任务中是否存在重复任务;
基于确定存在所述重复任务,使用所述重复任务中所述消息优先级为各个重复任务中最高的一个重复任务,处理所述媒体内容;以及
基于确定不存在所述重复任务,使用所述获取的多个任务,处理所述媒体内容。
16.一种计算机设备,包括:
存储器,被配置为存储计算机程序代码;以及
至少一个处理器,被配置为访问所述计算机程序代码,按照所述计算机程序代码的指示进行操作以执行根据权利要求1至7中任一项所述的方法。
17.一种非暂时性计算机可读介质,存储有指令,所述指令在被用于在运动图像专家组MPEG基于网络的媒体处理NBMP中处理媒体内容的装置的至少一个处理器执行时,使所述至少一个处理器执行根据权利要求1至7中任一项所述的方法。
CN202080018741.6A 2019-03-15 2020-03-12 在运动图像专家组基于网络的媒体处理中用于包络描述符的方法和装置 Active CN113545024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310078901.1A CN116074552A (zh) 2019-03-15 2020-03-12 媒体处理方法、装置、计算机设备以及计算机可读介质

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962819451P 2019-03-15 2019-03-15
US62/819,451 2019-03-15
US16/813,099 2020-03-09
US16/813,099 US11012721B2 (en) 2019-03-15 2020-03-09 Method and apparatus for envelope descriptor in moving picture experts group network based media processing
PCT/US2020/022260 WO2020190612A1 (en) 2019-03-15 2020-03-12 Method and apparatus for envelope descriptor in moving picture experts group network based media processing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310078901.1A Division CN116074552A (zh) 2019-03-15 2020-03-12 媒体处理方法、装置、计算机设备以及计算机可读介质

Publications (2)

Publication Number Publication Date
CN113545024A CN113545024A (zh) 2021-10-22
CN113545024B true CN113545024B (zh) 2023-01-06

Family

ID=72422554

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310078901.1A Pending CN116074552A (zh) 2019-03-15 2020-03-12 媒体处理方法、装置、计算机设备以及计算机可读介质
CN202080018741.6A Active CN113545024B (zh) 2019-03-15 2020-03-12 在运动图像专家组基于网络的媒体处理中用于包络描述符的方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310078901.1A Pending CN116074552A (zh) 2019-03-15 2020-03-12 媒体处理方法、装置、计算机设备以及计算机可读介质

Country Status (6)

Country Link
US (1) US11012721B2 (zh)
EP (1) EP3939235B1 (zh)
JP (1) JP7089120B2 (zh)
KR (1) KR102456556B1 (zh)
CN (2) CN116074552A (zh)
WO (1) WO2020190612A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148935B (zh) 2019-06-26 2024-05-17 腾讯美国有限责任公司 用于多实例的nbmp功能执行的方法和装置
US11546431B2 (en) * 2019-06-26 2023-01-03 Tencent America LLC Efficient and extensive function groups with multi-instance function support for cloud based processing
US11496532B2 (en) * 2020-04-10 2022-11-08 Samsung Electronics Co., Ltd. Offering media services through network edge
US11593150B2 (en) * 2020-10-05 2023-02-28 Tencent America LLC Method and apparatus for cloud service
EP4315868A1 (en) * 2021-03-29 2024-02-07 Nokia Technologies Oy A method, an apparatus and a computer program product for processing media data
US20230336606A1 (en) * 2022-04-19 2023-10-19 Tencent America LLC Tailored scheduling of nbmp media workflows based on the platform capabilities

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1843013A (zh) * 2003-07-04 2006-10-04 惠普开发有限公司 用于管理流式媒体服务的方法
CN109314792A (zh) * 2016-05-25 2019-02-05 三星电子株式会社 内容分发网络中的mpeg媒体传输集成的方法和设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678698B2 (en) 2000-02-15 2004-01-13 Intralinks, Inc. Computerized method and system for communicating and managing information used in task-oriented projects
US20050094729A1 (en) 2003-08-08 2005-05-05 Visionflow, Inc. Software and hardware partitioning for multi-standard video compression and decompression
US7793299B2 (en) * 2005-08-30 2010-09-07 International Business Machines Corporation System and method for scheduling tasks for execution
US8520979B2 (en) 2008-08-19 2013-08-27 Digimarc Corporation Methods and systems for content processing
US8255644B2 (en) * 2009-05-18 2012-08-28 Lsi Corporation Network communications processor architecture with memory load balancing
US11277598B2 (en) * 2009-07-14 2022-03-15 Cable Television Laboratories, Inc. Systems and methods for network-based media processing
US8549536B2 (en) 2009-11-30 2013-10-01 Autonomy, Inc. Performing a workflow having a set of dependancy-related predefined activities on a plurality of task servers
US9628345B2 (en) 2012-12-13 2017-04-18 Level 3 Communications, Llc Framework supporting content delivery with collector services network
WO2014172597A1 (en) * 2013-04-19 2014-10-23 Cubic Corporation Reservation scheduler for real-time operating systems in wireless sensor networks
JP6492707B2 (ja) 2015-02-04 2019-04-03 富士通株式会社 パケット検出プログラム、パケット検出装置、および、パケット検出方法
US10223400B2 (en) * 2015-12-17 2019-03-05 Facebook, Inc. Techniques to configure media packages

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1843013A (zh) * 2003-07-04 2006-10-04 惠普开发有限公司 用于管理流式媒体服务的方法
CN109314792A (zh) * 2016-05-25 2019-02-05 三星电子株式会社 内容分发网络中的mpeg媒体传输集成的方法和设备

Also Published As

Publication number Publication date
CN113545024A (zh) 2021-10-22
EP3939235B1 (en) 2024-07-10
CN116074552A (zh) 2023-05-05
US11012721B2 (en) 2021-05-18
KR20210072076A (ko) 2021-06-16
KR102456556B1 (ko) 2022-10-21
JP2022511549A (ja) 2022-01-31
EP3939235A4 (en) 2022-12-07
WO2020190612A1 (en) 2020-09-24
JP7089120B2 (ja) 2022-06-21
US20200296431A1 (en) 2020-09-17
EP3939235A1 (en) 2022-01-19

Similar Documents

Publication Publication Date Title
CN113545024B (zh) 在运动图像专家组基于网络的媒体处理中用于包络描述符的方法和装置
CN113557747B (zh) 基于网络的媒体处理中处理媒体内容的方法和装置
WO2021207022A1 (en) Split rendering using network based media processing workflow
US11356534B2 (en) Function repository selection mode and signaling for cloud based processing
CN111865649B (zh) 处理媒体内容的方法和装置、计算机设备和存储介质
US11675796B2 (en) Method and apparatus for metadata of function and function group search in moving picture experts group network based media processing
CN111835549B (zh) 处理媒体内容的方法、装置、计算机设备以及介质
CN111831834A (zh) 基于网络的媒体处理(nbmp)中处理媒体内容的方法和装置
KR20220044995A (ko) 클라우드 플랫폼들 상의 작업흐름들에서의 비필수적 입력, 출력 및 태스크 시그널링
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) データフローにおいて連続性を持たせかつ途切れることなしにワークフローをスイッチングする又はワークフローを更新するための方法、ワークフローマネージャ、およびコンピュータプログラム
WO2021207027A1 (en) Task proximity for cloud services
WO2022225650A2 (en) Method for switching workflow or updating workflow with continuity and no interruption in dataflow
CN116249965A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40056286

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant