A node management method, electronic equipment and medium

By adding custom nodes to electronic devices and utilizing node configuration templates and information, the problem of electronic devices being unable to adapt to special application functions is solved, achieving rapid and low-cost customization capabilities.

CN118075125BActive Publication Date: 2025-11-11HONOR DEVICE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211467858.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-22
Publication Date
2025-11-11
Estimated Expiration
2042-11-22

AI Technical Summary

Technical Problem

Some applications have special functions that electronic devices do not support, making them incompatible with the target application. This requires redesigning the software logic, which is time-consuming and costly.

Method used

By adding custom nodes and using node configuration templates and information, functional controls corresponding to the custom nodes can be displayed on the interface of electronic devices, making the application's special functions compatible with electronic devices.

Benefits of technology

It enables quick and low-cost adaptation of application-specific functions to electronic devices, providing customization capabilities for target applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118075125B_ABST
    Figure CN118075125B_ABST
Patent Text Reader

Abstract

This application provides a node management method, an electronic device, and a medium, relating to the field of terminal technology. The method includes: querying a target node associated with a target application, whereby the target node represents the functions supported by the target application on the electronic device; if no target node is found, obtaining the configuration information of the target node provided by the target application; and configuring the target node according to a node configuration template and the target node's configuration information. Therefore, if a specific function of the target application is not supported by the electronic device, the post-processing management module of the electronic device can add a custom node and display corresponding functional controls on the relevant interface of the built-in application, thereby adapting the application's specific functions to the electronic device and providing users with customization capabilities for the target application.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of terminal technology, and in particular to a node management method, electronic device and medium. Background Technology

[0002] With the development of terminal technology, electronic devices such as mobile phones are becoming increasingly feature-rich and powerful. Electronic devices can present rich and varied graphical user interfaces (GUIs), displaying a variety of functional controls for user operation.

[0003] Currently, electronic devices can query node capabilities to determine the functions they support in a target application, and then decide which node function controls to display in the target application's user interface. However, some applications have special functions that electronic devices do not support, making them incompatible with the target application. This necessitates redesigning the electronic device's software logic, resulting in a lengthy and costly modification process. Summary of the Invention

[0004] The purpose of this application is to provide a node management method, electronic device, and medium that enable the application's special functions to be adapted to the electronic device.

[0005] In a first aspect, this application discloses a node management method applicable to electronic devices such as mobile phones, PADs, and large screens. The method includes: querying a target node associated with a target application, wherein the target node is used to characterize the functions supported by the target application on the electronic device; if the target node is not found, obtaining the configuration information of the target node provided by the target application; and configuring the target node according to the node configuration template and the configuration information of the target node.

[0006] Therefore, if the special functions of the target application are not supported by the electronic device, the post-processing management module of the electronic device can add a custom node and display the corresponding functional controls on the relevant interface of the built-in application, so as to adapt the special functions of the application to the electronic device and provide users with the customization capabilities of the target application.

[0007] In some possible implementations, the target node is configured based on the node configuration template and the target node's configuration information. This includes writing the target node's configuration information into the corresponding fields in the node configuration template and generating the target node's configuration file to complete the configuration of the target node.

[0008] In some possible implementations, the corresponding fields in the node configuration template include one or more of the following: node identifier field, plugin path field where the node is located, node supported capability name field, node supported capability parameter field, node input data type field, node output data type field, node constraint condition field, and node open information field.

[0009] Therefore, by directly writing the configuration information of the target node into the configuration template, the configuration file of the target node can be generated conveniently and quickly, providing users with the ability to customize the target application.

[0010] In some possible implementations, the method also includes displaying the functional controls corresponding to the target node in the user interface of the target application. This allows the electronic device to directly provide users with customization capabilities for the target application.

[0011] In some possible implementations, the method also includes: loading the configuration file of the target node in response to a trigger operation of the functional control corresponding to the target node.

[0012] In some possible implementations, the electronic device includes an application layer and a media platform post-processing framework layer; the application layer includes a target application, and the media platform post-processing framework layer includes a post-processing management module that queries target nodes associated with the target application, including: the target application sending a node query instruction for the target node to the post-processing management module; and the post-processing management module querying the target node after receiving the node query instruction.

[0013] In some possible implementations, the target node is configured based on the node configuration template and the target node's configuration information. This includes: the post-processing management module configuring the target node based on the node configuration template and the target node's configuration information.

[0014] In some possible implementations, the media middleware post-processing framework layer also includes: a post-processing pipeline module and a post-processing node construction module; in response to a trigger operation for a functional control corresponding to a target node, the configuration file of the target node is loaded, including: the target application obtaining the trigger operation for the functional control corresponding to the target node; the target application sending a pipeline creation instruction to the post-processing pipeline module through the post-processing management module according to the trigger operation; the post-processing pipeline module sending a target node construction instruction to the post-processing node construction module based on the pipeline creation instruction; and the post-processing node construction module loading the target node's configuration file based on the target node's construction instruction.

[0015] Therefore, if the special functions of the target application are not supported by the electronic device, the post-processing management module of the electronic device can add a custom node and display the corresponding functional controls on the relevant interface of the built-in application, so as to adapt the special functions of the application to the electronic device and provide users with the customization capabilities of the target application.

[0016] In a second aspect, this application discloses an electronic device including a processor and a memory; the memory is used to store computer-executed commands; the processor is used to execute the computer-executed commands stored in the memory, causing the processor to perform the method as described in the first aspect.

[0017] Thirdly, this application discloses a computer-readable storage medium storing a computer program or instructions that, when executed, implement the method described in the first aspect.

[0018] Fourthly, this application provides a computer program product that, when run on a computer, causes the computer to execute a node management method as described in any of the first aspects. Attached Figure Description

[0019] Figure 1 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application;

[0020] Figure 2 A schematic diagram of the software structure of an electronic device provided in an embodiment of this application;

[0021] Figure 3 A desktop illustration of an electronic device provided in an embodiment of this application;

[0022] Figure 4 A schematic diagram of the camera page of an electronic device provided in an embodiment of this application;

[0023] Figure 5 A gallery page illustration of an electronic device provided in an embodiment of this application;

[0024] Figure 6 A schematic diagram of an editing page for an electronic device provided in an embodiment of this application;

[0025] Figure 7 A timing diagram of a node management method provided in an embodiment of this application;

[0026] Figure 8 This is a schematic diagram of a pipeline provided for an embodiment of this application. Detailed Implementation

[0027] The terms "first," "second," and "third," etc., used in this application specification, claims, and drawings are used to distinguish different objects, not to limit a specific order.

[0028] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0029] To ensure clarity and conciseness in the description of the following embodiments, a brief introduction to the related technologies is given first:

[0030] A media platform post-processing framework integrates various media data processing functions. Different functions are manifested through different nodes; that is, different nodes provide different functionalities. In some examples, the capabilities of nodes in the media platform post-processing framework vary across different electronic devices. Application-layer applications can use the media platform post-processing framework to query the capabilities supported by electronic devices and invoke relevant capabilities to achieve various functions, such as video editing and image capture. In some examples, electronic devices can dynamically display functional controls; therefore, different users will experience different functionalities depending on the electronic device.

[0031] With the development of terminal technology, electronic devices such as mobile phones are becoming increasingly feature-rich and powerful. Electronic devices can present rich and varied graphical user interfaces (GUIs), displaying a variety of functional controls for user operation.

[0032] Currently, electronic devices can query node capabilities to determine the functions they support in a target application, and then decide which node function controls to display in the target application's user interface. However, some applications have special functions that electronic devices do not support, making them incompatible with the target application. This necessitates redesigning the electronic device's software logic, resulting in a lengthy and costly modification process.

[0033] In view of this, the present application provides a node management method, electronic device and medium. In this method, if the special function of the target application is not supported by the electronic device, the post-processing management module of the electronic device can add a custom node and display the functional control corresponding to the custom node in the relevant interface of the built-in application, so as to adapt the special function of the application to the electronic device and provide the user with the customization capability of the target application.

[0034] First, an exemplary electronic device 100 provided in the embodiments of this application is introduced. In some embodiments, the electronic device 100 may be a mobile phone, tablet computer, desktop computer, laptop computer, handheld computer, notebook computer, ultra-mobile personal computer (UMPC), netbook, cellular phone, personal digital assistant (PDA), augmented reality (AR) device, virtual reality (VR) device, artificial intelligence (AI) device, wearable device, in-vehicle device, smart home device, and / or smart city device. The embodiments of this application do not impose any special limitations on the specific type of the electronic device 100. See also Figure 1 The figure is a schematic diagram of the hardware structure of an electronic device 100 provided in an embodiment of this application.

[0035] like Figure 1 As shown, the electronic device may include a processor 110, internal memory 121, antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, sensor module 180, display screen 194, etc. The sensor module 180 may include a touch sensor 180K, etc.

[0036] It is understood that the structure illustrated in this embodiment does not constitute a specific limitation on the electronic device. In other embodiments, the electronic device may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.

[0037] The processor 110 may include one or more processing units, such as an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. For example, in this application, the processor 110 can query a target node associated with a target application, which represents the functions supported by the target application on the electronic device. If the target node is not found, the processor obtains the configuration information of the target node provided by the target application. Based on the node configuration template and the configuration information of the target node, the processor configures the target node. Therefore, if a special function of the target application is not supported by the electronic device, the post-processing management module of the electronic device can add a custom node and display the corresponding functional controls on the relevant interface of the built-in application, thereby adapting the special functions of the application to the electronic device and providing users with the customization capabilities of the target application.

[0038] The controller can serve as the nerve center and command center of an electronic device. Based on the instruction opcode and timing signals, the controller generates operation control signals to control the fetching and execution of instructions.

[0039] The processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can retrieve it directly from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.

[0040] In some embodiments, the processor 110 may include one or more interfaces. Interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.

[0041] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple I2C buses. The processor 110 can couple to touch sensors such as the touch sensor 180K through different I2C bus interfaces. For example, the processor 110 can couple to the touch sensor 180K through the I2C interface, enabling the processor 110 and the touch sensor 180K to communicate via the I2C bus interface, thus realizing the touch function of the electronic device. Based on the touch function of the electronic device, after the user touches the application icon displayed on the electronic device, the electronic device can launch the application.

[0042] The UART interface is a universal serial data bus used for asynchronous communication. This bus can be a bidirectional communication bus. It converts the data to be transmitted between serial and parallel communication. In some embodiments, the UART interface is typically used to connect the processor 110 and the wireless communication module 160.

[0043] The MIPI interface can be used to connect the processor 110 to peripheral devices such as the display screen 194. The MIPI interface includes a camera serial interface (CSI) and a display serial interface (DSI). In some embodiments, the processor 110 and the camera communicate via the CSI interface to enable the electronic device's shooting function. The processor 110 and the display screen 194 communicate via the DSI interface to enable the electronic device's display function. For example, based on the display function, the electronic device can display a relevant interface.

[0044] The GPIO interface can be configured via software. It can be configured as a control signal or a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 to a camera, display screen 194, wireless communication module 160, sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, I2S interface, UART interface, MIPI interface, etc.

[0045] It is understood that the interface connection relationships between the modules illustrated in this embodiment are merely illustrative and do not constitute a limitation on the structure of the electronic device. In other embodiments of this application, the electronic device may also employ different interface connection methods or combinations of multiple interface connection methods as described in the above embodiments.

[0046] The wireless communication function of electronic devices can be realized through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor, etc.

[0047] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in the electronic device can be used to cover one or more communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antennas can be used in conjunction with a tuning switch.

[0048] The mobile communication module 150 can provide solutions for wireless communication applications including 2G / 3G / 4G / 5G in electronic devices. The mobile communication module 150 may include at least one filter, switch, power amplifier, low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In some embodiments, at least some functional modules of the mobile communication module 150 may be housed in processor 110. In some embodiments, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.

[0049] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor displays images or videos via the display screen 194. In some embodiments, the modem processor may be a separate device. In other embodiments, the modem processor may be independent of the processor 110 and may be housed within the same device as the mobile communication module 150 or other functional modules.

[0050] The wireless communication module 160 can provide solutions for wireless communication applications in electronic devices, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.

[0051] In some embodiments, antenna 1 of the electronic device is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling the electronic device to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies. The GNSS may include Global Positioning System (GPS), Global Navigation Satellite System (GLONASS), BeiDou Navigation Satellite System (BDS), Quasi-Zenith Satellite System (QZSS), and / or Satellite Based Augmentation Systems (SBAS).

[0052] In some examples, based on wireless communication technology for electronic devices, the electronic devices can download corresponding files from the cloud, such as cloud configuration files.

[0053] Electronic devices implement display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connecting the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. The processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.

[0054] Display screen 194 is used to display images, videos, etc. Display screen 194 includes a display panel. The display panel may be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a miniature LED, a microLED, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the electronic device may include one or N displays 194, where N is a positive integer greater than 1.

[0055] The display screen 194 of an electronic device can display a series of graphical user interfaces (GUIs), which serve as the main screen of the electronic device. Generally, the size of the display screen 194 is fixed, and only a limited number of controls can be displayed on it. A control is a GUI element, a software component contained within an application, that controls all data processed by the application and interactive operations related to that data. Users can interact with controls through direct manipulation, thereby reading or editing information related to the application. Generally, controls can include visual interface elements such as icons, buttons, menus, tabs, text boxes, dialog boxes, status bars, navigation bars, and widgets. In some examples, the functional controls displayed by the electronic device may differ depending on the functions it supports.

[0056] Internal memory 121 can be used to store computer executable program code, which includes instructions. Processor 110 executes various functional applications and data processing of the electronic device by running the instructions stored in internal memory 121. For example, in this embodiment, processor 110 can query the nodes it supports by executing the instructions stored in internal memory 121, and then display the corresponding functional controls of the supported nodes on the relevant interface of the target application. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback function, image playback function, etc.), etc. The data storage area may store data created during the use of the electronic device (such as audio data, phone book, etc.). In addition, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional applications and data processing of the electronic device by running the instructions stored in internal memory 121 and / or instructions stored in memory disposed in the processor.

[0057] In addition, an operating system runs on top of these components. Examples include Apple's iOS, Google's Android, and Microsoft's Windows. Applications can be installed and run on this operating system.

[0058] The operating system of an electronic device can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. This application uses the layered architecture Android system as an example to illustrate the software structure of an electronic device.

[0059] See Figure 2 This figure is a schematic diagram of the software structure of an electronic device provided in an embodiment of this application. This embodiment uses the layered architecture of the Android system as an example to exemplify the software structure of the electronic device 100.

[0060] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: Applications (APP), Framework (FWK), Hardware Abstraction Layer (HAL), and Kernel.

[0061] The application layer can include a series of application packages. In some embodiments, the application layer may include applications such as video editing and preview players. The framework layer provides application programming interfaces (APIs) and programming frameworks for the applications in the application layer. This framework layer may include some predefined functions. In some embodiments, the framework layer may include a media platform post-processing framework (HnMediaGraph), which may further include management modules, graph generation modules, pipeline modules, node building modules, etc. The media platform post-processing framework refers to a framework that integrates multiple media data processing functions. Different functions can be manifested through different nodes; that is, different nodes manifest different functions. In some examples, the node capabilities of the media platform post-processing framework differ for different electronic devices. Applications in the application layer can use the media platform post-processing framework to query the capabilities supported by the electronic device and call the relevant capabilities to achieve various functions, such as video editing and image capture. The hardware abstraction layer defines the interface for hardware "drivers," reducing the coupling between the Android operating system and the hardware. In some embodiments, the hardware abstraction layer may include filter algorithms, animation algorithms, text algorithms, etc. The kernel layer is responsible for managing system processes, memory, device drivers, files, and network systems, and determines the system's performance and stability.

[0062] In some embodiments, after a user opens the video editing app, they can add or remove filter effects based on the pipeline in the post-processing management module. After adding or removing filter effects according to the auxiliary filter algorithm, the video frame data is then sent to the preview player of the video editing app.

[0063] It should be noted that although the embodiments of this application are described using the Android system as an example, the basic principles are also applicable to electronic devices 100 based on operating systems such as iOS and Windows.

[0064] See Figure 3 This figure is a desktop illustration of an electronic device according to an embodiment of this application. The scenario includes an electronic device 100, which is described using a smartphone as an example. The electronic device 100 can display a human-computer interaction interface. After the user unlocks the electronic device 100, the electronic device 100 can present a desktop 300 to the user. The desktop 300 can include icons for various applications, such as a camera icon 301, a gallery icon 302, a music icon, etc. The user can use their finger or a stylus to touch the application icons; this application does not limit the method of touch operation.

[0065] In some embodiments, when a user clicks the camera icon 301 on the desktop 300, the electronic device 100 can display a camera page 400 to the user. See also Figure 4 This figure is a schematic diagram of the camera page of an electronic device according to an embodiment of this application. The camera page 400 includes a gallery button 401, a lens flip button, a shutter button, etc. Users can click the gallery button 401 on the camera page 400 to enter the gallery page 500. See also... Figure 5 This figure is a schematic diagram of a gallery page of an electronic device according to an embodiment of this application. The gallery page 500 includes an edit button 501, a favorite button, a share button, etc. Users can further click the edit button 501 to enter the edit page 600. See also... Figure 6 This figure is a schematic diagram of an editing page of an electronic device provided in an embodiment of this application. The editing page 600 includes text buttons, filter buttons, adjustment buttons, more buttons, etc. The filter buttons may also include original image buttons, morning light buttons, evening light buttons, halo buttons, childhood buttons, etc. Clicking the buttons allows for editing, adding, or deleting images or videos.

[0066] In other embodiments, the user can also click the gallery icon 302 on the desktop 300. After the electronic device 100 presents the gallery page to the user, the user can click on the image or video that needs to be edited and perform editing operations on it. It should be noted that this application does not limit the method for selecting the video to be edited.

[0067] See Figure 7 This figure is a timing diagram of a node management method provided in an embodiment of this application. The method includes:

[0068] S701: Electronic device launches target application.

[0069] The target application can be any application in the aforementioned application layer, such as a gallery application or a camera application, and can edit photos or videos. It should be noted that, in addition to editing applications, it can also be other applications, such as game applications. This application does not limit the specific application. For ease of understanding, the following description uses a mobile phone as the electronic device and a gallery application as the target application as an example to illustrate the technical solution of this application.

[0070] In some specific implementations, the electronic device can receive a user's touch operation on the icon of a target application on the main interface to launch the target application. The touch sensor 180K of the mobile phone can receive the user's touch operation on the icon of the target application on the main interface of the mobile phone and report it to the processor 110. The processor 110 can respond to the touch operation and display the user interface of the target application on the display screen 194. In addition, in this embodiment, the mobile phone can also launch the gallery application and display the user interface of the gallery application on the display screen 194 in other ways. For example, when the mobile phone is in a black screen, locked screen, or in the user interface of a certain application, the processor 110 can respond to the user's voice command or shortcut operation to launch the gallery application and display the user interface of the gallery application on the display screen 194.

[0071] S702: The target application sends a version query command to the post-processing management module.

[0072] The version query command is used to query the current version number of the media platform post-processing framework of an electronic device. The version number allows further querying of the capabilities of the nodes supported by that version. A node refers to a function or capability supported by the electronic device. For example, if an electronic device supports a filter function, a corresponding filter node exists within the device; if it does not support filters, no such node exists. In other words, the target application can query the version number of the media platform post-processing framework of the electronic device through the interface, and then query the currently available media nodes supported by that version, as well as the descriptions of the media capabilities each node supports, thereby allowing users to experience these different capabilities. Therefore, by setting version numbers for the media platform post-processing framework of different electronic devices, backward compatibility can be ensured, and version identifiers can be added to facilitate subsequent interface expansion.

[0073] It should be noted that the above example only uses the version number for querying. In other embodiments, it can be other identifiers that can be used to uniquely represent the version, such as a number.

[0074] In some specific implementations, after the target application, i.e. the gallery, is started, the gallery will send a version query command to the post-processing management module. The version number of the current version can be used to further query the capabilities of the nodes supported by that version.

[0075] S703: Post-processing management module query version number.

[0076] After receiving a version query command from the target application, the post-processing management module can query the version number of the current media platform post-processing framework, and then query the capabilities of the nodes supported by that version of the media platform post-processing framework.

[0077] It should be noted that when the post-processing management module queries the capabilities of nodes supported by the version of the media platform's post-processing framework, it first needs to load the node capability configuration file (e.g., an XML file). This configuration file must include at least the node name and the node's plugin library path. During configuration file loading, the post-processing management module can parse the configuration file to generate appropriate data structures and cache them for use in business queries.

[0078] It is understandable that when the configuration file supports the capability of a certain node, it means that the electronic device supports the function corresponding to that node; when the configuration file does not support the capability of a certain node, it means that the electronic device does not support the function corresponding to that node.

[0079] S704: The post-processing management module returns a version number to the target application.

[0080] Once the post-processing management module retrieves the current version number, it returns the version number to the target application. In one possible implementation, the post-processing management module returns the version number "Version Number 1" to the target application.

[0081] S705: The post-processing management module parses the configuration file of the node corresponding to the current version number.

[0082] The configuration file contains information such as the node name and the plugin library path. After obtaining the node's configuration file, the post-processing management module can parse the configuration file to obtain the node's capabilities, thereby obtaining the node name and plugin library path. In one specific implementation, the post-processing management module can parse the filter node's configuration file to obtain the filter node's name and plugin library path.

[0083] In some examples, the node names of filter nodes may include Filter 1 (Morning Light), Filter 2 (Dusk), and Filter 3 (Halo), and the plugin library paths may include the plugin library paths for Filter 1, Filter 2, and Filter 3. The plugin library paths for Filter 1, Filter 2, and Filter 3 may be the same or different. The node names of the filter nodes indicate that the electronic device may support the aforementioned Morning Light, Dusk, and Halo filter functions.

[0084] S706: The plugin library for obtaining nodes in the post-processing management module.

[0085] After the post-processing management module completes the parsing of the node capabilities of the configuration file, it can obtain the node name and the plugin library path of the node, and obtain the plugin library based on the above plugin library path.

[0086] In one specific implementation, taking the node name as Chenguang and the plugin library path as Chenguang plugin library path as an example, the post-processing management module can obtain the Chenguang plugin library based on the Chenguang plugin library path.

[0087] S707: The post-processing management module loads and parses the node's plugin library.

[0088] Loading refers to loading the plugin library into the process of the target application. The post-processing management module can load the plugin library of the node into the process of the target application.

[0089] Parsing refers to resolving the plugin library of a node to obtain an interface for querying whether a node exists, such as `createMediaNodeByName(std::string nodeName)`. The post-processing management module can parse the plugin library to obtain this interface. Then, the post-processing management module can pass the target node's name to this query interface to check if the target node exists in the plugin library.

[0090] In some embodiments, after parsing the plugin library, the post-processing management module can obtain a node query function. This node query function is used to check whether a corresponding node exists in the plugin library. For example, the node query function can be called to search for the node by its name in the plugin library, thereby obtaining the query result of whether the plugin library includes the node. It should be noted that the interface used to check whether a node exists can be a specific form of the node query function.

[0091] During the query process, the plugin library maintains a set containing multiple nodes. After a node name is passed to the plugin library's interface, the node name is compared with the node names in the set. If the node name exists in the set, it means that the plugin library includes that node, i.e., the electronic device supports the function corresponding to that node; if the node name does not exist in the set, it means that the plugin library does not include that node, i.e., the electronic device does not support the function corresponding to that node.

[0092] It should be noted that the node names compared during the query process are merely examples. Those skilled in the art can select appropriate content for comparison based on actual needs to determine whether the target node is included in the plugin library.

[0093] In some examples, the post-processing management module can load the Chenguang plugin library into the gallery's process, then parse the Chenguang plugin library to obtain an interface for querying the existence of nodes. After obtaining this interface, the post-processing management module passes the node name, such as "Chenguang," to the query interface, and then obtains the result indicating whether the "Chenguang" node exists in the Chenguang plugin library.

[0094] In other examples, the post-processing management module can load the Twilight plugin library into the gallery's process, then parse the Twilight plugin library to obtain an interface for querying the existence of nodes. After obtaining this interface, the post-processing management module passes the node name, such as "Twilight," to the query interface, and then obtains the result indicating whether the Twilight node exists in the Twilight plugin library.

[0095] The aforementioned Morning Light plugin library and Dusk plugin library can be the same plugin library, meaning that the paths of the Morning Light plugin library and the Dusk plugin library are the same. Of course, the aforementioned Morning Light plugin library and Dusk plugin library can also be different plugin libraries, meaning that the paths of the Morning Light plugin library and the Dusk plugin library are different.

[0096] After determining whether a node exists in the plugin library, the post-processing management module can record the existing nodes in the node capability information table. In some examples, the node capability information table may look like Table 1 below:

[0097] Node Name Does it support? Morning light yes dusk no Halo yes … …

[0098] S708: The post-processing management module determines whether the node corresponding to the current version number contains the required node.

[0099] Required nodes refer to nodes provided by the target application that can achieve a certain effect. For example, text nodes and animation nodes can both be required nodes. Because some applications have special functions that electronic devices do not support, meaning the electronic device cannot be adapted to the target application, the post-processing management module can first determine whether the nodes corresponding to the current framework's version number contain the required nodes.

[0100] Since the post-processing management module has already parsed the configuration file of the node corresponding to the current version number, it has obtained the node name and plugin library of the node corresponding to the current version number. In one specific implementation, the node name can be queried in the node's plugin library by calling the node query function, thereby obtaining the query result of whether the plugin library includes the node.

[0101] If the post-processing management module determines that the node corresponding to the current version number does not contain the required node, it executes S709 and subsequent operations. If the post-processing management module determines that the node corresponding to the current version number already contains the required node, it continues to determine whether the node corresponding to the current version number contains the next required node.

[0102] S709: A custom node has been added to the post-processing management module.

[0103] Adding custom nodes expands upon the existing nodes for the current version number. The post-processing management module can then use these custom nodes to display corresponding functional controls within the built-in application's interface. This adapts the application's specific functions to electronic devices, providing users with customization capabilities for their target application.

[0104] In one specific implementation, when a target application needs to provide the functionality to insert text into video files, but the media platform post-processing framework of the electronic device does not support this functionality, the post-processing management module can add a text node as a custom node to customize the text capabilities to meet the requirements. For ease of understanding, the following explanation will use custom nodes as text nodes.

[0105] In some instances, the post-processing management module can generate a configuration file for the target node by writing its configuration information into the corresponding fields of the node configuration template, thus completing the configuration of the target node. This node configuration template may include fields such as node identifier, plugin path, supported capability name, supported capability parameter, input data type, output data type, constraints, and open information. The configuration information can be the values ​​of the fields to be written. Specifically, the node configuration template may look like this:

[0106] <? xmlverson="1.0" encoding="utf-8"? >

[0107] <medianodes>

[0108] <!-- Node configuration properties-->

[0109] <!--name, node name and identifier-->

[0110] <!--path, the plugin path where the node is located-->

[0111] <Nodename="xxx”,path="xxx / xx / xx.so”>

[0112] <!-- Node supported capabilities, configurable parameters, and parameter values-->

[0113] <Capsname="xxx”value="xxx” / >

[0114] <Capsname="xxx”value="xxx” / >

[0115] <!-- Node input and data types, supporting multiple-->

[0116] <Inputname="xxx”type="xxx” / >

[0117] <!-- Node output and data types, supporting multiple-->

[0118] <Outputname="xxx”type="xxx” / >

[0119] <!-- Use constraints to define the node's dependency on the platform and make it invisible to the application-->

[0120] <Limitname="deps”value="system|chip” / >

[0121] <!-- Whether it is open to the outside -->

[0122] <Limitname="opens”value="true|false” / >

[0123]

[0124] <Nodename="xxx”>

[0125] <!-- Node attributes and capabilities-->

[0126]

[0127] <medianodes>

[0128] It should be noted that there may be other forms of node configuration templates, and this application does not limit the specific content of the node configuration template.

[0129] S710: The post-processing management module loads the configuration file of the custom node.

[0130] Similar to S703, the post-processing management module can load configuration files (e.g., XML files) for custom nodes. This configuration file must include at least the node name and the path to the node's plugin library. When the configuration file is loaded, the post-processing management module can parse the node capabilities within the configuration file to generate appropriate data structures and cache them for use in business queries.

[0131] S711: The post-processing management module parses the configuration files of custom nodes.

[0132] Similar to S705, the configuration file for a custom node contains information such as the node name and the plugin library path. After obtaining the configuration file, the post-processing management module can parse the node's capabilities to obtain the custom node name and plugin library path.

[0133] In some examples, the node names of custom nodes may include text1 (SimSun) and text2 (KaiTi), and the plugin library paths may include the plugin library path for text1 and the plugin library path for text2. The plugin library paths for text1 and text2 may be the same or different. The node names of the text nodes indicate that the electronic device may support the aforementioned SimSun, KaiTi, and other text font functions.

[0134] S712: The post-processing management module obtains the plugin library for custom nodes.

[0135] Similar to S706, after the post-processing management module completes the parsing of the node capabilities in the configuration file of the custom node, it can obtain the custom node name and the plugin library path of the custom node, and obtain the plugin library based on the above plugin library path.

[0136] In one specific implementation, taking the node name as SimSun and the plugin library path as SimSun plugin library path as an example, the post-processing management module can obtain the SimSun plugin library based on the SimSun plugin library path.

[0137] S713: The post-processing management module loads the plugin library for custom nodes.

[0138] The post-processing management module can load the plugin library of custom nodes into the process of the target application, thereby generating the corresponding node information and capabilities.

[0139] Therefore, if the special functions of an application are not supported by the electronic device, the post-processing management module of the electronic device can add a custom node and display the corresponding functional controls on the relevant interface of the built-in application, so as to adapt the special functions of the application to the electronic device and provide users with the customization capabilities of the target application.

[0140] S714: The target application obtains the file to be processed and selects the effects of the editing page.

[0141] The file selected by the user can be either an image file or a video file. The electronic device 100 can retrieve the selected file by obtaining its storage location within the device. For ease of understanding, the following explanation will use a video file as an example.

[0142] The target application of electronic device 100 can obtain the effects selected by the user to be added to the file to be processed. Specifically, the user enters the editing interface displayed by electronic device 100. This editing page includes effects such as text, filters, and adjustments. At this time, the editing interface already displays customization capabilities, namely text effects. For ease of understanding, the following explanation will focus on the selected effects as filter effects and text effects.

[0143] In some embodiments, users can click the filter button and select a filter type, such as morning light, dusk, or halo filters, to add the filter effect to the corresponding image or video. In other embodiments, users can click the text button to add text effects to the image or video file; in still other embodiments, users can click the adjust button to adjust the display parameters of the image or video.

[0144] S715: The target application calls the version number interface to the post-processing management module.

[0145] After obtaining the version number of the post-processing management module, the target application will call the post-processing interface supported by that version. In one possible implementation, if the post-processing management module returns the version number "version number 1" to the target application in S704, then the version number interface called by the target application to the post-processing management module is the interface for version number 1.

[0146] S716: The target application sends a file to the post-processing pipeline module and issues a command to create the pipeline.

[0147] A pipeline is a linear communication model, which can be viewed as a pipeline. Simply put, it's a comprehensive system solution that provides a one-stop service for obtaining results.

[0148] After the target application obtains the video file to be processed and the effect selection operation of the editing page, the target application sends the video file to the post-processing pipeline module and issues an instruction to create a video analysis pipeline.

[0149] S717: The post-processing pipeline module sends instructions to the post-processing node construction module to build the decoding node.

[0150] A decoding node is a functional node used to implement decoding. Decoding is a process of using specific methods to restore digital data to its represented content or to convert electrical pulse signals, optical signals, radio waves, etc., into the information or data they represent. Decoding is the process by which the receiver restores the received symbols or codes into information, corresponding to the encoding process. For example, in this application, the decoding node can decode video streams in H.264 format and audio streams in AAC format, and further construct video stream control nodes and audio stream control nodes.

[0151] When the post-processing pipeline module receives the pipeline creation instruction from the target application, it sends the instruction to the post-processing node building module to build the decoding node.

[0152] S718: The post-processing node building module builds the decoding node.

[0153] The post-processing node construction module constructs the decoding node based on the obtained instructions for constructing the decoding node. It should be noted that "construction" here refers to loading the node into memory.

[0154] S719: The post-processing pipeline module sends instructions to the post-processing node construction module to build filter nodes.

[0155] A filter node is a functional node used to add filters. In this application, for example, the filter node could be a twilight filter node. By constructing a twilight filter node, a twilight filter can be added to a video file so that the user can view the video file with the twilight filter applied.

[0156] When the post-processing pipeline module receives the pipeline creation instruction from the target application, it sends the instruction to the post-processing node construction module to build the filter node.

[0157] S720: The post-processing node building module builds filter nodes.

[0158] The post-processing node construction module constructs filter nodes based on the obtained instructions for constructing filter nodes. It should be noted that "construction" here refers to loading the filter nodes into memory.

[0159] S721: The post-processing pipeline module sends instructions to the post-processing node building module to build custom nodes.

[0160] When the post-processing pipeline module receives the pipeline creation instruction from the target application, it sends an instruction to the post-processing node construction module to build a custom node. In some possible implementations, if the application has a special function to add text to video files, but the electronic device does not support this special function, the post-processing management module can add a text node as a custom node to adapt the application's special function to the electronic device, providing users with the target application's customization capabilities. In this case, the instruction sent by the post-processing pipeline module to the post-processing node construction module to build a custom node is the instruction to build a text node.

[0161] S722: The post-processing node building module builds custom nodes.

[0162] The post-processing node building module constructs custom nodes based on the obtained instructions. It should be noted that "construction" here refers to loading the nodes into memory.

[0163] S723: The post-processing pipeline module sends instructions to the post-processing graph generation module to construct the pipeline.

[0164] After the target application sends a pipeline creation command to the post-processing pipeline module, the post-processing pipeline module sends a command to the post-processing node construction module to build decoding nodes, filter nodes, and custom nodes. Once the post-processing node construction module has completed building the decoding nodes, filter nodes, and custom nodes, it sends a command to the post-processing graph generation module to build the pipeline based on these nodes. It should be noted that the constructed nodes may include other nodes besides decoding nodes, filter nodes, and custom nodes, such as decapsulation nodes, encapsulation nodes, and animation nodes. This application does not limit the specific node names and their functions.

[0165] S724: Post-processing graph generation module construction pipeline.

[0166] The post-processing graph generation module can build pipelines based on nodes such as decoding nodes, filter nodes, and custom nodes. See also... Figure 8 This figure is a schematic diagram of a pipeline provided in an embodiment of this application. A pipeline can be a video file flowing sequentially to a decoding node, a text A node, and a filter B node, thereby enabling the user to obtain a video file with text A and filter B added.

[0167] In some possible implementations, after the post-processing graph generation module constructs the pipeline, the pipeline's parameters can be configured. In some embodiments, the decoding node can be set to "decode to YUV format" or "decode to RGB format". It should be noted that the parameter configurations differ for different nodes, and this application does not limit the parameter configuration.

[0168] S725: The post-processing diagram generation module sends the pipeline to the post-processing pipeline module.

[0169] S726: The post-processing pipeline module is based on the constructed pipeline runtime file.

[0170] The post-processing pipeline module attempts to run the pipeline built at startup. In some specific implementations, the pipeline can be run by clicking "start" at the beginning of the desired pipeline segment. By running the pipeline, the video to be processed is processed to obtain a video file with filters and text effects.

[0171] It should be noted that after starting the pipeline, the capabilities can be reconfigured by changing the node capabilities.

[0172] S727: The post-processing pipeline module sends files to the target application.

[0173] The post-processing pipeline module outputs the video with effects to the target application on the electronic device 100. At this time, the user's electronic device 100 can preview the processed video file with filter and text effects.

[0174] This application provides a node management method in which, if the special function of an application is not supported by the electronic device, the post-processing management module of the electronic device can add a custom node and display the corresponding functional controls on the relevant interface of the built-in application, so as to adapt the special function of the application to the electronic device and provide users with the customization capability of the target application.

[0175] This application also provides a computer-readable storage medium storing a computer program or instructions. When the computer program or instructions are run, they implement the various functions or steps performed by the electronic device 100 in the above method embodiments.

[0176] Another embodiment of this application provides a computer program product containing instructions. When the computer program product is run on a computer or processor, it causes the computer or processor to perform one or more steps of any of the methods described above.< / medianodes> < / medianodes>

Claims

1. A node management method, characterized in that, Applied to electronic devices, the method includes: In response to a user-triggered action on the target application, the target application is launched; Obtain the current version number of the media center backend processing framework of the electronic device; The configuration file of the node corresponding to the current version number is parsed to obtain the plugin library of the node; The plugin library is loaded and parsed to obtain the node query function; The node query function is invoked to query the target node associated with the target application, wherein the target node is used to characterize the functions supported by the target application on the electronic device; If the target node is not found, the configuration information of the target node provided by the target application is obtained; Configure the target node according to the node configuration template and the configuration information of the target node.

2. The method according to claim 1, characterized in that, The step of configuring the target node according to the node configuration template and the configuration information of the target node includes: The configuration information of the target node is written into the corresponding field in the node configuration template to generate the configuration file of the target node, thereby completing the configuration of the target node.

3. The method according to claim 2, characterized in that, The corresponding fields in the node configuration template include: The node identifier field, the plugin path field where the node is located, the name of the node's supported capabilities field, the parameter field of the node's supported capabilities field, the node's input data type field, the node's output data type field, the node's constraint condition field, and the node's open information field are combined in one or more of the following ways:

4. The method according to any one of claims 1-3, characterized in that, The method further includes: The user interface of the target application displays the functional controls corresponding to the target node.

5. The method according to claim 4, characterized in that, The method further includes: In response to a trigger operation on the functional control corresponding to the target node, the configuration file of the target node is loaded.

6. The method according to any one of claims 1-3, characterized in that, The electronic device includes an application layer and a media platform post-processing framework layer; the application layer includes a target application, and the media platform post-processing framework layer includes a post-processing management module. The querying of target nodes associated with the target application includes: The target application sends a node query command for the target node to the post-processing management module; After receiving the node query instruction, the post-processing management module queries the target node.

7. The method according to claim 6, characterized in that, The step of configuring the target node according to the node configuration template and the configuration information of the target node includes: The post-processing management module configures the target node according to the node configuration template and the configuration information of the target node.

8. The method according to claim 6, characterized in that, The media platform post-processing framework layer further includes: a post-processing pipeline module and a post-processing node construction module; the step of loading the configuration file of the target node in response to a trigger operation of the functional control corresponding to the target node includes: The target application obtains the trigger operation for the functional control corresponding to the target node; The target application sends a pipeline creation instruction to the post-processing pipeline module through the post-processing management module according to the triggering operation; The post-processing pipeline module sends the target node construction instruction to the post-processing node construction module based on the pipeline creation instruction; The post-processing node building module loads the configuration file of the target node based on the building instructions of the target node.

9. An electronic device, characterized in that, Including processor and memory; The memory is used to store computer-executed instructions; The processor is configured to execute computer execution instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-8.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed, implement the method as described in any one of claims 1-8.

Citation Information

Patent Citations

  • Third-party authentication method, device and application system server

    CN106878333A

  • Plug-in management system and method running in intelligent terminal

    CN111638921A