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.
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.