基于网络的媒体处理(NBMP)中处理媒体内容的方法和装置与流程

文档序号:22677332发布日期:2020-10-28 12:34阅读:152来源:国知局
基于网络的媒体处理(NBMP)中处理媒体内容的方法和装置与流程

相关文件

本申请要求2019年4月23日在美国专利商标局提交的美国临时专利申请第62/837,608号的优先权,以及2020年4月21日在美国专利商标局提交的美国专利申请第16,854,869号的优先权,其全部内容通过引用结合在本文中。



背景技术:

运动图像专家组(movingpictureexpertsgroup,mpeg)的基于网络的媒体处理(networkbasedmediaprocessing,nbmp)项目研发了云上处理媒体的概念。然而,当前nbmp设计不提供用于网络管理的应用程序接口(api)抽象。当前nbmp设计仅提供云资源(如硬件平台)的api。

而且,在nbmp中,当前的响应参数也未被明确定义。当从功能储存库返回多个条目时,媒体源或nbmp管理器可在所返回的条目中做出决策。例如,如果通过媒体源做这样的决策,可能是容易的,因为媒体源可读取所返回的多个条目并且执行手动选择。然而,即使在这种情况下,媒体源也可能很难从所返回的多个条目中选择正确的功能。在另一个示例中,如果nbmp管理器在读取所返回的多个条目后做出决策,则nbmp管理器可能需要某个参考点来做出决策。



技术实现要素:

根据各实施例,一种运动图像专家组(mpeg)基于网络的媒体处理(nbmp)中处理媒体内容的方法由至少一个处理器执行,并且包括,从存储用于处理媒体内容的一个或多个功能的功能储存库获得所述一个或多个功能中的至少一个功能,所述一个或多个功能中的所述至少一个功能中的每个功能包括功能描述符,用于指示所述一个或多个功能中的所述功能的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率;基于从所述一个或多个功能中获得的所述至少一个功能,获得用于处理媒体内容的任务,所述任务包括任务描述符,用于指示所述任务的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率;以及基于所述任务描述符使用获得的所述任务来处理媒体内容。

根据各实施例,一种运动图像专家组(mpeg)基于网络的媒体处理(nbmp)中处理媒体内容的装置包括至少一个处理器,用于读取程序代码并按照程序代码的指令进行操作,程序代码包括第一获取代码,用于使所述至少一个处理器从存储用于处理媒体内容的一个或多个功能的功能储存库获得所述一个或多个功能中的至少一个功能,所述一个或多个功能中的所述至少一个功能中的每个功能包括功能描述符,用于指示所述一个或多个功能中的所述功能的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率;第二获取代码,用于使所述至少一个处理器基于从所述一个或多个功能中获得的所述至少一个功能,获得用于处理媒体内容的任务,所述任务包括任务描述符,用于指示所述任务的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率;以及处理代码,用于使所述至少一个处理器基于所述任务描述符使用获得的所述任务来处理媒体内容。

根据各实施例,一种非易失性计算机可读存储介质,存储有指令,当由mpegnbmp中处理媒体内容的装置的至少一个处理器执行时,使所述至少一个处理器,从存储用于处理媒体内容的一个或多个功能的功能储存库获得所述一个或多个功能中的至少一个功能,所述一个或多个功能中的所述至少一个功能中的每个功能包括功能描述符,用于指示所述一个或多个功能中所述功能的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率;基于从所述一个或多个功能中获得的所述至少一个功能,获得用于处理媒体内容的任务,所述任务包括任务描述符,用于指示所述任务的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率;以及基于所述任务描述符使用获得的所述任务来处理媒体内容。

各实施例提供的对mpegnbmp标准的功能改进提高了媒体处理效率、提高了媒体服务部署的速度且降低了媒体服务部署的成本,并允许通过利用公有、私有或混合云服务来实现媒体服务的大规模部署。

附图说明

图1为各实施例的可实施本文的方法、装置和系统的环境的示意图。

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

图3为各实施例的nbmp系统的框图。

图4为各实施例的mpegnbmp中处理媒体内容的方法的流程图。

图5为各实施例的mpegnbmp中处理媒体内容的装置的框图。

图6为各实施例的mpegnbmp中处理媒体内容的装置的框图。

具体实施方式

本文描述的实施例提供了对mpegnbmp标准的功能改进。这些改进提高了媒体处理效率、提高了媒体服务部署的速度且降低了媒体服务部署的成本,并允许通过利用公有、私有或混合云服务来实现媒体服务的大规模部署。

一些例子中,对mpegnbmp标准的功能改进包括使用功能描述符来简化功能组的描述,该功能组包括用于处理媒体内容的多个功能。此外,媒体源和媒体接收器(mediasink)被添加到处理媒体内容的工作流,并使用任务描述符来表征它们的输入和输出。通过将缓冲器吞吐量、缓冲器尺寸、元数据尺寸和频率参数添加到输入描述符和输出描述符来更好地表征功能的输入和输出及任务的输入和输出。通过将定时描述符添加到连接映射描述符来更好地表征功能组和任务工作流。通过将定时参数与显式硬件参数分离并将附加扩展参数添加到定时描述符来改进定时需求和工作流的抽象。

图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(统称为“计算资源(computingresources)124”,分别称为“计算资源(computingresource)124”)。

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

进一步如图1所示,计算资源124包括一组云资源,例如一个或多个应用程序(application,app)124-1、一个或多个虚拟机(virtualmachine,vm)124-2、虚拟化存储(virtualizedstorage,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-2包括机器(例如,计算机)的软件实现,虚拟机124-2像物理机那样执行程序。虚拟机124-2可以是系统虚拟机,也可以是进程虚拟机,这取决于虚拟机124-2对任何真实机的使用和对应程度。系统虚拟机可以提供完整系统平台,其支持完整操作系统(“os”)的执行。进程虚拟机可以执行单个程序,并且可以支持单个进程。在一些实施方式中,虚拟机124-2可以代表用户(例如,用户设备110)执行,并且可以管理云计算环境122的基础架构,例如数据管理、同步、或长期数据传输。

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

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

网络130包括一个或多个有线和/或无线网络。例如,网络130可以包括蜂窝网络(例如,第五代(fifthgeneration,5g)网络、长期演进(long-termevolution,lte)网络、第三代(thirdgeneration,3g)网络、码分多址(cdma)网络等)、公共陆地移动网络(publiclandmobilenetwork,plmn)、局域网(localareanetwork,lan)、广域网(wideareanetwork,wan)、城域网(metropolitanareanetwork,man)、电话网络(例如,公共交换电话网络(publicswitchedtelephonenetwork,pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络等,和/或这些或其它类型的网络的组合。

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

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

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

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

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

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

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

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

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

图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来设置、配置、管理和监视工作流的任务351和352中可由一个或多个媒体处理实体350执行的一个或多个任务。各实施例中,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接收媒体内容,根据由nbmp工作流管理器320创建的、包括任务351和352的工作流来处理接收的媒体内容,并且将经过处理的媒体内容输出到媒体接收器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的任何组件之间的通信可包括描述符,每个描述符包括多个参数。

功能和功能组的共同描述符

各实施例的nbmp规范可为功能组定义单独的表征,功能组包括用于处理媒体内容的多个功能。对于每个功能组,所述表征可包括,例如,如下面详细描述的标识(id)、名称、连接映射和关系参数。不使用单独的描述符来描述功能组的表示,而是使用功能描述符来描述功能组。通用描述符包括标志,从而用信号表示其描述的是功能组。因此,通用描述符被扩展为包括表1中的以下项:

表1——通用描述符扩展:isfunctiongroup标志

针对工作流、功能和任务描述符设计了通用描述符。

由于功能组和功能使用相同的描述符,因此简化了nbmp实体的解析、验证和操作。

添加到工作流dag的媒体源

各实施例的nbmp规范可将媒体源360和媒体接收器370添加到一个工作流的有向无环图(directedacyclicgraph,dag)进行描述。相应地,可用相同的dag来描述媒体源360和工作流之间以及工作流和媒体接收器370之间的网络连接的资源要求。该方法通过nbmp工作流管理器320简化了需求文档以及工作流的建立和管理。

为了实现上述目的,将通用描述符扩展为用信号表示节点是媒体源还是接收器,如下表2所示:

表2—通用描述符扩展:媒体源和接收器

附加输入参数和输出参数

为了改进nbmp任务的网络管理,将输入参数和输出参数扩展为能够对每个任务的吞吐量和缓冲器尺寸建模。类似地,元数据参数的最大尺寸和元数据实例的最大频率被添加到每个任务的更好的模型需求中。

表3指示被添加到输入描述符和输出描述符的以下参数:

表3——输入描述符增强

表4——输出描述符增强

针对工作流、功能和任务描述符设计了输入描述符和输出描述符。

添加到连接映射描述符的定时参数

为了定义nbmp源310的给定工作流中连接的定时要求,连接映射描述符被扩展为包括定时需求参数。使用这些参数,nbmp源310可将任务dag中的每个连接的定时需求用信号通知nbmp工作流管理器320,如下表5:

表1——连接映射描述符改进

连接映射包括指示功能组的功能之间的所有连接的映射。

连接映射描述符可用于每个连接。

定时需求的分组、改进和扩展

各实施例的nbmp规范可包括需求描述符,需求描述符包括三个定时信息:延迟、比特率和吞吐量。该信息与硬件要求分为一组。因为在许多工作流描述中,硬件要求是未知的或者不需要被描述的,而足够的定时需求可定义高级别系统需求,所以nbmp规范将定时需求与硬件要求分离,并且对参数进行扩展以使这些参数可以描述高级别需求,而不需要描述确切的硬件要求。这改进了nbmp源310对工作流描述的抽象级别。

因此,nbmp需求描述符被分为两个描述符:定时描述符和硬件资源描述符。此外,定时需求描述符的参数被扩展,如下表6中所示:

表2——定时需求参数

图4为各实施例的mpegnbmp中处理媒体内容的方法的流程图。在一些实施方案中,图4的一个或多个处理块可由实施nbmp系统300的平台120执行。在一些实施方案中,图4的一个或多个处理块可由实施nbmp系统300的平台120之外的或包括该平台120的另一个或一组设备(诸如用户设备110)执行。

如图4所示,在操作410中,方法400包括从存储用于处理媒体内容的一个或多个功能的功能储存库获得该一个或多个功能当中的至少一个功能,所述一个或多个功能当中的至少一个功能中的每个功能包括功能描述符。一些实施例中,所述功能描述符指示所述一个或多个功能中该功能的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率。

在操作420中,方法400包括,基于从所述一个或多个功能当中获得的所述至少一个功能,获得用于处理媒体内容的任务,所述任务包括任务描述符。一些实施例中,所述任务描述符指示所述任务的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率。各实施例中,所述功能描述符和所述任务描述符中的每个描述符包括标志,所述标志指示所述描述符是否描述功能组,所述功能组包括所述一个或多个功能中的多个功能。

在操作430中,方法400包括,基于任务描述符,使用所述获得的任务来处理媒体内容。

该方法可进一步包括,从nbmp源获得描述所述一个或多个功能中将被执行的所述至少一个功能的工作流,所述工作流包括工作流描述符。一些实施例中,所述工作流描述符指示所述工作流的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率。基于获得的所述工作流获得所述一个或多个功能中的至少一个功能。

所述一个或多个功能中的所述至少一个功能、所述任务和所述工作流中的每一个可用于消耗输入资源或产生输出资源。

工作流描述符包括所述标志,该标志指示所述工作流描述符是否描述所述功能组。

基于指示所述工作流描述符、所述功能描述符和所述任务描述符中一个描述符描述所述功能组的标志,所述工作流描述符、所述功能描述符和所述任务描述符中的该描述符可进一步包括连接映射描述符,所述连接映射描述符指示所述多个功能之间的连接,以及指示该连接的定时需求参数。

定时需求参数可独立于硬件要求参数。

定时需求参数可包括所述连接的典型延迟、平均比特率、平均吞吐量、最小延迟、最大延迟、最小吞吐量、最大吞吐量和平均窗口。

尽管图4示出了方法400的示例框图,但是在一些实施方案中,方法400可包括比图4更多的框、更少的框、不同的框或不同顺序的框。另外或可替代地,方法400的两个或更多个框可被并行执行。

各实施例的用于在mpegnbmp中处理媒体内容的装置可以由处理器执行程序代码来实现,也可以由专门设计的硬件电路来实现。

当该装置由处理器执行程序代码实现时,图5为各实施例的用于在mpegnbmp中处理媒体内容的装置500的框图。如图5所示,装置500包括第一获得代码510、第二获得代码520、处理代码530和第三获得代码540。

第一获得代码510用于使至少一个处理器从存储用于处理媒体内容的一个或多个功能的功能储存库获得所述一个或多个功能中的至少一个功能,所述一个或多个功能中的所述至少一个功能中的每个功能包括功能描述符。例如,所述功能描述符可以指示所述一个或多个功能中的所述功能的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率。

第二获得代码520用于使至少一个处理器基于从所述一个或多个功能当中获得的所述至少一个功能,获得用于处理媒体内容的任务,所述任务包括任务描述符。例如,所述任务描述符指示所述任务的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率。所述功能描述符和所述任务描述符中的每个描述符包括标志,所述标志指示所述描述符是否描述功能组,所述功能组包括所述一个或多个功能中的多个功能。

处理代码530用于使至少一个处理器基于任务描述符,使用所述获得的任务来处理媒体内容。

第三获得代码540可以用于使至少一个处理器从nbmp源获得描述所述一个或多个功能中将被执行的所述至少一个功能的工作流,所述工作流包括工作流描述符。所述工作流描述符指示所述工作流的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率。基于获得的所述工作流获得所述一个或多个功能中的至少一个功能。

所述一个或多个功能中的所述至少一个功能、所述任务和所述工作流中的每一个可用于消耗输入资源或产生输出资源。

工作流描述符、功能描述符和任务描述符中的每一个描述符可包括标志,该标志指示所述工作流描述符、所述功能描述符和所述任务描述符中的该描述符是否描述一个功能组,所述功能组包括所述一个或多个功能中的多个功能。

基于指示所述工作流描述符、所述功能描述符和所述任务描述符中一个描述符描述所述功能组的标志,所述工作流描述符、所述功能描述符和所述任务描述符中的该描述符可进一步包括连接映射描述符,所述连接映射描述符指示所述多个功能之间的连接,以及指示该连接的定时需求参数。

定时需求参数可与硬件要求参数相独立。

定时需求参数可包括所述连接的典型延迟、平均比特率、平均吞吐量、最小延迟、最大延迟、最小吞吐量、最大吞吐量和平均窗口。

当该装置由硬件电路实现时,图6为各实施例的用于在mpegnbmp中处理媒体内容的装置600的框图。如图6所示,装置600包括第一获得模块610、第二获得模块620、处理模块630和第三获得模块640。

第一获得模块610用于使至少一个处理器从存储用于处理媒体内容的一个或多个功能的功能储存库获得所述一个或多个功能中的至少一个功能,所述一个或多个功能中的所述至少一个功能中的每个功能包括功能描述符。

第二获得模块620用于使至少一个处理器基于从所述一个或多个功能当中获得的所述至少一个功能,获得用于处理媒体内容的任务,所述任务包括任务描述符。

处理模块630用于使至少一个处理器基于任务描述符,使用所述获得的任务来处理媒体内容。

第三获得模块640可以用于使至少一个处理器从nbmp源获得描述所述一个或多个功能中将被执行的所述至少一个功能的工作流,所述工作流包括工作流描述符。基于获得的所述工作流获得所述一个或多个功能中的至少一个功能。

第三获得模块640可以从nbmp源获得描述所述一个或多个功能中将被执行的所述至少一个功能的工作流,所述工作流包括工作流描述符。所述工作流描述符指示所述工作流的最大吞吐量、最小缓冲器尺寸、元数据的最大尺寸和元数据的两个实例之间的最大频率。基于获得的所述工作流获得所述一个或多个功能中的至少一个功能。

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

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

显然,本文所述的系统和/或方法可以由不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码不限于这些实施方案。因此,本文在不提及特定软件代码的情况下描述了系统和/或方法的操作和行为——应当理解,可基于在本文的描述来设计软件和硬件以实现系统和/或方法。

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1