[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN109697060B - Video special effect system, generation method, device, equipment and storage medium thereof - Google Patents

Video special effect system, generation method, device, equipment and storage medium thereof Download PDF

Info

Publication number
CN109697060B
CN109697060B CN201811638749.3A CN201811638749A CN109697060B CN 109697060 B CN109697060 B CN 109697060B CN 201811638749 A CN201811638749 A CN 201811638749A CN 109697060 B CN109697060 B CN 109697060B
Authority
CN
China
Prior art keywords
special effect
special
script
rendering engine
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811638749.3A
Other languages
Chinese (zh)
Other versions
CN109697060A (en
Inventor
杜晶
程彧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Cubesili Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Cubesili Information Technology Co Ltd filed Critical Guangzhou Cubesili Information Technology Co Ltd
Priority to CN201811638749.3A priority Critical patent/CN109697060B/en
Publication of CN109697060A publication Critical patent/CN109697060A/en
Application granted granted Critical
Publication of CN109697060B publication Critical patent/CN109697060B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention provides a video special effect system and a generation method, a device, equipment and a storage medium thereof, wherein the system comprises a rendering engine, a virtual machine and a script library; the rendering engine comprises a plurality of special effects components; the script library comprises script files; the virtual machine is used for realizing mutual calling between the rendering engine and the script file; the rendering engine is used for driving the virtual machine to load and execute the script file associated with the special effect instruction when the special effect instruction for triggering the generation of the special effect is received; the script file is used for calling the special effect components corresponding to the special effect instruction in the executed process so that the called special effect components are combined to render the special effect corresponding to the special effect instruction.

Description

Video special effect system, and generation method, device, equipment and storage medium thereof
Technical Field
The invention relates to the technical field of image processing, in particular to the technical field of video special effects.
Background
Development, Bug repair and update of a functional module of a client software are static processes, for example, when a certain functional module of the client software needs to be updated, a developer has to recompile all programs of the whole client software to realize the update. Therefore, the development process and the development period are longer, and particularly for video special effect software, the development process and the development period involved in the process are longer, and the maintenance cost is higher.
Disclosure of Invention
Based on the above, the invention provides a video special effect system, a generation method, a device, equipment and a storage medium thereof.
According to a first aspect of an embodiment of the present invention, an embodiment of the present invention provides a video special effects system, including a rendering engine, a virtual machine, and a script library; the rendering engine comprises a plurality of special effects components; the script library comprises script files;
the virtual machine is used for realizing the mutual calling between the rendering engine and the script file;
the rendering engine is used for driving the virtual machine to load and execute the script file associated with the special effect instruction when the special effect instruction for triggering the generation of the special effect is received;
the script file is used for calling the special effect components corresponding to the special effect instruction in the executed process so that the called special effect components are combined to render the special effect corresponding to the special effect instruction.
According to a second aspect of the embodiments of the present invention, an embodiment of the present invention provides a method for generating a video special effects system, where the method includes:
establishing a rendering engine, a virtual machine and a script library; the script library comprises script files;
integrating a virtual machine into a rendering engine, so that when the rendering engine receives a special effect instruction for triggering special effect generation, the rendering engine drives the virtual machine to load and execute a script file associated with the special effect instruction;
dividing an interface of a rendering engine into a plurality of special effect components according to a special effect rendering function, and packaging the special effect components;
registering the packaged special effect components in a virtual machine, so that when the virtual machine loads and executes the script library, a script file in the script library calls the special effect components corresponding to the special effect instructions, and the called special effect components are combined to render the special effect corresponding to the special effect instructions.
According to a third aspect of the embodiments of the present invention, an embodiment of the present invention provides a generation apparatus for a video special effects system, the apparatus including:
the system comprises an establishing module, a rendering engine, a virtual machine and a script library, wherein the establishing module is used for establishing the rendering engine, the virtual machine and the script library; the script library comprises script files;
the system comprises an integration module, a rendering engine and a script file loading module, wherein the integration module is used for integrating a virtual machine into the rendering engine so as to drive the virtual machine to load and execute the script file associated with a special effect instruction when the rendering engine receives the special effect instruction for triggering the generation of the special effect;
the packaging module is used for dividing an interface of a rendering engine into a plurality of special effect components according to a special effect rendering function and packaging the special effect components;
and the registration module is used for registering the packaged special effect components in a virtual machine so that when the virtual machine loads and executes the script library, the script file in the script library calls the special effect components corresponding to the special effect instruction so as to enable the called special effect components to be combined and render the special effect corresponding to the special effect instruction.
According to a fourth aspect of the embodiments of the present invention, an embodiment of the present invention provides an electronic device, where the video special effects system is installed on the electronic device, or the electronic device includes:
a processor for processing the received data, wherein the processor is used for processing the received data,
a memory for storing a computer program executable by the processor;
when the processor executes the program, the method for generating the video special effect system is realized.
According to a fifth aspect of the embodiments of the present invention, there is provided a computer-readable storage medium, on which a computer program is stored, the program including the program of the above-mentioned video special effects system, or the program, when executed by a processor, implementing the steps of the above-mentioned method for generating a video special effects system.
Compared with the related art, the embodiment of the invention at least has the following beneficial technical effects:
the special effect processing logic of the video special effect is realized by introducing a script file which does not need to be compiled in advance into a video special effect system to call and combine special effect components. Therefore, when a specific special effect needs to be realized, the rendering engine can drive the virtual machine to load and execute the corresponding script file so as to call the corresponding special effect component through the script file to render the specific special effect. Therefore, the coupling degree between the special effect components is favorably reduced, the Bug of the script file can be repaired in a mode of only updating the script file, all programs of the whole video special effect system do not need to be recompiled, the updating and upgrading of software are facilitated, the software development process is simplified, the time consumption of file downloading and updating is shortened, and the repairing efficiency of the Bug of the script file is improved.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and together with the description, serve to explain the principles of the invention.
FIG. 1 is a diagram illustrating the relationship of some components in a video special effects system according to an exemplary embodiment of the present invention;
FIG. 2 is a user interface diagram of a video effects system shown in accordance with an exemplary embodiment of the present invention;
FIG. 3 is a flow diagram illustrating a method for generating a video effects system in accordance with an exemplary embodiment of the present invention;
fig. 4 is a block diagram illustrating a structure of a generating apparatus of a video special effects system according to an exemplary embodiment of the present invention;
FIG. 5 is a diagram illustrating a hardware configuration of an electronic device in accordance with an exemplary embodiment of the present invention.
Detailed Description
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the invention, as detailed in the appended claims.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used in this specification and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It is to be understood that although the terms first, second, third, etc. may be used herein to describe various information, these information should not be limited to these terms. These terms are only used to distinguish one type of information from another. For example, first information may also be referred to as second information, and similarly, second information may also be referred to as first information, without departing from the scope of the present invention. The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination", depending on the context.
Since the development, Bug repair and update of the function module of the client software are static processes, for example, when a certain function module of the client software needs to be updated, a developer has to recompile all programs of the whole client software to realize the update. Therefore, the development process and the development period are relatively long, and particularly corresponding to the software of video special effects, the development process and the development period involved in the process are longer, and the maintenance cost of the software is relatively high.
Therefore, in order to solve the technical problem, the invention provides a video special effect system, a generating method, a generating device, equipment and a storage medium thereof, and a script file which does not need to be compiled in advance is introduced into the video special effect system to call and combine special effect components, so that the processing logic of video special effects is realized. Therefore, when a specific special effect needs to be realized, the rendering engine can drive the virtual machine to load and execute the corresponding script file so as to call the corresponding special effect component through the script file to render the specific special effect. Therefore, the embodiment of the invention can reduce the coupling degree between the special effect components, can repair the Bug of the script file in a mode of only updating the script file, does not need to re-compile all programs of the whole video special effect system, not only facilitates the updating and upgrading of software, simplifies the development process of the software, but also shortens the time consumption for downloading and updating the file and improves the repair efficiency of the Bug of the script file.
Next, a video special effect system provided by an embodiment of the present invention will be described. The video special effects system can be applied to a terminal, which can include but is not limited to: cell-phone, panel computer, intelligent wearable equipment, personal assistant, live platform. The video special effect system can exist as an independent APP (Application), or can be used as an applet in a live broadcast platform or graphic software or gallery software or video software or camera software, and a user can add special effect materials supported by the video special effect system on a current image displayed on a screen by utilizing the video special effect system and realize rendering of a corresponding special effect in the current image.
Fig. 1 is a schematic diagram illustrating a relationship between components in a video special effects system according to an exemplary embodiment of the present invention; the video special effect system comprises a rendering engine, a virtual machine and a script library. In addition to the rendering engine, the virtual machine, and the script library, the video special effect system also includes software architectures that the current APP should have, such as an interface layer, an application layer, a network layer, and the like.
In one example, in order to ensure the program operation efficiency of the video special effect system and the rendering efficiency during special effect rendering, the rendering engine is written in the C + + language in advance by a software developer, wherein an interface of the rendering engine is divided into a plurality of special effect components according to a special effect rendering function. When a plurality of special effect components are called, the called components trigger the underlying OpenGL ES API (Application Programming Interface) to perform rendering operation, so as to render the corresponding special effect.
In the above, the plurality of special effects components may include, but are not limited to: the system comprises an animation component, a face recognition component, a face reconstruction component, a resource management component, a machine learning network component, a filter component, a rendering system component, a limb detection component, a physical simulation component, a font component, an image component, a video component, a math component, a particle component, a gesture recognition component, a data parsing component, a scene component, a shader component, a compression algorithm component and an AI image recognition algorithm component. Wherein the rendering system components include, but are not limited to: the system comprises a grid model basic component, a vertex index buffer area basic component, a deformation animation basic component, a skeleton animation basic component, a material basic component, a shader basic component, a camera basic component and a renderer basic component. The functions and functions of the respective components may be known in combination with the embodiments of the present invention and the related art, and are not described in detail herein.
The script library comprises script files, and the script library can also be considered to store the script files. In one example, the script library may be a Lua script library, and the script file may be a Lua script; based on this, the virtual machine may be a Lua virtual machine.
Some functions of the interface layer, the virtual machine, the rendering engine, and the script library in this embodiment are described below:
the interface layer is used for displaying a user interface, and the user interface comprises a material display area; the material display area is used for displaying special effect materials;
the virtual machine is used for realizing mutual calling between the rendering engine and the script file;
the rendering engine is used for driving the virtual machine to load and execute the script file associated with the special effect instruction when the special effect instruction for triggering the generation of the special effect is received; the special effect instruction is generated by triggering special effect materials in a user interface by a user;
the script file is used for calling the special effect components corresponding to the special effect instruction in the executed process so that the called special effect components are combined to render the special effect corresponding to the special effect instruction.
In one embodiment, to simplify the management of the script library, the script library may include only one script file, based on which the script file may include several special effect functions corresponding to different special effect effects (corresponding to different special effect materials) one-to-one; each effect function includes a number of sub-functions for invoking the effect component, each sub-function corresponding to an effect component. It can be understood that: each special effect function is used for realizing the special effect shown by a special effect material, and one special effect can be formed only after a plurality of special effect components are combined in a shared mode, so that each special effect function can comprise a plurality of sub-functions, and identification parameters of the special effect components required to be called and a program of special effect logic are configured in advance in the sub-functions. Therefore, if the special effect function is loaded and executed, the executed special effect function can call the corresponding special effect component according to a pre-configured program in the execution process.
In another embodiment, the script library may also store a plurality of script files, based on which each script file may correspond to a different special effect one by one, and each script file may include only one special effect function.
As can be seen from the above, after the user activates the video special effects system, as shown in fig. 2, fig. 2 is a user interface diagram of the video special effects system according to an exemplary embodiment of the present invention, and an interface layer of the system may show a user interface showing the material display area a1, the image browsing control a2, the camera control A3 and the video/image display area a 4. The user can view the special effect material through the material display area a1, the special effect material shown in fig. 2 is represented by characters for simplifying schematic diagram, and in practice, the special effect material displayed in the material display area a1 may be a graphic effect formed by combining pictures and/or music, so as to directly and clearly show the corresponding special effect to the user; the user can select the image or video needing to add special effects from the photo album by clicking the image browsing control A2, and can call the camera module to shoot or record the video by clicking the camera control A3. After a user selects a certain special effect material, a special effect instruction is triggered and sent to the rendering engine, where the special effect instruction may carry identification information of a current special effect material. When the rendering engine receives the special effect instruction, the script file to be loaded and executed can be determined according to the identification information carried by the special effect instruction, so that the virtual machine is driven to record and execute the script file associated with the identification information, and the special effect function in the script file is operated. In the process that the special effect logic algorithm of the script file is operated, the executed special effect function in the script file calls a corresponding special effect component to trigger the OpenGL ES API at the bottom layer to render the special effect presented by the currently selected special effect material in the current image or video, and the rendered special effect is transmitted to the interface layer, so that the interface layer displays the special effect in the video/image display area a4 through the terminal screen, thereby realizing the purpose of adding the special effect to the video or image.
In the following, if the main program of the system or the special effect material needs to be updated, the main program of the system can be updated by downloading all programs, but the special effect material does not need to be updated by downloading all programs. Wherein, the updating process of the special effect material may include:
and when the application layer detects a new version of the special-effect material, downloading a special-effect material package of the new version of the special-effect material, and updating the special-effect material displayed in the material display area and the script library according to the downloaded special-effect material package. The special effect material package comprises a plurality of special effect materials and a new version script file, and the new version script file comprises a plurality of special effect functions which are in one-to-one correspondence with the special effect materials.
Because a plurality of special effect materials in the special effect material package generally include original special effect materials and new version special effect materials of the system, in order to avoid information redundancy and reduce the occupation of the system on the internal memory of the terminal, in one example, the original special effect materials and script files in the scripts can be deleted firstly in the downloading process of the new version special effect material package or after the downloading is completed and before the special effect materials and the script library are updated. In another example, the original special effects material or original script file content may be replaced in an alternative manner during the updating process.
In the above, the special effect material displayed on the user interface is not necessarily downloaded in the current terminal, and may be understood as follows: although the user interface can display all the special effect materials supported by the system, the user does not necessarily use all the special effect materials, so all the special effect materials can not be downloaded by default, part of the special effect materials with higher popularity can be downloaded by default, and the un-downloaded special effect materials can be downloaded after being selected by the user. Based on this, in one embodiment, the special effects material displayed by the material display area may include both un-downloaded special effects material and downloaded special effects material.
Accordingly, to achieve downloading of the un-downloaded special effect material and avoid a user clicking mistakenly, prompt information may be output to the user before downloading the un-downloaded material to further confirm whether to continue the current downloading, and based on this, in one embodiment, the rendering engine may be further configured to:
when detecting that the un-downloaded material is triggered, outputting download prompt information through the interface layer to prompt a user to determine whether to download the currently triggered material;
after the prompt information is output, if a material downloading instruction is received, communication is established with the server through the network layer, and the special effect material corresponding to the downloading instruction is downloaded from the server.
In another embodiment, in order to avoid the interference of the output of the prompt message to the user, the material downloading operation may be directly performed when it is detected that the un-downloaded material is triggered, and based on this, the rendering engine may be further configured to: and when detecting that the un-downloaded material is triggered, establishing communication with the server through the network layer, and downloading the special effect material corresponding to the downloading instruction from the server.
In the above, if the downloaded material is triggered, it indicates that the user needs to generate a special effect presented by the currently triggered special effect material, and at this time, the corresponding special effect instruction is triggered and sent to the rendering engine. After receiving the special effect instruction, the rendering engine may render a corresponding special effect for the current image or video according to the related records and the script.
Before installing the video special effect system on a target platform, such as an IOS system, an android system, or a microsoft system, a program in the video special effect system, except for a script library, needs to be compiled into machine code of the target platform in advance, so that a CPU of the target platform can recognize and execute the video special effect system. For example, when the rendering engine is formed by writing in C + + language, the program other than the script library may be a program written in C + + language.
The video special effect system can be generated by a generation method of the video special effect system, and based on the generation method, the embodiment of the invention also provides a generation method of the video special effect system for generating the video special effect system. As shown in fig. 3, fig. 3 is a flowchart illustrating a method for generating a video special effects system according to an exemplary embodiment of the present invention, where the method includes:
s031, establish rendering engine, virtual machine and script library: the script library comprises script files;
s032, integrating a virtual machine into a rendering engine, so that when receiving a special effect instruction for triggering special effect generation, the rendering engine drives the virtual machine to load and execute a script file associated with the special effect instruction;
s033, dividing the interface of the rendering engine into a plurality of special effect components according to the special effect rendering function, and packaging the plurality of special effect components;
s034, registering the packaged special effect components into a virtual machine, so that when the virtual machine loads and executes the script library, a script file in the script library calls the special effect components corresponding to the special effect instruction, and the called special effect components are combined to render a special effect corresponding to the special effect instruction;
s035, establishing the link among the rendering engine, the interface layer, the application layer and the network layer to generate the video special effect system.
In one example, in order to ensure the program operating efficiency of the video special effect system and the rendering efficiency during special effect rendering, the rendering engine may be created by a software developer by writing in C + + language in advance; based on this, in the step S033, the plurality of special effects components are packaged in the form of the C language.
In one example, the script library may be a Lua script library, and the script file may be a Lua script; based on this, the virtual machine may be a Lua virtual machine.
When the rendering engine is a C + + rendering engine, the script library is a Lua script library, and the virtual machine is a Lua virtual machine, through the steps S032 to S034, the C + + rendering engine may have an ability to drive the Lua virtual machine to execute a Lua script file, and the Lua script file in the Lua script library has an ability to call the special effect components.
In one embodiment, the process of establishing the script library may include:
s0311, configure several special effect functions corresponding to different special effect effects in the script file, and configure several subfunctions used for calling the special effect assembly in each special effect function, each subfunction corresponds to a special effect assembly;
s0312, after the configuration is completed, the script file is saved in a database to generate a script library.
In one example, a developer may write several special effect functions corresponding to different special effect effects by using the Lua language according to a special effect to be achieved, and save the special effect functions as a Lua script file, and save the Lua script file as a library.
In the above, when a plurality of special effect components are called, the called components trigger the underlying OpenGL ES API (Application Programming Interface) to perform a rendering operation, so as to render the corresponding special effect. The components included in the plurality of special effect components obtained by dividing according to the special effect rendering function may refer to the above-mentioned related descriptions, which are not described herein again.
In step S035, if the video special effect system further includes other architectures besides the interface layer, the application layer, and the network layer, a link between the other non-mentioned architecture and the above mentioned architecture also needs to be established to form a completed video special effect system, so as to ensure that the generated video special effect system can normally execute and complete the functions that need to be implemented. For how to establish the link relationship between the architectures, reference may be made to related technologies, which are not described herein.
After the video special effect system is generated, in order to ensure that a CPU of a target platform for which the video special effect system is directed can normally recognize and execute the video special effect system, in an embodiment, the video special effect system may be processed in advance for a platform that needs to be released by the video special effect system, so that after the video special effect system is installed on the target platform, the video special effect system can be recognized and executed, based on which the method may further include:
s0313, after generating the video special effect system, obtaining a target platform applying the video special effect system;
s0314, compile a program in the video special effects system except the script library into a machine code of the target platform, so that the target platform has a capability of identifying and executing the video special effects system after receiving the video special effects system.
For example, when the rendering engine is written in C + + language, the program other than the script library may be a program written in C + + language, and in this case, step S0314 may be understood as: and compiling the video special effect system into machine codes of the target platform by a program written in C + + language so that the target platform has the capability of identifying and executing the video special effect system after receiving the video special effect system.
In subsequent use, developers of the video special effect system may update the special effect materials, in order to avoid that all programs need to be downloaded by software when the special effect materials need to be updated, the developers can compile script files with functions corresponding to the updated special effect materials when the special effect materials need to be updated, pack the script files and the special effect materials together into a special effect material package, and upload the special effect material package to a server, so that the software automatically detects whether the updating exists. Based on this, the method may further include:
s036, when a new version of the special-effect material is detected, downloading a special-effect material package of the new version of the special-effect material, and updating the special-effect material displayed on the interface layer and the script library according to the downloaded special-effect material package.
The special effect material package comprises a plurality of special effect materials and a new script file; the new script file comprises a plurality of special effect functions which are in one-to-one correspondence with the special effect materials.
Since the plurality of special effect materials in the special effect material package generally include the original special effect materials and the new version special effect materials of the software, in order to avoid information redundancy and reduce the occupation of the software on the internal memory of the terminal, in one example, the original special effect materials and the script files in the scripts can be deleted firstly in the downloading process of the new version special effect material package or after the downloading is completed and before the updating of the special effect materials and the script library. In another example, the original special effects material or the original script file content may be replaced in an alternative manner during the updating process.
In the above, the special effect materials displayed by the user interface may be displayed in a list.
Therefore, the embodiment of the invention realizes the video special effect function by utilizing the independent programming function of the script programming language, embeds the script file into other large-scale languages such as C + + language as a library, and provides functions such as parameter configuration or logic description for software, so that the software has flexible script programming capability, and the defect that the C + + language cannot be dynamically updated is overcome. And two or more special effect components are flexibly combined through the script file, so that the implementation process of the special effect is simplified, and the coupling degree between the special effect components is reduced. When the special effect materials need to be updated, only the new version of the special effect material package needs to be downloaded and updated based on the special effect material package, all programs of the software do not need to be downloaded, the development and update processes of the software are simplified, and the development and update efficiency is improved.
Corresponding to any embodiment of the foregoing method for generating a video special effects system, the present invention further provides a device for generating a video special effects system, as shown in fig. 4, where fig. 4 is a block diagram of a device for generating a video special effects system according to an exemplary embodiment of the present invention, and the device 100 may be applied to a software development platform or other terminals having a software development function, and includes:
the establishing module 101 is used for establishing a rendering engine, a virtual machine and a script library; the script library comprises script files;
the integration module 102 is configured to integrate a virtual machine into a rendering engine, so that when receiving a special effect instruction for triggering special effect generation, the rendering engine drives the virtual machine to load and execute a script file associated with the special effect instruction;
the packaging module 103 is used for dividing an interface of the rendering engine into a plurality of special effect components according to a special effect rendering function and packaging the special effect components;
the registering module 104 is configured to register the packaged multiple special effect components in a virtual machine, so that when the virtual machine loads and executes the script library, a script file in the script library calls the special effect component corresponding to the special effect instruction, and the called special effect component is combined and rendered to obtain a special effect corresponding to the special effect instruction.
In an embodiment, the apparatus may further include:
and the link module is used for establishing links among the rendering engine, the interface layer, the application layer and the network layer so as to generate the video special effect system.
In one embodiment, the apparatus further comprises:
and the updating module is used for downloading the special effect material package of the new version special effect material when the new version special effect material is detected, and updating the special effect material displayed on the interface layer and the script library according to the downloaded special effect material package.
The special effect material package comprises a plurality of special effect materials and a new script file; the new script file comprises a plurality of special effect functions which are in one-to-one correspondence with the special effect materials.
In one embodiment, the establishing module 101 includes:
the engine establishing unit is used for establishing a rendering engine;
a library establishing unit, configured to configure a plurality of special effect functions corresponding to different special effect effects in the script file, and configure a plurality of subfunctions for calling the special effect components in each special effect function, each subfunction corresponding to a special effect component;
and the library generating unit is used for saving the script file in a database after the configuration is finished so as to generate a script library.
In one embodiment, the apparatus further comprises:
the system comprises an acquisition module, a display module and a display module, wherein the acquisition module is used for acquiring a target platform applying a video special effect system after the video special effect system is generated;
and the compiling module is used for compiling the programs except the script library in the video special effect system into the machine codes of the target platform, so that the target platform has the capability of identifying and executing the video special effect system after receiving the video special effect system.
The implementation process of the functions and actions of each module and unit in the above device is specifically described in the implementation process of the corresponding steps in the above method, and is not described herein again.
For the device embodiments, since they substantially correspond to the method embodiments, reference may be made to the partial description of the method embodiments for relevant points. The above-described embodiments of the apparatus are merely illustrative, wherein the units described as separate parts may or may not be physically separate, and the parts shown as units may or may not be physical units.
In an exemplary embodiment, the present invention also provides an electronic device, which may include:
a processor;
a memory for storing a computer program executable by the processor;
when the processor executes the program, the method for generating the video special effect system in any one of the method embodiments is implemented. The embodiment of the generation device of the video special effect system provided by the embodiment of the invention can be applied to the electronic equipment. Taking a software implementation as an example, as a logical device, the device is formed by reading, by a processor of the electronic device where the device is located, a corresponding computer program instruction in the nonvolatile memory into the memory for operation. From a hardware level, as shown in fig. 5, fig. 5 is a hardware structure diagram of an electronic device according to an exemplary embodiment of the present invention, and besides the processor, the memory, the network interface, and the nonvolatile memory shown in fig. 5, the electronic device may further include other hardware for implementing the foregoing video special effects system generation method; or may also include other hardware, which is not described in detail herein, generally according to the actual functions of the electronic device.
In another exemplary embodiment, an embodiment of the present invention further provides an electronic device, where the video special effect system is installed in the electronic device, and the electronic device can operate the video special effect system to implement a function of the video special effect system.
In an exemplary embodiment, the embodiment of the present invention further provides a machine-readable storage medium, on which a program is stored, where the program, when executed by a processor, implements the steps of the method for generating a video special effects system in any of the foregoing method embodiments; alternatively, the programs include all programs of the video special effects system in the video special effects system embodiment.
Embodiments of the invention may take the form of a computer program product embodied on one or more storage media including, but not limited to, disk storage, CD-ROM, optical storage, and the like, containing program code. The machine-readable storage medium may include: permanent or non-permanent removable or non-removable media. The information storage functionality of the machine-readable storage medium may be implemented by any method or technology that may be implemented. The information may be computer readable instructions, data structures, models of programs, or other data.
Additionally, the machine-readable storage medium includes, but is not limited to: phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology memory, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other non-transmission media that can be used to store information that can be accessed by a computing device.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
It will be understood that the invention is not limited to the precise arrangements that have been described above and shown in the drawings, and that various modifications and changes can be made without departing from the scope thereof. The scope of the invention is limited only by the appended claims.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (10)

1. A video special effect system is characterized by comprising a rendering engine, a virtual machine, a script library, an application layer and an interface layer; the rendering engine comprises a plurality of special effects components; the script library comprises script files; the updating of the system comprises updating a main program and updating special effect materials;
the virtual machine is used for realizing the mutual calling between the rendering engine and the script file;
the rendering engine is used for driving the virtual machine to load and execute the script file associated with the special effect instruction when the special effect instruction for triggering the generation of the special effect is received;
the script file is used for calling the special effect components corresponding to the special effect instruction in the executed process so that the called special effect components are combined to render the special effect corresponding to the special effect instruction;
the interface layer is used for displaying a user interface, and the user interface comprises a material display area; the material display area is used for displaying special-effect materials;
the application layer is used for downloading a special effect material package of the new version special effect material when the new version special effect material is detected, and updating the special effect material displayed in the material display area and the script library according to the downloaded special effect material package; aiming at the updating of the main program, the main program of the system is updated by downloading all programs;
the special effect material package comprises a plurality of special effect materials and a new version script file; the new version script file comprises a plurality of special effect functions which are in one-to-one correspondence with the special effect materials.
2. The video special effects system of claim 1, wherein the script file comprises a number of special effects functions that correspond one-to-one to different special effects; each effect function includes a number of sub-functions for invoking the effect component, each sub-function corresponding to an effect component.
3. The video special effects system of claim 2, further comprising a network layer for establishing communication between the rendering engine and a server; the special effect materials displayed in the material display area comprise un-downloaded materials and downloaded materials;
the rendering engine is further to:
when detecting that the un-downloaded material is triggered, outputting download prompt information through the interface layer to prompt a user to determine whether to download the currently triggered material;
after the prompt information is output, if a material downloading instruction is received, communication is established with a server through the network layer, and a special effect material corresponding to the downloading instruction is downloaded from the server;
alternatively, the rendering engine is further configured to:
and when detecting that the un-downloaded material is triggered, establishing communication with the server through the network layer, and downloading the special effect material corresponding to the downloading instruction from the server.
4. A method for generating a video special effects system, the method comprising:
establishing a rendering engine, a virtual machine and a script library: the script library comprises script files;
integrating a virtual machine into a rendering engine, so that when the rendering engine receives a special effect instruction for triggering special effect generation, the rendering engine drives the virtual machine to load and execute a script file associated with the special effect instruction;
dividing an interface of a rendering engine into a plurality of special effect components according to a special effect rendering function, and packaging the special effect components;
registering the packaged special effect components in a virtual machine, so that when the virtual machine loads and executes the script library, a script file in the script library calls the special effect components corresponding to the special effect instructions, and the called special effect components are combined to render a special effect corresponding to the special effect instructions;
when a new version of the special-effect material is detected, downloading a special-effect material package of the new version of the special-effect material, and updating the special-effect material displayed on the interface layer and the script library according to the downloaded special-effect material package; aiming at the updating of the main program, the main program of the system is updated by downloading all programs;
the special effect material package comprises a plurality of special effect materials and a new script file; the new script file comprises a plurality of special effect functions which are in one-to-one correspondence with the special effect materials.
5. The method of claim 4, wherein the generating of the video special effects system further comprises:
and establishing links among the rendering engine, the interface layer, the application layer and the network layer to generate the video special effect system.
6. The method of claim 4, wherein the creating of the script library comprises:
configuring a plurality of special effect functions corresponding to different special effect effects in a script file, and configuring a plurality of sub-functions for calling special effect components in each special effect function, wherein each sub-function corresponds to one special effect component;
after the configuration is completed, the script file is stored in a database to generate a script library.
7. The method of claim 4, further comprising:
after a video special effect system is generated, a target platform applying the video special effect system is obtained;
and compiling programs except the script library in the video special effect system into machine codes of the target platform, so that the target platform has the capability of identifying and executing the video special effect system after receiving the video special effect system.
8. An apparatus for generating a video special effects system, the apparatus comprising:
the system comprises an establishing module, a rendering engine, a virtual machine and a script library, wherein the establishing module is used for establishing the rendering engine, the virtual machine and the script library; the script library comprises script files;
the system comprises an integration module, a rendering engine and a script file loading module, wherein the integration module is used for integrating a virtual machine into the rendering engine so as to drive the virtual machine to load and execute the script file associated with a special effect instruction when the rendering engine receives the special effect instruction for triggering the generation of the special effect;
the packaging module is used for dividing an interface of the rendering engine into a plurality of special effect components according to the special effect rendering function and packaging the special effect components;
the registration module is used for registering the packaged special effect components into a virtual machine so that when the virtual machine loads and executes the script library, the script file in the script library calls the special effect components corresponding to the special effect instruction so that the called special effect components are combined and rendered to obtain a special effect corresponding to the special effect instruction;
the updating module is used for downloading the special effect material package of the new version special effect material when the new version special effect material is detected, and updating the special effect material displayed on the interface layer and the script library according to the downloaded special effect material package; aiming at the updating of the main program, the updating of the main program of the system is realized by downloading all programs; the special effect material package comprises a plurality of special effect materials and a new version script file; the new script file comprises a plurality of special effect functions which are in one-to-one correspondence with the special effect materials.
9. An electronic device, characterized in that the device is equipped with the video special effects system of any one of claims 1 to 3; alternatively, the apparatus comprises:
a processor for processing the received data, wherein the processor is used for processing the received data,
a memory for storing a computer program executable by the processor;
wherein the processor, when executing the program, performs the steps of the method of any one of claims 4 to 7.
10. A computer-readable storage medium, on which a computer program is stored, characterized in that the program comprises a program of a video special effects system according to any one of claims 1 to 3 or, when being executed by a processor, carries out the steps of a method according to any one of claims 4 to 7.
CN201811638749.3A 2018-12-29 2018-12-29 Video special effect system, generation method, device, equipment and storage medium thereof Active CN109697060B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811638749.3A CN109697060B (en) 2018-12-29 2018-12-29 Video special effect system, generation method, device, equipment and storage medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811638749.3A CN109697060B (en) 2018-12-29 2018-12-29 Video special effect system, generation method, device, equipment and storage medium thereof

Publications (2)

Publication Number Publication Date
CN109697060A CN109697060A (en) 2019-04-30
CN109697060B true CN109697060B (en) 2022-08-26

Family

ID=66232369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811638749.3A Active CN109697060B (en) 2018-12-29 2018-12-29 Video special effect system, generation method, device, equipment and storage medium thereof

Country Status (1)

Country Link
CN (1) CN109697060B (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147231B (en) * 2019-05-23 2021-11-02 腾讯科技(深圳)有限公司 Combined special effect generation method and device and storage medium
CN112116690B (en) * 2019-06-19 2023-07-07 腾讯科技(深圳)有限公司 Video special effect generation method, device and terminal
CN112351222B (en) * 2019-08-09 2022-05-24 北京字节跳动网络技术有限公司 Image special effect processing method and device, electronic equipment and computer readable storage medium
CN110674341B (en) * 2019-09-11 2023-07-25 广州方硅信息技术有限公司 Special effect processing method and device, electronic equipment and storage medium
CN110675466A (en) * 2019-09-27 2020-01-10 广州华多网络科技有限公司 Rendering system, rendering method, rendering device, electronic equipment and storage medium
CN110764779B (en) * 2019-10-21 2023-09-15 百度在线网络技术(北京)有限公司 Encapsulation method, registration method, device and rendering equipment
CN110727504B (en) * 2019-10-21 2022-04-22 百度在线网络技术(北京)有限公司 Code execution method and device and rendering equipment
CN110865805A (en) * 2019-11-13 2020-03-06 深圳前海环融联易信息科技服务有限公司 Method and device for realizing multifunctional image file assembly and computer equipment
CN110971930B (en) * 2019-12-19 2023-03-10 广州酷狗计算机科技有限公司 Live virtual image broadcasting method, device, terminal and storage medium
CN111240674B (en) * 2020-01-09 2023-03-28 上海米哈游天命科技有限公司 Parameter modification method, device, terminal and storage medium
CN112230982A (en) * 2020-10-15 2021-01-15 北京达佳互联信息技术有限公司 Material processing method and device, electronic equipment and storage medium
CN112637518B (en) 2020-12-21 2023-03-24 北京字跳网络技术有限公司 Method, device, equipment and medium for generating simulated shooting special effect
CN112882711B (en) * 2021-03-10 2024-07-19 百度在线网络技术(北京)有限公司 Rendering method, device, equipment and storage medium
CN113630557B (en) * 2021-10-09 2022-02-11 腾讯科技(深圳)有限公司 Image processing method, apparatus, device, storage medium, and computer program product
US11928078B2 (en) * 2022-03-04 2024-03-12 Lemon Inc. Creating effect assets while avoiding size inflation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103928039A (en) * 2014-04-15 2014-07-16 北京奇艺世纪科技有限公司 Video compositing method and device
CN104331277A (en) * 2014-10-14 2015-02-04 厦门美图之家科技有限公司 Batch production method of image material capable of being directly upgraded
CN107291759A (en) * 2016-04-01 2017-10-24 腾讯科技(深圳)有限公司 The treating method and apparatus of browser page resource

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979877B2 (en) * 2003-12-23 2011-07-12 Intellocity Usa Inc. Advertising methods for advertising time slots and embedded objects
CN102158762B (en) * 2011-03-15 2013-03-27 深圳市酷开网络科技有限公司 Method and system for achieving television user interface based on SDL (System Descriptive Language)
JP2014531142A (en) * 2011-08-16 2014-11-20 デスティニーソフトウェアプロダクションズ インク Script-based video rendering
WO2016149935A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Computing methods and apparatuses with graphics and system memory conflict check
CN106815002B (en) * 2015-12-01 2020-12-04 厦门雅基软件有限公司 Method for realizing cross-platform game development tool
CN105867911B (en) * 2016-03-24 2019-04-02 江苏大学 A kind of implementation method of Iris 2D graphics engine
CN106775710A (en) * 2016-12-14 2017-05-31 杭州长亮金融信息服务有限公司 Cross-platform interface alternation development system and its operation method based on smart machine
CN108572818B (en) * 2017-03-08 2021-07-23 斑马智行网络(香港)有限公司 User interface rendering method and device
CN108196835A (en) * 2018-01-29 2018-06-22 东北大学 Pel storage and the method rendered in a kind of game engine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103928039A (en) * 2014-04-15 2014-07-16 北京奇艺世纪科技有限公司 Video compositing method and device
CN104331277A (en) * 2014-10-14 2015-02-04 厦门美图之家科技有限公司 Batch production method of image material capable of being directly upgraded
CN107291759A (en) * 2016-04-01 2017-10-24 腾讯科技(深圳)有限公司 The treating method and apparatus of browser page resource

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Radically Cross Platform: Animation;Andrew Vogan;《https://artandlogic.com/2014/02/radically-cross-platform-animation/》;20140228;全文 *
Unity3d动画脚本 Animation Scripting(深入了解游戏引擎中的动画处理原理--旧的动画系统);AnYuanLzh;《https://blog.csdn.net/anyuanlzh/article/details/8921814》;20130513;全文 *

Also Published As

Publication number Publication date
CN109697060A (en) 2019-04-30

Similar Documents

Publication Publication Date Title
CN109697060B (en) Video special effect system, generation method, device, equipment and storage medium thereof
CN110134378B (en) Application program creating method and device, computer equipment and storage medium
CN110134386B (en) Program editing method and device
KR101246967B1 (en) Method and apparatus for executing unit tests in application host environment
CN100492387C (en) Method and system for software protected development based on Keil C51
US20180059978A1 (en) Virtual disk expansion method and apparatus
CN112882694A (en) Program compiling method and device, electronic equipment and readable storage medium
CN109857432B (en) Hot updating method and device for game application
CN113986395A (en) Packaging method for applying dependent self-contained technology under linux system
CN104778075A (en) Method and device for calling Java layer API (Application Program Interface) by native layer in Android system
WO2022184112A1 (en) Android system application debugging method and apparatus, program, medium, and electronic device
CN115686511A (en) Cross-platform software development method and device based on cross-platform language
US10268647B2 (en) Asset catalog layered image support
CN113181657B (en) Cross-platform rendering method and device
CN114895935A (en) Method and device for flashing vehicle ECU, electronic equipment and storage medium
US10552135B1 (en) Reducing a size of an application package
CN117435512B (en) Unit test method for automatically switching different database types based on Junit5
CN108228266B (en) Method and device for starting Fragment component between different plug-ins under Android plug-in framework
CN118276884A (en) Container packaging method, device, equipment and storage medium
CN117632746A (en) Pile inserting processing method and device, storage medium and electronic equipment
CN116954824A (en) Runtime system supporting multi-process mixed operation of multiple extended reality (XR) technical specification application programs and 2D application programs, data interaction method, device and medium
CN117149209A (en) Code increment compiling method and device, computer equipment and storage medium
CN111971655A (en) Native runtime techniques for hypertext markup language graphical content
CN112882701A (en) Executable file static pile inserting technical framework supporting multiple architectures
Pettineo Using bindless resources with DirectX raytracing

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210115

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511442 24 floors, B-1 Building, Wanda Commercial Square North District, Wanbo Business District, 79 Wanbo Second Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Applicant before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190430

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000054

Denomination of invention: Video special effect software and its generating method, device, equipment and storage medium

License type: Common License

Record date: 20210208

GR01 Patent grant
GR01 Patent grant