Method, apparatus, and storage medium for processing media content in network-based media processing
By enabling wildcard search and function ranking mechanisms in NBMP system, the problem of difficulty in function selection in NBMP design is solved, and the efficiency and accuracy of media content processing are improved.
Patent Information
- Application Number
- CN202010321842.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-04-17
- Filing Date
- 2020-04-22
- Publication Date
- 2025-07-25
- Estimated Expiration
- 2040-09-09
AI Technical Summary
The current NBMP design lacks the abstraction of application program interfaces and the unclear definition of response parameters, which makes it difficult for the source or NBMP manager to make the correct choice when returning entries in the face of multiple functions, affecting the efficiency of media content processing.
Make sure to select the most appropriate feature by enabling wildcard search, sending search queries to the function repository, and receiving and utilizing function ranking order.
It improves the efficiency of media content processing, avoids the difficulty of selection caused by the function repository returning multiple functions, and ensures the accuracy and efficiency of processing.
Smart Images

Figure CN111858967B_ABST
Abstract
Description
[0001] Cross-reference
[0002] This application claims priority to U.S. Provisional Patent Application No. 62 / 839,603, filed on April 26, 2019, and U.S. Patent Application No. 16 / 851,431, filed on April 17, 2020, the entire contents of which are incorporated herein by reference. Background Art
[0003] The Moving Picture Experts Group (MPEG) Network Based Media Processing (NBMP) project has developed a concept for processing media on the cloud. However, the current NBMP design does not provide an abstraction of the application programming interface (API) for network management. The current NBMP design only provides APIs for cloud resources, such as the hardware platform.
[0004] Furthermore, in NBMP, the current response parameter definitions are not clear. When multiple entries are returned from the function repository, the source or the NBMP manager may make a decision among the returned entries. For example, since the source can read the multiple returned entries and perform a manual selection, it may be easier for the source to make such a decision. However, even in this case, it may be difficult for the source to select the correct function from the multiple returned entries. In another example, if the NBMP manager makes a decision after parsing the NBMP workflow description document (WDD) from the source and reading the multiple returned entries, the NBMP manager needs a reference point to complete the decision. Summary of the Invention
[0005] To solve the above problems, embodiments of the present application provide a method, an apparatus, and a storage medium for processing media content in network based media processing (NBMP).
[0006] An embodiment of the present application provides a method for processing media content in network-based media processing (NBMP), including: performing function and function group discovery, enabling wildcard search in the function and function group discovery; sending a search query to a function repository for at least one function among one or more functions stored in the function repository, where the function repository stores the one or more functions for processing the media content, and the search query includes wildcards corresponding to the at least one function; receiving a response based on the sent search query from the function repository, where the response identifies at least one function among the one or more functions and includes the ranking of the at least one function among the one or more functions; and using at least one identified function among the one or more functions to process the media content according to the order of the ranking of the at least one function among the one or more functions.
[0007] An embodiment of the present application further provides a device for processing media content in network-based media processing (NBMP), including: a processing module for performing function and function group discovery and enabling wildcard search in the function and function group discovery; a sending module for sending a search query to a function repository for at least one function among one or more functions stored in the function repository, where the function repository stores the one or more functions for processing the media content, and the search query includes wildcards corresponding to the at least one function; a receiving module for receiving a response from the function repository based on the sent search query, where the response identifies at least one function among the one or more functions and includes the ranking of the at least one function among the one or more functions; and a processing module for using at least one identified function among the one or more functions to process the media content according to the order of the ranking of the at least one function among the one or more functions.
[0008] An embodiment of the present application further provides a non-volatile computer-readable storage medium storing multiple instructions that can cause at least one processor to execute the method as described in the embodiment of the present application.
[0009] The technical solution provided by the embodiment of the present application sends a search query to a function repository for at least one function among one or more functions it stores, receives a response returned by the function repository, where the response identifies the at least one function and includes the ranking of the at least one function among the one or more functions in the function repository, and uses the at least one function to process the media content according to the ranking. This can avoid the problem that the source or NBMP manager cannot make a correct selection when the function repository returns multiple functions, and improve the processing efficiency of media content. Description of the Drawings
[0010] Figure 1is a schematic diagram of an environment in accordance with an embodiment, in which the methods, apparatuses, and systems described herein may be implemented.
[0011] Figure 2 is in an embodiment of the present application Figure 1 block diagram of example components of one or more devices.
[0012] Figure 3 is a block diagram of an NBMP system in accordance with an embodiment.
[0013] Figure 4 is a flowchart of a method for processing media content in MPEG NBMP in accordance with an embodiment.
[0014] Figure 5 is a block diagram of an apparatus for processing media content in MPEG NBMP in accordance with an embodiment. Detailed Description
[0015] The NBMP functionality is defined by the current NBMP Committee Draft and can be searched from a functionality repository, which can be located anywhere in the network, e.g., it can be located in a local data center or a remote data center. The NBMP Committee Draft defines how a source device or an NBMP manager searches for available functionality in the network by using functionality keywords passed to the functionality discovery API.
[0016] Embodiments of the present application provide a data format for functionality discovery API operations and include functionality return parameters, as well as functionality names and functionality identifiers (IDs).
[0017] Figure 1 is a schematic diagram of an environment 100 in accordance with an embodiment, in which the methods, apparatuses, and systems described herein may be implemented. As Figure 1 shown, the environment 100 may include a user device 110, a platform 120, and a network 130. Devices in the environment 100 may be interconnected by a wired connection, a wireless connection, or a combination of wired and wireless connections.
[0018] The user device 110 includes one or more devices that are capable of receiving, generating, storing, processing, and / or providing information related to the platform 120. For example, the user device 110 may include a computing device (e.g., a desktop computer, a laptop computer, a tablet computer, a handheld computer, a smart speaker, a server, etc.), a mobile phone (e.g., a smart phone, a wireless phone, etc.), a wearable device (e.g., smart glasses or a smart watch), or a similar device. In some embodiments, the user device 110 may receive information from the platform 120 and / or send information to the platform 120.
[0019] Platform 120 includes one or more devices as described elsewhere herein. In some embodiments, platform 120 may include a cloud server or a group of cloud servers. In some embodiments, platform 120 may be designed to be modular such that software components can be swapped in or out according to specific needs. In this way, platform 120 can be easily and / or quickly reconfigured to have different uses.
[0020] In some embodiments, as shown, platform 120 may be hosted in a cloud computing environment 122. It is noted that while the embodiments described herein describe platform 120 as being hosted in cloud computing environment 122, in some embodiments, platform 120 is not cloud-based (i.e., can be implemented outside of a cloud computing environment) or may be partially cloud-based.
[0021] Cloud computing environment 122 includes an environment that hosts platform 120. Cloud computing environment 122 may provide services such as computing, software, data access, storage, etc., which do not require an end user (e.g., user device 110) to know the physical location and configuration of the systems and / or devices of hosted platform 120. As shown, cloud computing environment 122 may include a set of computing resources 124 (collectively referred to as "computing resources 124" and individually referred to as "computing resource 124").
[0022] Computing resources 124 include one or more personal computers, workstation computers, server devices, or other types of computing and / or communication devices. In some embodiments, computing resources 124 may host platform 120. Cloud resources may include computing instances executed in computing resources 124, storage devices provided in computing resources 124, data transmission devices provided by computing resources 124, etc. In some embodiments, computing resources 124 may communicate with other computing resources 124 via a wired connection, a wireless connection, or a combination of wired and wireless connections.
[0023] Further as Figure 1 shown, computing resources 124 include a set of cloud resources, such as one or more applications ("APP") 124-1, one or more virtual machines ("VM") 124-2, virtualized storage ("VS") 124-3, one or more hypervisors ("HYP") 124-4, etc.
[0024] Application 124-1 includes one or more software applications that can be provided to and / or accessed by user device 110 and / or platform 120. Application 124-1 does not require the installation and execution of software applications on user device 110. For example, Application 124-1 can include software related to platform 120 and / or any other software that can be provided through cloud computing environment 122. In some embodiments, one Application 124-1 can send / receive information to / from one or more other Applications 124-1 through virtual machine 124-2.
[0025] Virtual machine 124-2 includes a software implementation of a machine (e.g., a computer) that executes programs, similar to a physical machine. Virtual machine 124-2 can be a system virtual machine or a process virtual machine, depending on the usage and correspondence of virtual machine 124-2 to any real machine. A system virtual machine can provide a complete system platform that supports the execution of a complete operating system ("OS"). A process virtual machine can execute a single program and can support a single process. In some embodiments, virtual machine 124-2 can execute on behalf of a user (e.g., user device 110) and can manage the infrastructure of cloud computing environment 122, such as data management, synchronization, or long-term data transfer.
[0026] Virtualized storage 124-3 includes one or more storage systems and / or one or more devices that use virtualization technology within the storage system or device of computing resources 124. In some embodiments, within the context of a storage system, the types of virtualization can include block virtualization and file virtualization. Block virtualization can refer to the abstraction (or separation) of logical storage from physical storage so that the storage system can be accessed without considering the physical storage or heterogeneous structure. The separation can allow the administrator of the storage system to flexibly manage the storage of end users. File virtualization can eliminate the dependency between the data accessed at the file level and the location of the physical storage file. This can optimize the performance of storage usage, server consolidation, and / or uninterrupted file migration.
[0027] Hypervisor 124-4 can provide hardware virtualization technology that allows multiple operating systems (e.g., "guest operating systems") to execute simultaneously on a host computer such as computing resources 124. Hypervisor 124-4 can provide a virtual operating platform to the guest operating systems and can manage the execution of the guest operating systems. Multiple instances of various operating systems can share the virtualized hardware resources.
[0028] Network 130 includes one or more wired and / or wireless networks. For example, network 130 may include a cellular network (e.g., a fifth generation (5G) network, a Long-Term Evolution (LTE) network, a third generation (3G) network, a Code Division Multiple Access (CDMA) network, etc.), a Public Land Mobile Network (PLMN), a Local Area Network (LAN), a Wide Area Network (WAN), a Metropolitan Area Network (MAN), a telephone network (e.g., a Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber-based network, etc., and / or a combination of these or other types of networks.
[0029] Figure 1 The number and arrangement of the devices and networks shown are provided as examples. In fact, compared with Figure 1 the devices and / or networks shown, there may be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or devices and / or networks with a different arrangement. Additionally, Figure 1 two or more of the devices shown may be implemented within a single device, or Figure 1 a single device shown may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices (e.g., one or more devices) in environment 100 may perform one or more functions described as being performed by another set of devices in environment 100.
[0030] Figure 2 is Figure 1 a block diagram of example components of one or more of the devices in Figure 2 As shown, device 200 may include a bus 210, a processor 220, a memory 230, a storage component 240, an input component 250, an output component 260, and a communication interface 270.
[0031] Bus 210 includes components that permit communication among components of device 200. Processor 220 is implemented in hardware, firmware, or a combination of hardware and software. Processor 220 is a central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), microprocessor, microcontroller, digital signal processor (DSP), field programmable gate array (FPGA), application specific integrated circuit (ASIC), or another type of processing component. In some implementations, processor 220 includes one or more processors that can be programmed to perform functions. Memory 230 includes random access memory (RAM), read only memory (ROM), and / or another type of dynamic or static storage device (e.g., flash memory, magnetic memory, and / or optical memory) that stores information and / or instructions for use by processor 220.
[0032] Storage component 240 stores information and / or software related to operation and use of device 200. For example, storage component 240 may include a hard disk (e.g., a magnetic disk, optical disk, magneto-optical disk, and / or solid state disk), a compact disc (CD), a digital versatile disc (DVD), a floppy disk, a cassette tape, a magnetic tape, and / or another type of non-transitory computer-readable medium, as well as corresponding drives.
[0033] Input component 250 includes components that permit device 200 to receive information, such as through user input, e.g., a touch screen display, a keyboard, a keypad, a mouse, a button, a switch, and / or a microphone. Additionally or alternatively, input component 250 may include sensors for sensing information (e.g., a global positioning system (GPS) component, an accelerometer, a gyroscope, and / or an actuator). Output component 260 includes components that provide output information from device 200, such as a display, a speaker, and / or one or more light emitting diodes (LEDs).
[0034] Communication interface 270 includes transceiver-like components (e.g., a transceiver and / or separate receiver and transmitter) that enable device 200 to communicate with other devices, such as via a wired connection, a wireless connection, or a combination of wired and wireless connections. Communication interface 270 may permit device 200 to receive information from and / or provide information to another device. For example, communication interface 270 may include an Ethernet interface, an optical interface, a coaxial interface, an infrared interface, a radio frequency (RF) interface, a universal serial bus (USB) interface, a Wi-Fi interface, a cellular network interface, etc.
[0035] Device 200 may perform one or more processes described herein. Device 200 may perform these processes in response to a processor 220 executing software instructions stored by a non-transitory computer-readable medium (e.g., memory 230 and / or storage component 240). A computer-readable medium is defined herein as a non-transitory memory device. A memory device includes storage space within a single physical storage device or storage space distributed across multiple physical storage devices.
[0036] The software instructions may be read into memory 230 and / or storage component 240 from another computer-readable medium or from another device via a communication interface 270. When executed, the software instructions stored in memory 230 and / or storage component 240 may cause processor 220 to perform one or more processes described herein. Additionally or alternatively, hardware wired circuitry may be used in place of or in combination with the software instructions to perform one or more processes described herein. Accordingly, the embodiments described herein are not limited to any particular combination of hardware circuitry and software.
[0037] Figure 2 The number and arrangement of the components shown are provided as an example. In fact, compared with the Figure 2 components shown, device 200 may include more components, fewer components, different components, or components arranged differently. Additionally or alternatively, a set of components of device 200 (e.g., one or more components) may perform one or more functions described as being performed by another set of components of device 200.
[0038] Figure 3 is a block diagram of an NBMP system 300 according to an embodiment.
[0039] Referring Figure 3 , NBMP system 300 includes an NBMP source 310, an NBMP workflow manager 320, a function repository 330, a network controller 340, one or more media processing devices 350, a media source 360, and a media receiver 370.
[0040] The NBMP source 310 can receive instructions from a third-party device 380, communicate with the NBMP workflow manager 320 via the NBMP workflow API, and communicate with the function repository 330 via the function discovery API. For example, the NBMP source 310 can send a workflow descriptor document to the NBMP workflow manager 320 and can read the function descriptions of individual functions stored in the memory of the function repository 330. The functions can include media processing functions such as media decoding, feature point extraction, camera parameter extraction, projection methods, seam information extraction, mixing, post-processing, and encoding functions. The NBMP source 310 can include at least one processor and a memory storing code configured to cause the at least one processor to perform the functions of the NBMP source 310.
[0041] The NBMP source 310 can request the NBMP workflow manager 320 to create a workflow including tasks 351 and 352 to be executed by one or more media processing devices 350 by sending a workflow descriptor document to the NBMP workflow manager 320. The workflow descriptor document can include descriptors, and each descriptor can include parameters.
[0042] For example, the NBMP source 310 can select one or more functions stored in the function repository 330 and send a workflow descriptor document to the NBMP workflow manager 320, the workflow descriptor document including descriptors for describing details such as input and output data, the one or more selected functions, and the requirements of the workflow. The workflow descriptor document can further include a set of task descriptions and a connection map of the inputs and outputs of tasks 351 and 352 to be executed by one or more media processing devices 350. When the NBMP workflow manager 320 receives this information from the NBMP source 310, the NBMP workflow manager 320 can instantiate tasks 351 and 352 based on the function names and create a workflow by connecting tasks 351 and 352 according to the connection map.
[0043] Alternatively or additionally, the NBMP source 310 may request the NBMP workflow manager 320 to create a workflow using a set of keywords. For example, the NBMP source 310 may send a workflow descriptor document including the set of keywords to the NBMP workflow manager 320, and the NBMP workflow manager 320 may use the set of keywords to find the appropriate one or more functions stored in the function repository 330. When the NBMP workflow manager 320 receives this information from the NBMP source 310, the NBMP workflow manager 320 may use the keywords specified in the processing descriptor of the workflow descriptor document to search for the appropriate one or more functions, and use other descriptors in the workflow descriptor document to provide and connect tasks 351 and 352, thereby creating a workflow.
[0044] The NBMP workflow manager 320 may communicate with the function repository 330 via the function discovery API, and may communicate with one or more media processing devices 350 via the network controller 340 via the NBMP task API, the NBMP link API, and the function discovery API. The NBMP workflow manager 320 may include at least one processor and a memory storing code configured to cause the at least one processor to perform the functions of the NBMP workflow manager 320.
[0045] The NBMP workflow manager 320 may use the NBMP task API to set, configure, manage, and monitor one or more of the tasks 351 and 352 of the workflow, where one or more of the tasks 351 and 352 of the workflow may be executed by one or more media processing devices 350. In an embodiment, the NBMP workflow manager 320 may use the NBMP task API to update and destroy tasks 351 and 352. To configure, manage, and monitor the tasks 351 and 352 of the workflow, the NBMP workflow manager 320 may send messages such as requests to one or more media processing devices 350, where each message may have a descriptor, and each descriptor may include parameters. Tasks 351 and 352 may each include one or more media processing functions 354, and one or more configurations 353 for the one or more media processing functions 354.
[0046] In an embodiment, after receiving a workflow descriptor document from the NBMP source 310 that does not include a task list (e.g., includes a keyword list instead of a task list), the NBMP workflow manager 320 may select tasks based on the descriptions of the tasks in the workflow descriptor document to search the function repository 330 via the function discovery API, so as to find one or more appropriate functions to run as tasks 351 and 352 of the current workflow. For example, the NBMP workflow manager 320 may select tasks based on the keywords provided in the workflow descriptor document. After identifying one or more appropriate functions using the keywords provided by the NBMP source 310 or a set of task description sets, the NBMP workflow manager 320 may use the NBMP task API to configure the selected tasks in the workflow. For example, the NBMP workflow manager 320 may extract configuration data from the information received from the NBMP source and configure tasks 351 and 352 based on the extracted configuration data.
[0047] One or more media processing devices 350 may be configured to receive media content from the media source 360, process the received media content according to a workflow that includes tasks 351 and 352 and is created by the NBMP workflow manager 320, and output the processed media content to the media receiver 370. Each of the one or more media processing devices 350 may include at least one processor and a memory storing code that is configured to cause the at least one processor to perform the functions of the one or more media processing devices 350.
[0048] The network controller 340 may include at least one processor and a memory storing code that is configured to cause the at least one processor to perform the functions of the network controller 340.
[0049] The media source 360 may include a memory storing media and may be integrated with or separated from the NBMP source 310. In an embodiment, when the workflow is ready, the NBMP workflow manager 320 notifies the NBMP source 310 and / or the media source 360, and the media source 360 may transmit media content to one or more media processing devices 350 based on the notification that the workflow is ready.
[0050] The media receiver 370 may include at least one processor and at least one display, and the at least one display is configured to display the media content processed by one or more media processing devices 350.
[0051] The third-party device 380 may include at least one processor and a memory storing code that is configured to cause the at least one processor to perform the functions of the third-party device 380.
[0052] As discussed above, messages from the NBMP source 310 to the NBMP workflow manager 320 (e.g., a workflow descriptor document requesting the creation of a workflow), and messages from the NBMP workflow manager 320 to one or more media processing devices 350 (e.g., a message causing the workflow to be executed) may include descriptors, each descriptor including parameters. In an embodiment, communication using the API between any components of the NBMP system 300 may include descriptors, each of the descriptors including parameters.
[0053] Table 1 below lists details of the metadata added to the above NBMP system 300, namely, the function name, function group name, function ID, and / or function group ID of each function stored in the function repository 330. The added metadata allows for wildcard searches (e.g., text-based keyword searches) on functions and / or function groups that include multiple functions. In a wildcard search, an asterisk * represents any character including zero, and a question mark? represents only one character.
[0054] Table 1
[0055]
[0056]
[0057] The function group name may be a string description of a group of functions, such as "HEVC decoder".
[0058] Further, a ranking parameter for each function is added to the current NBMP general descriptor. Since some functions may be popular functions that are frequently used by others, a higher-ranked function means a better choice. The function repository 330 assigns a value for the ranking parameter to each function by following the order of the primary ranking of the functions. For example, the order of ranking may be determined based on a popularity score, which may be determined by a search engine according to the number of times each function is used. The definition of the ranking parameter is in Table 2 below.
[0059] Table 2
[0060]
[0061]
[0062] The function return data format or parameters are defined in Table 3 below. The function return data format includes a Uniform Resource Locator (URL) of one of the individual functions stored in the function repository 330 and the ranking parameter of one of the individual functions.
[0063] Table 3
[0064]
[0065] Reference Figure 3 , the NBMP source 310 and / or the NBMP workflow manager 320 may send a search query (described in Table 1) to the function repository 330, and in response to the search query, the function repository 330 sends a reply response with a function return data format (described in Tables 2 and 3) to the NBMP source 310 and / or the NBMP workflow manager 320. For example, the search query may include an ID, a name, and keywords (e.g., type) for a text-based description or function.
[0066] Embodiments of the added function return data parameters are described below. If the function repository 330 returns only one function due to there being only one available function version at the function repository 330, the function return data parameters will be as shown in Table 4 below, where there is no ranking order for the function:
[0067] Table 4
[0068]
[0069]
[0070] If the function repository 330 returns multiple functions due to there being multiple available function versions at the function repository 330, the function return data parameters will be as shown in Table 5 below, where there is a ranking order for the functions:
[0071] Table 5
[0072]
[0073] In this embodiment, the NBMP workflow manager 320 will execute function x.x.1, which has a higher ranking than function x.x.2, before executing function x.x.2.
[0074] The following JavaScript Object Notation (JSON) return pattern can be used to present the response parameters with the added "ranking" descriptor:
[0075]
[0076]
[0077] Figure 4 is a flowchart of a method 400 for processing media content in MPEG NBMP according to an embodiment. In some embodiments, Figure 4One or more steps of can be performed by platform 120 implementing NBMP system 300. In some embodiments, Figure 4 One or more steps of can be performed by another device or a group of devices (such as user device 110) that is separate from or includes platform 120 implementing NBMP system 300.
[0078] As Figure 4 shown, in step S410, method 400 includes sending a search query for at least one of one or more functions in the function repository, where the function repository stores the one or more functions for processing the media content, and the search query includes a wildcard corresponding to the at least one function.
[0079] Furthermore, method 400 further includes step S400, in which method 400 includes performing function and function group discovery and enabling wildcard search in the function and function group discovery;
[0080] In step S420, method 400 includes receiving a response based on the sent search query from the function repository, where the response identifies the at least one of the one or more functions and includes a ranking of the at least one function among the one or more functions.
[0081] In step S430, method 400 includes using the at least one identified function among the one or more functions to process the media content in the order of the ranking of the at least one function among the one or more functions.
[0082] The search query includes the name and identifier of the at least one of the one or more functions or the name and identifier of a group containing the at least one of the one or more functions.
[0083] The search query includes a text-based description or keyword of the at least one of the one or more functions.
[0084] The search query may include an asterisk representing any character and a question mark representing only one character.
[0085] The response may further include a uniform resource locator (URL) of the at least one of the one or more functions.
[0086] The ranking may indicate the usage frequency of the at least one of the one or more functions compared to other functions among the one or more functions.
[0087] According to the order of the rankings of the respective functions among the at least one function in the one or more functions, among the at least one function identified in the one or more functions, the media content is processed using the first function with a higher ranking before the second function with a lower ranking in the at least one function.
[0088] The order of the rankings of the respective functions among the at least one function in the one or more functions is included in the descriptor corresponding to the ranking parameter in the response, and the ranking parameter includes the ranking of the at least one function among the one or more functions.
[0089] Although Figure 4 exemplary steps of method 400 are shown, in some embodiments, method 400 may include more steps, fewer steps, different steps, or steps arranged differently than those depicted Figure 4 in. Additionally or alternatively, two or more of the steps of method 400 may be executed in parallel.
[0090] The above method provided by the embodiments of the present application, by sending a search query for at least one function among the one or more functions stored in the function repository, receiving a response returned by the function repository, the response identifying the at least one function and including the ranking of the at least one function among the one or more functions in the function repository, and according to this ranking, using the at least one function to process the media content. This can avoid the problem that the source or NBMP manager cannot make a correct selection when the function repository returns multiple functions, and improve the processing efficiency of the media content.
[0091] Figure 5 is a block diagram of an apparatus 500 for processing media content in MPEG NBMP according to an embodiment. As Figure 5 shown, apparatus 500 includes a sending module 510, a receiving module 520, and a processing module 530.
[0092] The processing module 530 is configured to perform function and function group discovery and enable wildcard search in the function and function group discovery.
[0093] The sending module 510 is configured to send a search query for at least one function among the one or more functions to a function repository that stores the one or more functions for processing the media content, and the search query includes a wildcard corresponding to the at least one function.
[0094] A receiving module 520, configured to receive a response based on a sent search query from a function repository, where the response identifies at least one of the one or more functions and includes the ranking of the at least one function among the one or more functions.
[0095] A processing module 530, configured to process media content using the at least one identified function among the one or more functions according to the order of the ranking of the at least one function among the one or more functions.
[0096] The search query includes the name and identifier of at least one of the one or more functions or the name and identifier of a group including at least one of the one or more functions.
[0097] The search query includes a text-based description or keyword of at least one of the one or more functions.
[0098] The search query may include an asterisk representing any character and a question mark representing only one character.
[0099] The response may further include a Uniform Resource Locator (URL) of at least one of the one or more functions.
[0100] The ranking may indicate the usage frequency of at least one of the one or more functions compared to other functions among the one or more functions.
[0101] According to the order of the ranking of each function among the at least one function in the one or more functions, among the at least one identified function in the one or more functions, use the first function with a higher ranking before the second function with a lower ranking among the at least one function to process the media content.
[0102] The order of the ranking of each function among the at least one function in the one or more functions is included in a descriptor corresponding to a ranking parameter in the response, where the ranking parameter includes the ranking of the at least one function among the one or more functions.
[0103] The above device provided by the embodiments of the present application sends a search query for at least one of one or more functions stored in the function repository, receives a response returned by the function repository, the response identifies the at least one function and includes the ranking of the at least one function among one or more functions in the function repository, and processes media content using the at least one function according to the ranking. This can avoid the problem that the source or the NBMP manager cannot make a correct selection when the function repository returns multiple functions, and improve the processing efficiency of media content.
[0104] The foregoing disclosure provides illustration and description, but is not intended to be exhaustive or to limit the embodiments to the precise forms disclosed. Based on the above disclosure, modifications and variations are possible, or can be obtained from the practice of the embodiments.
[0105] As used herein, the term "component" is intended to be broadly construed as hardware, firmware, or a combination of hardware and software.
[0106] Obviously, the systems and / or methods described in the embodiments of the present application can be implemented in different forms of hardware, firmware, or a combination of hardware and software. The actual specific control hardware or software code for implementing these systems and / or methods is not limited to these embodiments. Therefore, the operations and behaviors of the systems and / or methods are described herein without reference to specific software code - it should be understood that software and hardware can be designed based on the description herein to implement the systems and / or methods.
[0107] Although combinations of features are recited in the claims and / or disclosed in the specification, these combinations are not intended to limit the disclosure of possible embodiments. In fact, many of these features can be combined in ways not specifically recited in the claims and / or not specifically disclosed in the specification. Although each of the dependent claims listed below directly depends on only one claim, the disclosure of possible embodiments includes the combination of each dependent claim with every other claim in the claim group.
[0108] Unless explicitly described, the components, acts, or instructions used herein should not be construed as critical or essential. In addition, as used in this application, the articles "a" and "an" are intended to include one or more items and may be used interchangeably with "one or more." Further, as used in this application, the term "set" is intended to include one or more items (e.g., related items, unrelated items, combinations of related and unrelated items, etc.) and may be used interchangeably with "one or more." The term "one" or similar language is used when only one item is intended. Additionally, as used in this application, the terms "having," "comprising," "containing," etc. are intended to be open-ended terms. Further, unless otherwise explicitly stated, the phrase "based on" is intended to mean "at least partially based on."
Claims
1. A method for processing media content in a Network-based Media Processing (NBMP), characterized in that, The method includes: Performing function and function group discovery, enabling wildcard search in the function and function group discovery; Sending a search query to a function repository for at least one function among one or more functions in the function repository, where the function repository stores general descriptors of the one or more functions for processing the media content, the general descriptor of each function includes a ranking parameter of the function, the value of the ranking parameter is determined based on the usage times of the function, and the search query includes a wildcard corresponding to the at least one function; Receiving a response based on the sent search query from the function repository, the response identifying the at least one function among the one or more functions and including the value of the ranking parameter of the at least one function; and Processing the media content using a first function among the at least one function whose ranking is higher than that of a second function according to the value of the ranking parameter of the at least one function.
2. The method according to claim 1, wherein The search query includes the name and identifier of the at least one function among the one or more functions or the name and identifier of a group containing the at least one function among the one or more functions.
3. The method according to claim 1, wherein The search query includes a text-based description or keyword of the at least one function among the one or more functions.
4. The method according to claim 1, wherein The search query includes an asterisk representing any character.
5. The method according to claim 1, wherein The ranking indicates the usage frequency of the at least one function among the one or more functions compared to other functions among the one or more functions.
6. The method according to claim 1, characterized in that, The processing the media content using the at least one function identified among the one or more functions according to the order of the ranking of the at least one function among the one or more functions includes: Processing the media content using a first function with a higher ranking before a second function with a lower ranking among the at least one function identified among the one or more functions according to the order of the ranking of each function among the at least one function in the one or more functions.
7. The method according to claim 6, wherein The order of the ranking of each function among the at least one function in the one or more functions is included in a descriptor corresponding to the ranking parameter in the response, and the ranking parameter includes the ranking of the at least one function in the one or more functions.
8. An apparatus for processing media content in a Network-based Media Processing (NBMP), characterized in that, The device includes: A processing module for performing function and function group discovery, enabling wildcard search in the function and function group discovery; A sending module for sending a search query to a function repository for at least one function among one or more functions in the function repository, where the function repository stores general descriptors of the one or more functions for processing the media content, the general descriptor of each function includes a ranking parameter of the function, the value of the ranking parameter is determined based on the usage times of the function, and the search query includes a wildcard corresponding to the at least one function; A receiving module, configured to receive a response response from the function repository based on the sent search query, where the response response identifies the at least one function among the one or more functions and includes a value of a ranking parameter of the at least one function; and The processing module is configured to process the media content by using a first function that ranks higher than a second function among the at least one function according to the value of the ranking parameter of the at least one function.
9. A computer device, comprising a memory and a processor, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor is caused to execute the method for processing media content in the network-based media processing (NBMP) according to any one of claims 1 to 7.
10. A non-volatile computer-readable storage medium, characterized in that, The storage medium stores multiple instructions, which can cause at least one processor to execute the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
System and method for searching web services
US20070282879A1
Method and apparatus for providing a service implementation
US20130110914A1