Control Method, Control Device, Computing Device, and Storage Medium
By creating animation instances to monitor and respond to control commands, efficient control of animation is achieved, and the problem of poor animation control performance in the prior art is solved, and the flexibility and performance of animation is improved.
Patent Information
- Application Number
- CN201910651343.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-07-18
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2039-07-18
AI Technical Summary
The prior art cannot efficiently control animation or other information display methods while ensuring high performance, especially in multi-animation scenarios, resulting in large performance overhead and inflexible control.
By creating animation instances, the animation instance monitors and responds to control commands to achieve efficient control of animations. Optional control commands include starting playback, restarting playback, pausing, restoring, and ending playback. Animation instances can also build an animation instance chain, implement chain control of multiple animations, and control it according to the correlation between the animations.
It realizes efficient full-link control of animation, supports rich control commands, simplifies object control schemes, improves animation flexibility and performance, and is suitable for complex multi-animation scenes.
Smart Images

Figure CN112328336B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of information (such as animation) presentation, and particularly relates to a method for controlling information display (such as animation), an apparatus for controlling information display (such as animation), a computing device, and a storage medium. Background Art
[0002] Currently, data presentation screens such as data dashboards have become an indispensable core basic system for information visualization.
[0003] Data dashboards are one of the effective ways to share, communicate, and disseminate information. It will evolve into a new media form and play an important role in various scenarios such as brand promotion, government reception, business communication, and data monitoring.
[0004] Today, with the rapid development of big data information, data dashboards are no longer just display tools for transmitting image and data signals to a large screen for display to users, but need to efficiently analyze massive amounts of data information, for example, presenting data information in the form of animation to help managers, decision-makers, etc. discover the relationships and laws behind the data and provide a basis for decision-making.
[0005] In digital city dashboards, in addition to the expression of static scenes, the more visually impactful is the dynamic and real-time information expression. In such a scenario, for example, multiple animations can be used to present multiple target objects to show the data logical relationships behind these target objects, etc.
[0006] However, due to the very complex business scenarios of modern digital city dashboards, the multi-animation scenario brings huge performance overhead.
[0007] In this field, common animation control methods can be divided into single control and centralized control.
[0008] The so-called single control takes a single animation as the object and controls a single animation. This control method lacks global control of animations, cannot achieve the interconnection between animations, is not applicable to the linkage of multi-animation scenarios, and cannot control efficiently and with high performance.
[0009] The so-called centralized control controls a large number of animations, for example, all animations as a whole. This control method lacks direct control of a single animation and cannot guarantee the linkage between animations, resulting in poor performance.
[0010] None of the existing above control methods can efficiently control animations or other information display methods while ensuring high performance.
[0011] Therefore, there is still a need for an information display control mechanism that can more efficiently control the information display in the form of animations, etc. Summary of the Invention
[0012] One technical problem to be solved by this application is to provide an efficient information display control solution.
[0013] According to the first aspect of this application, an animation control method is provided, including: creating at least one animation instance, where the animation instance is used to control the animation of a target object, and one animation instance controls the animation of a subset of target objects; the animation instance listens for control commands for the animation it controls; in response to the listened control commands, the animation instance performs control operations corresponding to the control commands on the animation it controls.
[0014] Optionally, the control commands may include at least one of the following: start play command, in response to the start play command, the animation instance causes the animation it controls to start playing; restart play command, in response to the restart play command, the animation instance causes the animation it controls to restart playing; pause play command, in response to the pause play command, the animation instance causes the animation it controls to enter a paused state; resume play command, in response to the resume play command, the animation instance causes the animation it controls to resume the play state; end play command, in response to the end play command, the animation instance ends the play of the animation it controls.
[0015] Optionally, the animation instance may obtain the status information of the animation of the subset of target objects.
[0016] Optionally, in response to the end of the animation play, the animation instance that controls the animation may destroy the status information of the animation it stores.
[0017] Optionally, when the animation enters the paused state, the animation instance that controls the animation may save the current status information of the animation; in response to the resume play command, the animation instance reads the status information saved when it previously entered the paused state and restores the play state of the animation it controls according to the status information.
[0018] Optionally, when the animation enters the paused state, only the current status information of the animation may be saved, rather than the animation itself generated based on the data of the subset of target objects.
[0019] Optionally, the animation control method may further include: constructing an animation instance chain for multiple animation instances, where the multiple animation instances in the animation instance chain are respectively used to control the animations of multiple subsets of target objects, and the end of one animation instance in the animation instance chain triggers the start of the next animation instance immediately following it.
[0020] Optionally, the animation instance chain may be constructed for the animations of multiple subsets of target objects having a time sequence relationship.
[0021] Alternatively, you can use independent animation instances to control the animation of unrelated subsets of target objects.
[0022] Optionally, the animation control method may further include: establishing an association between a first animation instance that controls the first animation and a second animation instance that controls the second animation based on a desired association relationship between the first animation and the second animation, so that when the first animation reaches a predetermined state, the first animation instance triggers the second animation instance to control the second animation.
[0023] Optionally, the method may also include: assigning an animation controlled by the animation instance to the animation instance; and / or in response to the animation controlled by it ending, destroying the animation instance, or disassociating the animation instance from the animation it previously controlled so as to assign a new animation to it.
[0024] Alternatively, the subset of target objects may correspond to data, and the animation of the subset of target objects may be based on changes in the data.
[0025] Optionally, the target object subset may be a target object subset of minimum granularity presented in an animation manner.
[0026] Optionally, the method may be implemented using a browser.
[0027] Optionally, the method can be used for animation presentation of a target object on a data presentation screen.
[0028] Optionally, animations of multiple target object subsets may be presented on the screen, and the animation of each target object subset may be controlled by a different animation instance.
[0029] According to a second aspect of the present application, a method for controlling an animation on a data presentation screen is provided, wherein the data presentation screen is used to visually present data, the method comprising: creating at least one animation instance, the animation instance being used to control the animation of a target object on the data presentation screen, wherein one animation instance controls the animation of a subset of target objects; the animation instance listening for control commands for the animation it controls; and in response to listening to the control command, the animation instance performing a control operation corresponding to the control command on the animation it controls.
[0030] According to a third aspect of the present application, a method for controlling information display is provided, comprising: creating at least one display control unit, the display control unit being used to control the information display of a target object, wherein one display control unit corresponds to controlling the information display of a subset of target objects; a dynamic display control unit monitoring corresponding control commands; and in response to monitoring the control commands, the dynamic display control unit executing corresponding control operations for dynamic information display.
[0031] Optionally, the display control unit may include at least one of the following: instance, thread, process, function, program component, instruction, or set of instructions.
[0032] Optionally, the information display may include: a dynamic information display corresponding to a dynamic target object; and / or a static information display corresponding to a static target object.
[0033] Optionally, this method may be used for information display of a target object on a data presentation screen.
[0034] According to a fourth aspect of the present application, there is provided an animation control device, including: a creation device configured to create at least one animation instance, where the animation instance is used to control the animation of a target object. Among them, one animation instance controls the animation of a subset of target objects. For each animation instance, it further includes: a listening device configured to listen for a control command for the animation controlled by the animation instance; and a control device that, in response to the listened control command, performs a control operation corresponding to the control command on the animation controlled by the animation instance.
[0035] Optionally, the animation control device may further include: a chaining device configured to construct an animation instance chain for multiple animation instances. The multiple animation instances in the animation instance chain are respectively used to control the animations of multiple subsets of target objects. Among them, the end of one animation instance in the animation instance chain triggers the start of the next immediately following animation instance.
[0036] According to a fifth aspect of the present application, there is provided a control device for information display, including: a unit creation device that creates at least one display control unit, where the display control unit is used to control the information display of a target object. Among them, one display control unit correspondingly controls the information display of a subset of target objects. The display control unit includes: a command listening device configured to listen for a corresponding control command; and an animation control device that, in response to the listened control command, performs a corresponding control operation on the information display of the target object controlled by the display control unit.
[0037] According to a sixth aspect of the present application, there is provided a computing device, including: a processor; and a memory having executable code stored thereon, which when executed by the processor causes the processor to execute the methods of the first to third aspects as described above.
[0038] According to a seventh aspect of the present application, there is provided a non-transitory machine-readable storage medium having executable code stored thereon, which when executed by a processor of an electronic device causes the processor to execute the methods of the first to third aspects as described above.
[0039] Thus, it is possible to efficiently control the information display in the form of animations of target objects. In some embodiments, the animation can be controlled very flexibly.
[0040] In some embodiments, a display control unit in the form of an instance or the like may be used to control the display of a subset of target objects. The subset of target objects may include a single target object or multiple target objects. When multiple target objects are included, by using a single display control unit to uniformly control the subset composed of multiple target objects, the object control scheme can be simplified, and it is also convenient to uniformly control some target objects with common attributes.
[0041] In some embodiments, since animation instances are used to control animations, especially the "atomic animation instances" corresponding to the animations with the smallest granularity, full-link efficient control for a single animation can be provided, and rich control commands can be provided while ensuring high-performance requirements. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] By describing the exemplary embodiments of the present application in more detail in conjunction with the accompanying drawings, the above and other objects, features, and advantages of the present application will become more obvious. Among them, in the exemplary embodiments of the present application, the same reference numerals generally represent the same components.
[0043] Figure 1 A schematic flowchart of the animation control method of the present application is shown.
[0044] Figure 2 It is a schematic diagram of an animation instance controlling an animation.
[0045] Figure 3 It is a schematic diagram of using an animation instance chain to control multiple animations.
[0046] Figure 4 The association between two parallel animation instances is schematically shown.
[0047] Figures 5A to 5C The association between two parallel animation instance chains is schematically shown.
[0048] Figure 6 A schematic block diagram of the animation control device of the present application is shown.
[0049] Figure 7 A schematic flowchart of the information display control method of the present application is shown.
[0050] Figure 8 A schematic block diagram of the information display control device of the present application is shown.
[0051] Figure 9 A schematic structural diagram of a computing device that can be used to implement the above control method according to an embodiment of the present application is shown. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0052] Preferred embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the preferred embodiments of the present application are shown in the drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided to make the present application more thorough and complete, and to fully convey the scope of the present application to those skilled in the art.
[0053]
Animation
[0054] As mentioned above, data presentation screens such as data dashboards (e.g., 4K dashboards) have been increasingly widely used to visually present animations containing several target objects, so as to present the changes in the data corresponding to (or represented by, or based on) the target objects in an animated manner, thereby realizing the visual presentation of data.
[0055] Such target objects (in some embodiments, may also be referred to as "elements") can be, for example, vehicles or pedestrians, and the changes in their position data can be presented in an animated manner. For another example, it can be a traffic light, and the changes in its on / off state can be presented in an animation. For another example, it can be an icon or a chart used to represent a certain data (such as personnel / item flow data, dynamic parameter changes, etc.), and the changes in its state (such as position, size, color, curve trend, etc.) are presented in an animated form to represent the changes in the data. In other words, the target object can correspond to data, and the animation of the target object can be based on the changes in the data.
[0056] The target object here can be a basic, minimum-granularity target object (e.g., can be referred to as an "element"), or a combination of multiple basic, minimum-granularity target objects.
[0057] In one embodiment, the target objects are all basic, minimum-granularity target objects, that is, one target object corresponds to one entity or one piece of data, and corresponds to a minimum-granularity animation (such as an entity image, an icon, or a chart element) on the screen. In other words, the so-called basic and minimum-granularity can be understood to a certain extent as, from the perspective of data presentation, there is no need to further divide into more basic or smaller elements. Such a basic target object can be referred to as an "atom" for example, and the animation corresponding to it can be called an "atom animation".
[0058] Different from the traditional animation formed by continuously playing multiple frames of pictures, in the animation involved in the present application, each target object presents an animation effect based on the changes in the data corresponding to it. Such data changes can be, for example, real-time, or pre-determined, or according to certain rules. It is not possible to pre-render frames of pictures for display, especially when there are animations corresponding to multiple target objects on the screen.
[0059] As described above, especially when there are multiple animations corresponding to target objects on the screen, the control of these animations will be very complex and difficult.
[0060] In some embodiments of the present application, the "control" of an animation can also be referred to as the "management" of the animation.
[0061] The present application proposes that an instance can be created to control the animations of a subset of target objects. In the present application, such an instance is called an "animation instance". An animation instance controls the animations of a subset of target objects.
[0062] Hereinafter, the term "subset of target objects" will mainly be used to represent the objects controlled by an animation instance. In the present application, a subset of target objects can include only one target object or several target objects, thus forming a subset. Generally, a subset of target objects is a part of the target objects presented on the screen. In some cases, a subset of target objects can also include all the target objects presented on the screen.
[0063] In one embodiment, when a subset of target objects includes multiple target objects, these included target objects can, for example, have the same or similar movement trajectories or rules, or have related movement attributes.
[0064] Animations of multiple target objects can often be presented on the screen. In some cases, these target objects can be divided into multiple subsets of target objects. Correspondingly, the animations of each target object or subset of target objects can be controlled by different animation instances respectively.
[0065] An animation instance used to control the animations of basic and smallest-granularity target objects can be called, for example, an "atomic animation instance".
[0066] Animation instances can all be "atomic animation instances", all used to control the animations of basic and smallest-granularity subsets of target objects respectively. Or, there can also be combined animation instances formed by combining multiple atomic animation instances, which are combined to achieve unified control of multiple atomic animations. Or, animation instances can also be created to directly control multiple atomic animations, or animation instances that control combined animations including multiple atomic animations.
[0067] In a preferred solution, animation instances are all "atomic animation instances". Such a solution is relatively simple and can implement the entire screen animation display control solution through some basic and smallest-granularity "atomic animation instances". For example, an atomic animation instance can be an instance that only includes the animation running state and a controller.
[0068] Based on the animation instance, the support and control of multiple events can be realized, the triggering mechanism of events by the animation in different states can be supported, and the defect in the insufficient support of traditional animation events can be solved.
[0069] The control solution of the animation using the animation instance in the present application will be described in detail below.
[0070] The animation presentation on the data dashboard has been briefly described above. It should be understood that the animation control solution of the present application can also be implemented on a general display screen.
[0071] Traditional videos or animations formed by multiple frames can be played by corresponding players. Generally speaking, such players cannot implement the above-mentioned animation presentation involved in the present application.
[0072] The animation control solution of the present application can be implemented, for example, on a browser.
[0073]
Animation Instance
[0074] The solution for controlling the animation using the animation instance according to the present application will be described in detail below with reference to the accompanying drawings. The so-called animation control can include, for example, the state control of the animation and the triggering of related events, etc.
[0075] Figure 1 The schematic flowchart of the animation control method of the present application is shown.
[0076] 1. Maintenance
[0077] As Figure 1 shown, in step S100, at least one animation instance is created.
[0078] According to needs, multiple animation instances can be maintained.
[0079] The animation instance is used to control the animation of the target object, where one animation instance controls the animation of a subset of the target objects.
[0080] The maintenance of the animation instance can include several aspects.
[0081] First, as shown in step S100, the animation instance can be created according to needs. For example, when a new animation needs to be presented, a new animation instance can be created.
[0082] An animation to be controlled by it can also be assigned to the created or idle animation instance in the lifetime.
[0083] In addition, when the animation controlled by the animation instance ends, different processing can be performed on the animation instance according to needs or settings.
[0084] The animation instance can be directly destroyed. Alternatively, the association between the animation instance and the animation it previously controlled can also be severed, making it an idle animation instance, and a new animation can be assigned to it if necessary.
[0085] 2. Monitoring and Control
[0086] In step S200, the animation instance can monitor control commands for the animation it controls.
[0087] Then, in step S300, in response to the monitored control command, the animation instance performs a control operation corresponding to the control command on the animation it controls.
[0088] The control commands and corresponding control operations that can be achieved by the technical solution of this application will be described in more detail below.
[0089] Figure 2 is a schematic diagram of an animation instance controlling an animation.
[0090] The animation instance can monitor multiple commands to achieve corresponding control of the animation.
[0091] For example, as Figure 2 shown, the commands that the animation instance can monitor can include: start playing command, restart playing command, pause playing command, resume playing command, end playing command, etc.
[0092] It should be understood that other commands can also be implemented, or one or more of these commands can also be implemented.
[0093] Due to using an animation instance to control the animation, according to the animation control solution of this application, rich control commands can be available (implemented or supported). Efficient control of animations within the system can be achieved, providing an "atomic-level" control mechanism for animations and also offering various possibilities for the presentation forms of animations.
[0094] Figure 2 In, the solid line part indicates that the animation instance is running, that is, it is controlling the animation presentation. The dashed line part indicates that the animation instance stops running and the animation pauses.
[0095] As Figure 2 indicated by the label ① in, the animation instance enters the running state in response to the start playing command.
[0096] At this time, for example, an animation start event can be triggered to start playing the animation it controls.
[0097] Or, in the case where the animation has already started playing or has already completed playing, a restart playing command may be issued. As Figure 2As shown by reference numeral ①, in response to a restart play command, the animation instance causes the animation it controls to restart playing.
[0098] As Figure 2 As shown by reference numeral ②, in response to a pause play command, the animation instance temporarily stops running, causing the animation it controls to enter a paused state.
[0099] At this time, no animation event is triggered. As described below, only the current animation state can be saved, thus not occupying additional system resources and improving the stability and efficiency of system operation.
[0100] As Figure 2 As shown by reference numeral ③, in response to a resume play command, the animation instance resumes its running state, causing the animation it controls to resume the play state.
[0101] Here, an atomic animation running state event can be triggered to resume play. Additionally, the previously saved animation state can be read to resume play.
[0102] As Figure 2 As shown by reference numeral ④, in response to an end play command, the animation instance ends the play of the animation it controls.
[0103] Here, an animation end event can be triggered. Additionally, the state information saved by the atomic animation instance can be destroyed, and finally the atomic animation instance can be destroyed, not occupying system resources.
[0104] 3. State Information
[0105] (1) Acquisition
[0106] The animation instance can acquire the state information of the animations of each target object in the subset of target objects it controls.
[0107] The state information here can be, for example, position, size, color, etc., or it can also be the numerical values of the data corresponding to each target object in the subset of target objects.
[0108] The animation instance can start acquiring the state information of the animation after starting to control the animation (for example, when the animation instance is created for the animation, assigned to the animation, or after the animation instance listens to a start play command or a restart play command).
[0109] (2) Saving
[0110] When, for example, in response to the above-mentioned pause play command, under the control of the animation instance, the animation enters a paused state, the animation instance controlling the animation saves the current state information of the animation.
[0111] The current state information can be saved in a volatile memory such as the memory, or can be saved in a non-volatile memory such as a hard disk. Preferably, it is saved in the memory.
[0112] According to the animation presentation solution of the present application, only the current state information of the animation can be saved, instead of saving the animation itself generated based on the data of each target object in the target object subset (for example, through rendering). Subsequently, the playback of the animation can be restored according to the state information.
[0113] In the traditional animation control solution, the animation resides in the memory all the time. As the animation itself, compared with the animation state information, the data volume is large. In the case of a large number of target objects or target object subsets, it will occupy a very large amount of memory and affect the system performance.
[0114] Different from the traditional animation control solution, in the animation control solution of the present application, in the non-playback (for example, pause state) situation, the animation instance only needs to save the state information of the animation and does not need to occupy a large amount of additional resources of the system, which can reduce the hardware pressure of the system, thereby ensuring the stability and efficiency of the system.
[0115] (3) Reading
[0116] In response to the resume playback command, the animation instance can read the state information saved when it previously entered the pause state, and restore the playback state of the animation it controls according to the read state information.
[0117] (4) Destroying
[0118] When the animation playback ends (for example, the animation is completed, or in the case of receiving an end playback command during the animation playback), the animation instance controlling the animation destroys the state information of the animation it saves. Thus, the association between the animation instance and the animation can be correspondingly released.
[0119] 4. Association
[0120] Generally, the simultaneously running animation instances can be independent of each other and do not interfere with each other's running states.
[0121] On the other hand, independent animation instances can be used to control the animations of target object subsets that do not have an association relationship.
[0122] For the animations of some target object subsets with an association relationship, corresponding associations can be established between the animation instances controlling them, so as to achieve the association between these animations under the control of animation instances with a certain degree of association.
[0123] Figure 3 It is a schematic diagram of controlling multiple animations using an animation instance chain.
[0124] As shown Figure 3 in the figure, an animation instance chain can be constructed for multiple animation instances. The multiple animation instances in the animation instance chain are respectively used to control the animations of multiple subsets of target objects. Each animation instance controls one animation. Thus, chained control of multiple animations can be achieved.
[0125] The animation instance chain can be constructed for animations of multiple subsets of target objects having a timing relationship, for example.
[0126] It should be noted that the chained control of animations, different from the centralized control of animations, controls multiple animations in a chain in terms of timing.
[0127] In addition, among the multiple animation instances in the animation instance chain, in addition to the start of the previous animation instance triggering the start of the next animation instance immediately following, they can also be independent of each other, and their running states do not interfere with each other.
[0128] In response to an animation instance (which can be the first animation instance in the animation instance chain or any other animation instance in the animation instance chain) detecting a start play command or a restart play command, this animation instance starts running and causes the animation it controls to start being presented on the screen.
[0129] The end of an animation instance in the animation instance chain triggers the start of the next animation instance immediately following. For example, the end of the previous animation instance can be used as or trigger a start play command for the next animation instance. The next animation instance monitors the resulting start play command and starts running, causing the animation it controls to start being presented on the screen.
[0130] Thus, sequential chained presentation of the corresponding multiple animations is achieved.
[0131] The start time of each animation instance's running is triggered by the end of the previous animation instance, and the start time of the first animation instance can be controlled by the start play command. And the order of animation control can be determined by the order of the animation instances in the animation instance chain.
[0132] As described above, during the chained control process of animation instances, multiple events will be triggered. An animation start event will be triggered when starting an animation, and an animation end event will be triggered when the animation ends.
[0133] When during the running process of an animation instance (during the playing process of the corresponding animation), this animation instance monitors a pause play command, as described above, this animation instance can temporarily stop running, causing the animation it controls to enter a paused state (such as the non-running state indicated by the dotted line shown Figure 2 in the figure). Correspondingly, the entire animation instance chain and the animation chain enter a paused state.
[0134] Alternatively, when an animation instance finishes running (the corresponding animation finishes playing) and a pause play command is detected, the start play command sent to the next animation instance can be paused. As a result, the entire animation instance chain and the animation chain also enter the paused state.
[0135] Similarly, after receiving the resume play command, the animation instance resumes its running state, causing the animation it controls to resume the play state. Alternatively, the start play command that was previously paused is sent to the next animation instance. As a result, the entire animation instance chain resumes running, and the animation chain resumes the play state.
[0136] Until the animation controlled by the last animation instance in the animation instance chain finishes playing, or an animation instance in the animation instance chain receives an end play command, the running of the entire animation instance chain ends, and the corresponding animation chain finishes playing.
[0137] Different from traditional centralized animation control, chain control provides new solutions in both the timing and correlation of animations, enabling control of animations in terms of timing and correlation and providing good support for the overall presentation of content.
[0138] As described above Figure 3 a solution for controlling multiple animations with a timing relationship using an animation instance chain is described.
[0139] In some cases, there may also be a correlation between animations running in parallel.
[0140] In this case, a correlation can be established between the animations controlling them to achieve the correlated presentation of the animations.
[0141] For example, taking two animations as an example, the first animation instance controls the first animation, and the second animation instance controls the second animation.
[0142] A correlation can be established between the first animation instance and the second animation instance according to the desired correlation relationship between the first animation and the second animation, so that when the first animation reaches a predetermined state, the first animation instance triggers the second animation instance to control the second animation, thereby achieving the desired correlation relationship.
[0143] Figure 4 Schematically shows the correlation between two animation instances.
[0144] During the running process, the first animation instance 41 can obtain the state information of the first animation in real time, etc.
[0145] When, for example, the state information of the first animation meets a predetermined condition, such as Figure 4As shown at the dot, the first animation instance can trigger the second animation instance to control the second animation, for example, by triggering a command for the second animation instance.
[0146] This command can be, for example, a start / restart playback command, a pause playback command, a resume playback command, an end playback command, etc. Accordingly, the second animation instance controls the second animation accordingly.
[0147] Figure 4 The situation where the command is a start playback command is shown.
[0148] When the first animation instance 41 is at the dot in the running figure, it monitors that the status information of the first animation meets the corresponding predetermined conditions or rules. At this time, a start playback command is triggered to the second animation instance 42.
[0149] In response to monitoring this start playback command, the second animation instance 42 enters the running state, causing the second animation to start playing.
[0150] It should be understood that when the command is a pause playback command, the second animation instance 42 that has already started running can enter the paused running state, causing the second animation to pause playback.
[0151] When the command is a resume playback command, the second animation instance 42 in the paused running state resumes running, causing the second animation to resume playback.
[0152] When the command is an end playback command, the second animation instance 42 ends the playback of the second animation.
[0153] In addition, as described above, multiple animations can be controlled by an animation instance chain. Figure 3 The situation of an animation instance chain is shown. In some embodiments, there can also be multiple animation instance chains, and these animation instance chains can be controlled in parallel. In other words, multiple animation instances belonging to the same animation instance chain run serially in sequence to control the corresponding animations in sequence, while the animation instances in different animation instance chains can run in parallel to control their corresponding animations.
[0154] Similarly, the animation instances in an animation instance chain can, as Figure 4 shown, control the animation instances in another animation chain, thereby achieving an associated effect between the two animation instance chains.
[0155] Figures 5A to 5C Schematically shown are two animation instance chains controlled in parallel.
[0156] Figure 5A Shown is the situation where an animation instance chain triggers a start playback command for another animation instance chain.
[0157] Figure 5A After the animation instance chain shown above starts running, when the animation controlled by an animation instance (the second one in the figure) on the chain reaches a predetermined state, it triggers Figure 5B the start play command of the first animation instance in the animation instance chain shown below. In response to this start play command, the first animation instance in the animation instance chain shown below enters the running state. Thus, the chained running control process of the animation instance chain shown below is started.
[0158] After that, the two animation instance chains can run serially in order respectively until the running control of the last animation instance on each chain ends or an end command is received.
[0159] Figure 5B Shown is a situation where an animation instance chain triggers the end play command of another animation instance chain.
[0160] Figure 5B After the two animation instance chains shown above and below start running respectively, when the animation controlled by an animation instance ( Figure 5B the penultimate animation instance in this chain) in the upper animation instance chain reaches a predetermined state, it triggers Figure 5B the end play command of an animation instance in the animation instance chain shown below.
[0161] Thus, in response to the end play command, this animation instance in the lower animation instance chain stops running, and the animation it controls stops playing.
[0162] The lower animation instance chain can end here. And the upper animation instance chain can continue to run until the running control of the last animation instance on this chain ends or an end command is received.
[0163] Figure 5C Shown is a situation where an animation instance chain triggers the pause play command and resume play command of another animation instance chain.
[0164] Figure 5B After the two animation instance chains shown above and below start running respectively, when the animation controlled by an animation instance ( Figure 5B the second animation instance in this chain) in the upper animation instance chain reaches the first predetermined state, it triggers Figure 5B the pause play command of an animation instance ( Figure 5B the second animation instance in this chain) in the animation instance chain shown below.
[0165] Then, in response to the pause play command, this animation instance in the lower animation instance chain pauses running, and the animation it controls pauses playing. Corresponding to Figure 2 the non - running state shown by the dashed line part in
[0166] The upper animation instance chain can continue to run.
[0167] Then, on the upper animation instance chain, or it can also be another animation instance chain (different from the animation instance chain where the animation instance that triggers the pause play command is located), an animation instance (which can be the same as or different from the animation instance that triggers the pause play command) reaches the second predetermined state, triggering Figure 5B a resume play command for the animation instance in the paused state in the animation instance chain shown below.
[0168] Thus, in response to the resume play command, the animation instance in the lower animation instance chain resumes running, and the animation under its corresponding control resumes the play state.
[0169] After that, the two animation instance chains can run serially in sequence respectively until the control of the last animation instance on each chain ends or an end command is received.
[0170] By adopting the method such as chain control described above in this application, it is possible to provide solutions in terms of timing and relevance for the control of multiple animations while ensuring the full-link control of a single animation instance, ensuring that different animations can be controlled in ways such as timing or relevance.
[0171] The animation control method according to this application has been described in detail above.
[0172] As described above, according to the above animation control method of this application, it can be used for the animation control on the data presentation screen, so as to realize the animation presentation of the target object on the data presentation screen.
[0173] In this way, in one embodiment, an animation control method on a data presentation screen is implemented, and the data presentation screen is used for visualizing and presenting data.
[0174] Similarly, at least one animation instance can be created, and the animation instance is used to control the animation of the target object on the data presentation screen, where one animation instance controls the animation of a subset of target objects.
[0175] The animation instance can listen for control commands for the animation it controls.
[0176] In response to the monitored control command, the animation instance can perform a control operation corresponding to the control command on the animation it controls.
[0177]
Animation Control Device
[0178] The above animation control method of this application can be implemented, for example, through an animation control device.
[0179] Here is a brief description of the architecture of the animation control device. All the specific details described above also apply to the animation control device and will not be elaborated here.
[0180] Figure 5 shows a schematic block diagram of the animation control device of the present application.
[0181] As shown in Figure 5, the animation control device may include a creation device 100.
[0182] The creation device 100 may be used to create at least one animation instance.
[0183] As described above, the animation instance is used to control the animation of the target object. One animation instance controls the animation of a subset of target objects.
[0184] For each animation instance, the animation control device may further include: a monitoring device 200 and a control device 300.
[0185] The monitoring device 200 may be used to monitor the control commands for the animation controlled by the animation instance.
[0186] The control device 300 may, in response to the monitored control command, perform a control operation corresponding to the control command on the animation controlled by the animation instance.
[0187] In one example, the animation control device may further include a chaining device (not shown in the figure)
[0188] The chaining device may be used to construct an animation instance chain for multiple animation instances.
[0189] The multiple animation instances in the animation instance chain are respectively used to control the animations of multiple subsets of target objects.
[0190] The end of one animation instance in the animation instance chain triggers the start of the next animation instance immediately following it.
[0191] Thus, for example, a chained presentation of multiple animations with a time sequence relationship can be achieved.
[0192]
Information Display Control
[0193] The above-described scenario of using instances to control animations in the case of presenting target objects in the form of animations was described above.
[0194] However, it should be understood that the above control solution of the present application can also be implemented in other ways.
[0195] For example, in addition to the (dynamic) information display of dynamic target objects, the solution of the present application can also be used for the (static) information display of static target objects.
[0196] In addition to controlling the information display of the target object by using the instance method, it can also be controlled separately through some other known display control units (or modules).
[0197] In the following, with reference to Figure 7 and Figure 8 briefly overview the technical solution for controlling the information display of the target object by using the information control unit.
[0198] It should be understood that for the various contents described above with reference to Figures 1 to 6 after replacing "animation" with "information display" and "animation instance" with "information display unit", the specific descriptions of each item can also be applicable to Figure 7 and Figure 8 the technical solution shown.
[0199] Figure 7 Fig. shows a schematic flowchart of the information display control method of the present application. Through this information display control method, the information display of the target object can be conveniently controlled on a data presentation screen (such as a 4K screen) that can be used for visualizing data.
[0200] Figure 8 Fig. shows a schematic block diagram of the information display control device of the present application.
[0201] As Figure 7 shown, in step S710, for example, at least one display control unit can be created through the unit creation device 810. The display control unit is used to control the information display of the target object, where one display control unit corresponds to controlling the information display of a subset of the target object.
[0202] The display control unit can have various possible forms. For example, it can include at least one of the following: instance, thread, process, function, program component, instruction, or instruction set.
[0203] The information display can include dynamic information display and / or static information display.
[0204] The dynamic information display corresponds to the dynamic target object, while the static information display corresponds to the static target object.
[0205] For each display control unit, it can include: a command monitoring device 820 and an animation control device 830.
[0206] In step S720, for example, through the command monitoring device 820, the corresponding control command can be monitored. That is, monitor the control command for the target object controlled by this display control unit.
[0207] In step S730, for example, the animation control device 830 can respond to the monitored control command and perform a corresponding information display control operation on the display control unit.
[0208] In this way, not only can the display control unit such as the animation instance be used to control the animation presentation (dynamic information display) of the dynamic target object, but also the display control unit such as the instance can be used to control the static information display of the static target object.
[0209] In some scenarios, both dynamic target objects and static target objects may be involved at the same time. In this way, the same form of display control unit can be used to control the information display of different types of target objects.
[0210] In other words, for the information display of various types of target objects, whether they are dynamic objects or static objects, corresponding to dynamic information or static information, and whether they are displayed in a dynamic manner or a static manner, the solution of the present application can be adopted, and the display control unit such as the instance can be used to control the information display of the target object.
[0211] The information display control solution of the present application can be applied to the presentation of target objects on various data presentation screens.
[0212] For example, this control solution can be used for the traffic data presentation of a smart city.
[0213] There are various objects on the road and on the roadside, such as roadside buildings, traffic signs, signal lights, vehicles, pedestrians, etc., which respectively correspond to various data, such as position, size, speed, status, etc. Some target objects may be static, and some target objects may be dynamic.
[0214] For various target objects, the display control unit such as the instance can be adopted to control their information display according to the control solution of the present application.
[0215] For another example, this control solution can also be used for the display control of medical images.
[0216] In this case, the objects displayed on the screen can include the organs, viscera, blood vessels, etc. of the measured or treated person, and can also include the corresponding components of the detection or treatment equipment. In addition, outside the image area, there can also be parameter, status, and information presentation areas.
[0217] Some objects are static, or nearly static. For example, when the human body is fixed relative to the imaging device, some parts of the human body are static.
[0218] Some objects are dynamic. For example, some organs or viscera such as the heart are always beating, and blood vessels also vibrate with the heartbeat and pulse. There are also some objects such as probes or scalpels that move relative to the imaging device.
[0219] The positions of presentation objects such as parameters, states, and information on the screen often do not move, but their data or color and other information representations change over time. Such target objects can also use display control units such as instances to control their information display according to the control scheme of the present application.
[0220] Figure 9 The structural schematic diagram of a computing device that can be used to implement the data processing of the above control method according to an embodiment of the present invention is shown.
[0221] See Figure 9 , the computing device 900 includes a memory 910 and a processor 920.
[0222] The processor 920 can be a multi-core processor or can include multiple processors. In some embodiments, the processor 920 can include a general-purpose main processor and one or more special coprocessors, such as a graphics processing unit (GPU), a digital signal processor (DSP), and so on. In some embodiments, the processor 920 can be implemented using custom circuits, such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).
[0223] The memory 910 may include various types of storage units, such as system memory, read-only memory (ROM), and permanent storage devices. Among them, the ROM can store static data or instructions required by the processor 920 or other modules of the computer. The permanent storage device can be a readable and writable storage device. The permanent storage device can be a non-volatile storage device that does not lose the stored instructions and data even when the computer is powered off. In some embodiments, the permanent storage device employs a mass storage device (such as a magnetic or optical disk, flash memory) as the permanent storage device. In some other embodiments, the permanent storage device can be a removable storage device (such as a floppy disk, optical drive). The system memory can be a readable and writable storage device or a volatile readable and writable storage device, such as dynamic random access memory. The system memory can store some or all of the instructions and data required by the processor during operation. In addition, the memory 910 can include any combination of computer-readable storage media, including various types of semiconductor storage chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and magnetic disks and / or optical disks can also be used. In some embodiments, the memory 910 can include a removable storage device that is readable and / or writable, such as a compact disc (CD), read-only digital versatile disc (such as DVD-ROM, dual-layer DVD-ROM), read-only Blu-ray disc, super density disc, flash memory card (such as SD card, min SD card, Micro-SD card, etc.), magnetic floppy disk, and so on. Computer-readable storage media do not include carrier waves and instantaneous electronic signals transmitted wirelessly or by wire.
[0224] Processable code is stored on the memory 910, and when the processable code is processed by the processor 920, it can cause the processor 920 to execute the control method described above.
[0225] The control method and control device according to the present invention have been described in detail above with reference to the accompanying drawings.
[0226] In addition, the method according to the present invention can also be implemented as a computer program or computer program product, which includes computer program code instructions for performing the above-described steps defined in the above method of the present invention.
[0227] Alternatively, the present invention can also be implemented as a non-transitory machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium), on which executable code (or computer program, or computer instruction code) is stored. When the executable code (or computer program, or computer instruction code) is executed by a processor of an electronic device (or computing device, server, etc.), it causes the processor to execute each step of the above method according to the present invention.
[0228] Those skilled in the art will also understand that the various exemplary logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein can be implemented as electronic hardware, computer software, or a combination of both.
[0229] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems and methods according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent a module, a segment of code, or a part thereof that contains one or more executable instructions for implementing the specified logical function. It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the figures. For example, two consecutive blocks may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or by a combination of dedicated hardware and computer instructions.
[0230] The embodiments of the present invention have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The choice of terms used herein is intended to best explain the principles of the embodiments, the practical application, or the improvement of technologies in the market, or to enable other ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. An animation control method, characterized in that, include: Creating at least one animation instance, wherein the animation instance is used to control the animation of a target object, wherein one animation instance controls the animation of a subset of target objects; The animation instance monitors control commands for the animation it controls; and In response to monitoring the control command, the animation instance performs a control operation corresponding to the control command on the animation controlled by it; Constructing multiple animation instance chains for multiple animation instances, wherein the multiple animation instances in each animation instance chain are respectively used to control the animations of multiple target object subsets; the end of one animation instance in the animation instance chain triggers the start of the next animation instance immediately thereafter; and the animation instance in one animation instance chain can control the animation instance in another animation instance chain; According to the desired association relationship between the first animation and the second animation, an association is established between a first animation instance that controls the first animation and a second animation instance that controls the second animation, so that when the first animation reaches a predetermined state, the first animation instance triggers the second animation instance to control the second animation; the first animation instance and the second animation instance run in parallel and belong to different animation instance chains.
2. The method according to claim 1, characterized in that, The control command includes at least one of the following: A start play command, wherein the animation instance responds to the start play command to start playing the animation controlled by the animation instance; A restart play command, wherein the animation instance responds to the restart play command to restart the animation controlled by the animation instance; A pause play command, wherein the animation instance responds to the pause play command so that the animation controlled by the animation instance enters a pause state; A resume play command, wherein the animation instance responds to the resume play command so that the animation controlled by the animation resumes the play state; The end play command, in response to the end play command, ends the play of the animation controlled by the animation instance.
3. The method according to claim 2, characterized in that, Also includes: The animation instance obtains state information of the animation of the target object subset.
4. The method according to claim 3, characterized in that, Also includes: In response to the end of the animation playing, the animation instance controlling the animation destroys the state information of the animation saved by the animation instance.
5. The method according to claim 3, characterized in that, Also includes: When the animation enters the paused state, the animation instance that controls the animation saves the current state information of the animation; In response to the resume play command, the animation instance reads the state information saved when it previously entered the pause state, and resumes the play state of the animation it controls according to the state information.
6. The method according to claim 5, characterized in that, When an animation enters the paused state, only the current state information of the animation is saved, but the animation itself generated based on the data of the target object subset is not saved.
7. The method according to claim 1, characterized in that, The animation instance chain is constructed for animations of multiple target object subsets having a temporal relationship.
8. The method according to claim 1, characterized in that, Use independent animation instances to control the animation of unrelated subsets of target objects.
9. The method according to claim 1, characterized in that, Also includes: Assigning the animation instance the animation it controls; and / or In response to the animation it controls ending, the animation instance is destroyed, or the association between the animation instance and the animation it previously controlled is released so that a new animation can be assigned to it.
10. The method according to any one of claims 1 to 9, characterized in that, The target object subset corresponds to data, and the animation of the target object subset is based on changes in the data.
11. The method according to any one of claims 1 to 9, characterized in that, The subset of target objects is the smallest granularity subset of target objects presented in an animated manner.
12. The method according to any one of claims 1 to 9, characterized in that, This method is implemented using a browser.
13. The method according to any one of claims 1 to 9, characterized in that, This method is used for the animated presentation of target objects on a data presentation screen.
14. The method according to any one of claims 1 to 9, characterized in that, Animated presentations of multiple subsets of target objects are presented on the screen, and different animation instances are used to control the animations of each subset of target objects.
15. A method for controlling an animation on a data presentation screen, characterized in that, The data presentation screen is used for visualizing data, and the method includes: Creating at least one animation instance, where the animation instance is used to control the animation of target objects on the data presentation screen, and one animation instance controls the animation of one subset of target objects; The animation instance listens for control commands for the animation it controls; and In response to listening to the control command, the animation instance performs a control operation corresponding to the control command on the animation it controls; Constructing multiple animation instance chains for multiple animation instances, where multiple animation instances in each animation instance chain are respectively used to control the animations of multiple subsets of target objects; the end of one animation instance in the animation instance chain triggers the start of the next animation instance immediately following it; and an animation instance in one animation instance chain can control an animation instance in another animation instance chain; Establishing an association between a first animation instance controlling a first animation and a second animation instance controlling a second animation according to the desired association relationship between the first animation and the second animation, such that when the first animation reaches a predetermined state, the first animation instance triggers the second animation instance to control the second animation; the first animation instance and the second animation instance run in parallel and belong to different animation instance chains.
16. An animation control device, characterized in that, Including: A creating device for creating at least one animation instance, where the animation instance is used to control the animation of target objects, and one animation instance controls the animation of one subset of target objects, For each animation instance, it further includes: A listening device for listening for control commands for the animation controlled by the animation instance; A control device that, in response to listening to the control command, performs a control operation corresponding to the control command on the animation controlled by the animation instance; A chain constructing device for constructing multiple animation instance chains for multiple animation instances, where multiple animation instances in each animation instance chain are respectively used to control the animations of multiple subsets of target objects; the end of one animation instance in the animation instance chain triggers the start of the next animation instance immediately following it; and an animation instance in one animation instance chain can control an animation instance in another animation instance chain; Establishing an association between a first animation instance controlling a first animation and a second animation instance controlling a second animation according to the desired association relationship between the first animation and the second animation, such that when the first animation reaches a predetermined state, the first animation instance triggers the second animation instance to control the second animation; the first animation instance and the second animation instance run in parallel and belong to different animation instance chains.
17. A computing device, comprising: A processor; And A memory storing executable code which, when executed by the processor, causes the processor to perform the method according to any one of claims 1 to 15.
18. A non-transitory machine-readable storage medium having executable code stored thereon, which when executed by a processor of an electronic device, causes the processor to execute the method according to any one of claims 1 to 15.
19. A computer program product comprising computer-executable instructions which, when executed by a processor of an electronic device, cause the processor to execute the method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Animation playing control method, device and equipment and storage medium
CN109739648A
System supporting animation of graphical display elements through animation object instances
CN1689046A
Coordinating animations and media in computer display output
CN1776672A