Generate an animated infographic from a static infographic

By extracting visual elements of static infographics and determining their structure and layout, and applying dynamic effects to elements based on these structures, the complex problems of animation infographic design and production process are solved, and efficient animation infographic generation is achieved.

CN113870392BActive Publication Date: 2025-06-20MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010622542.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-30
Publication Date
2025-06-20
Estimated Expiration
2040-06-30

AI Technical Summary

Technical Problem

The design and production process of animated infographics is complicated and requires a lot of time to control the movement of multiple visual elements, resulting in inefficiency.

Method used

Animated infographics are generated by extracting visual elements of static infographics, determining their structure and layout, and applying dynamic effects to the elements based on these structures.

Benefits of technology

The design and production process of animation infographics is simplified, efficiency is improved, production time is reduced, and animation infographics can be generated quickly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113870392B_ABST
    Figure CN113870392B_ABST
Patent Text Reader

Abstract

Multiple implementations of the present disclosure relate to generating an animated infographic from a static infographic. A computer-implemented method includes: extracting visual elements of the static infographic; determining, based on the visual elements, a structure of the static infographic, the structure at least indicating a layout of the visual elements in the static infographic; and applying a dynamic effect to the visual elements based on the structure of the static infographic to generate an animated infographic.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] An animated information graph displays ideas in a logical and easily understandable form, with many advantages such as rich content, beauty, and vividness. However, the design of an animated information graph involves various creative means and requires great effort. Creating a beautiful animated information graph requires controlling the movement of a large number of visual elements. For example, designers usually use general video creation tools or visualization and animation code libraries when creating an animated information graph. Completing a few seconds of an animated information graph may take hours, days, or even weeks. Summary of the Invention

[0002] According to multiple implementations of the present disclosure, a solution for generating an animated information graph from a static information graph is provided. A computer-implemented method includes: extracting visual elements of the static information graph; determining, based on the visual elements, a structure of the static information graph, the structure at least indicating a layout of the visual elements in the static information graph; and applying a dynamic effect to the visual elements based on the structure of the static information graph to generate an animated information graph.

[0003] The Summary of the Invention section is provided to introduce a selection of concepts in a simplified form, which will be further described in the Detailed Description below. The Summary of the Invention section is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Brief Description of the Drawings

[0004] Figure 1 A block diagram of a computing device capable of implementing multiple implementations of the present disclosure is shown;

[0005] Figure 2 A schematic diagram of the architecture of a conversion module according to some implementations of the present disclosure is shown;

[0006] Figures 3 - 10 A schematic diagram of extracting the structure of a static information graph according to some implementations of the present disclosure is shown;

[0007] Figures 11 - 13 A schematic diagram of an animation sequence according to some implementations of the present disclosure is shown;

[0008] Figures 14 - 16 A schematic diagram of a time arrangement according to some implementations of the present disclosure is shown; and

[0009] Figure 17 A flowchart of a conversion method according to some implementations of the present disclosure is shown.

[0010] In these drawings, the same or similar reference signs are used to denote the same or similar elements. Detailed Description of the Invention

[0011] The present disclosure will now be described with reference to several example implementations. It should be understood that these implementations are described only to enable a person of ordinary skill in the art to better understand and thus implement the present disclosure, and do not imply any limitation on the scope of the subject matter.

[0012] As used herein, the term "comprising" and its variants are to be construed as open-ended terms meaning "including but not limited to". The term "based on" is to be construed as "at least partially based on". The terms "one implementation" and "an implementation" are to be construed as "at least one implementation". The term "another implementation" is to be construed as "at least one other implementation". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included hereinafter.

[0013] The basic principles and several example implementations of the present disclosure will be described below with reference to the accompanying drawings. Figure 1 A block diagram of a computing device 100 capable of implementing multiple implementations of the present disclosure is shown. It should be understood that Figure 1 the computing device 100 shown is merely exemplary and should not constitute any limitation on the functions and scope of the implementations described in the present disclosure. As Figure 1 shown, the computing device 100 includes a computing device 100 in the form of a general-purpose computing device. The components of the computing device 100 may include, but are not limited to, one or more processors or processing units 110, a memory 120, a storage device 130, one or more communication units 140, one or more input devices 150, and one or more output devices 160.

[0014] In some implementations, the computing device 100 may be implemented as various user terminals or service terminals having computing capabilities. The service terminal may be a server, a large computing device, etc. provided by various service providers. The user terminal may be any type of mobile terminal, fixed terminal, or portable terminal, including mobile phones, stations, units, devices, multimedia computers, multimedia tablets, Internet nodes, communicators, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / cameras, positioning devices, television receivers, radio broadcast receivers, e-book devices, gaming devices, or any combination thereof, including accessories and peripherals of these devices or any combination thereof. It is also foreseeable that the computing device 100 can support any type of user interface (such as "wearable" circuits, etc.).

[0015] The processing unit 110 can be an actual or virtual processor and is capable of performing various processes according to programs stored in the memory 120. In a multi-processor system, multiple processing units execute computer-executable instructions in parallel to enhance the parallel processing ability of the computing device 100. The processing unit 110 can also be referred to as a central processing unit (CPU), microprocessor, controller, or microcontroller.

[0016] The computing device 100 generally includes multiple computer storage media. Such media can be any accessible media available to the computing device 100, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 120 can be volatile memory (such as registers, caches, random access memory (RAM)), non-volatile memory (such as read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The memory 120 can include transformation modules 122, and these program modules are configured to perform the functions of various implementations described herein. The transformation modules 122 can be accessed and run by the processing unit 110 to implement the corresponding functions.

[0017] The storage device 130 can be removable or non-removable media and can include machine-readable media that can be used to store information and / or data and can be accessed within the computing device 100. The computing device 100 can further include additional removable / non-removable, volatile / non-volatile storage media. Although not shown in Figure 1 a disk drive for reading from or writing to a removable, non-volatile disk and an optical disk drive for reading from or writing to a removable, non-volatile optical disk can be provided. In these cases, each drive can be connected to a bus (not shown) by one or more data media interfaces.

[0018] The communication unit 140 enables communication with other computing devices via a communication medium. Additionally, the functions of the components of the computing device 100 can be implemented in a single computing cluster or multiple computer machines that can communicate via a communication connection. Thus, the computing device 100 can operate in a networked environment using a logical connection with one or more other servers, personal computers (PCs), or another general network node.

[0019] The input device 150 can be one or more various input devices, such as a mouse, a keyboard, a trackball, a voice input device, etc. The output device 160 can be one or more output devices, such as a display, a speaker, a printer, etc. The computing device 100 can also communicate with one or more external devices (not shown) as needed through the communication unit 140. The external devices are such as a storage device, a display device, etc., communicate with one or more devices that enable a user to interact with the computing device 100, or communicate with any device (such as a network card, a modem, etc.) that enables the computing device 100 to communicate with one or more other computing devices. Such communication can be performed via an input / output (I / O) interface (not shown).

[0020] In some implementations, in addition to being integrated on a single device, some or all of the various components of the computing device 100 can also be arranged in the form of a cloud computing architecture. In the cloud computing architecture, these components can be remotely arranged and can work together to implement the functions described in the present disclosure. In some implementations, cloud computing provides computing, software, data access, and storage services, which do not require an end user to know the physical location or configuration of the system or hardware providing these services. In various implementations, cloud computing uses appropriate protocols to provide services over a wide area network (such as the Internet). For example, a cloud computing provider provides applications over a wide area network, and they can be accessed through a web browser or any other computing component. The software or components of the cloud computing architecture and the corresponding data can be stored on a server at a remote location. The computing resources in a cloud computing environment can be consolidated at a remote data center location or they can be dispersed. The cloud computing infrastructure can provide services through a shared data center, even though they appear as a single access point for users. Thus, the components and functions described herein can be provided from a service provider at a remote location using a cloud computing architecture. Alternatively, they can be provided from a conventional server, or they can be directly or otherwise installed on a client device.

[0021] The computing device 100 can be used to implement a solution for generating a dynamic information graph from a static information graph according to multiple implementations of the present disclosure. The computing device 100 can receive input data, such as a static information graph, etc., through the input device 150. Optionally, the computing device 100 can also receive an operation of the user on the static information graph or the information obtained from the static information graph through the input device 150. The conversion module 122 can process the input data (such as a static information graph) to obtain corresponding output data, such as an animated information graph, etc. The output data can be provided to the output device 160 and provided to the user, etc., as the output 180.

[0022] Figure 2A schematic diagram showing the structure of the conversion module 200 according to some implementations of the present disclosure. The conversion module 200 may be implemented in the conversion module 122 as shown in Figure 1 or may be implemented in any other suitable environment, for example, at least partially implemented in the cloud.

[0023] In the conversion module 200, first, a static information graph 202 is obtained. The static information graph may be in the form of a graphic design file, for example, in the format of a vector graph, such as svg, psd, ppt, etc. The static information graph 202 may include various visual elements, for example, text boxes, icons, shapes, etc. For the format of the vector graph, the static information graph 202 may be parsed into visual elements (such as text boxes, shapes, and icons, etc.) and their attributes (such as position, color, and size, etc.) according to the metadata of the vector graph (such as tags, etc.). In one example, the structured data in the vector graph may be converted into data representing the structure of the information graph, etc. For example, in an svg file, the shape tags (such as <rect> 、 <ellipse>) and general tags (e.g., <path>Labels) are converted into data representing different types of shapes and text.

[0024] Figure 3 FIG. 300 is a schematic diagram of a static information graph according to some implementations of the present disclosure. The static information graph 300 includes six repeating units 301-306, and these repeating units display different mathematical symbols. For example, the repeating unit 301 includes a unit icon "=", a unit title "etc.", a unit index "01", and a unit background with a slash. These repeating units have a similar structure and are connected to the title "Mathematical Symbols" (global text box) through corresponding connectors. The visual elements in the static information graph 300 include text boxes, shapes, and icons. For example, in the repeating unit 301, the unit icon "=" is an icon, the unit title "etc." is a text box, the unit index "01" is a text box, and the unit background is a shape.

[0025] Return Figure 2 , the information graph structure inference 204 infers the structure of the static information graph 202 based on the extracted visual elements, and this structure at least indicates the layout of the visual elements in the static information graph 202. In addition, the structure of the static information graph 202 can also include the roles or functions of the visual elements in the static information graph 202, for example, titles, bodies, decorations, etc. The following will be combined with Figures 4 - 10 to introduce how to identify and infer the structure of the static information graph 202.

[0026] In some implementations, the structure of an information graph can include the layout of icons, shapes, and text, and most information graphs contain repeating units with similar designs. In some information graphs, the repeating units are placed in specific positions to imply the relationships between these units. In other information graphs, connectors are used to connect these units to represent the relationships between these units. Some information graph designs include indexes (such as numbers 1, 2, 3, etc.) to indicate the order of each unit, while many information graph designs do not include indexes. Some repeating units in information graphs contain a title with the largest font size, while other repeating units in information graphs contain multiple text boxes with the same font size. Therefore, automatically identifying and inferring the structure of an information graph poses many technical challenges.

[0027] In some implementations, a bottom-up approach is used to solve the above problems. For example, the structure of an information graph is identified from the perspective of atomic visual elements. For example, start by looking for repeating (similar) elements used to construct repeating units. Then, organize these elements into repeating units and determine the structure of the information graph based on these units. Then, semantic labels and layout labels are added to the information graph to complete the structure inference, thereby achieving flexible animation arrangements.

[0028] The visual elements in infographic design form different infographic components. For the main structure of an infographic constructed using repeating units, the elements in the unit can be identified first. These units are usually designed to have the same (or similar) elements and repeat in the infographic to enhance the visual effect, which can serve as the anchor points of the repeating units.

[0029] In some infographics, the visual elements of the repeating units are not exactly the same. For example, corresponding shapes may have the same dimensions but different colors; corresponding text boxes may have different contents, lengths, but the same font. Identifying these visual elements requires considering different similarity metrics. Additionally, the number of similar elements may be different from the number of units. For example, for an infographic containing 5 units, there may be a total of 10 circles in the infographic, with two circles in each unit; or, since the title text box uses the same font size and style as the unit text box, the title text box is considered similar to the unit text box, resulting in the number of identified similar elements being greater than the number of units.

[0030] In some implementations, the elements most likely belonging to the repeating units can be determined first. For example, similar elements can be grouped, and the group with the highest frequency of the number of elements can be determined. For example, given an element, search for all other elements in the infographic to find elements similar to this element, or elements with a similarity greater than a threshold. If there are similar elements, the similar elements are grouped into the same group. If there are no similar elements, the element is grouped into a new group. After grouping all the elements in the infographic, stop the process and calculate the number of elements in each group, and take the number of elements with the highest frequency as the number of repeating units. In other words, for an infographic with n (n>2) units, the group with the number of elements n has the highest occurrence probability, that is, more visual elements with repeated designs are grouped into the group of size n; while the group with the number of elements m (m>2, m≠n) has a lower occurrence frequency, that is, fewer visual elements with repeated designs are grouped into the group of size m.

[0031] Figure 4 A schematic diagram showing the identified similar elements 400 according to some implementations of the present disclosure is shown. As Figure 4 shown, the similar element 411 represents the shape of the outer contour corresponding to the respective visual elements 301 - 306 in Figure 3 among the visual elements 401 - 406, and the number thereof is 6; the similar element 412 represents the element of the text box corresponding to the respective visual elements 301 - 306 in Figure 3 among the visual elements 401 - 406, and the number thereof is 6; the similar element 413 represents the corresponding to Figure 3 The elements of the icons in the corresponding visual elements 301-306 therein, the number of which is 6; the similar element 414 represents the elements corresponding to the indices in the visual elements 401-406 corresponding to Figure 3 The elements of the indices in the corresponding visual elements 301-306 therein, the number of which is 6; the similar element 415 represents the connectors in the visual elements 401-406, the number of which is 6; the similar element 416 represents the connection points in the visual elements 401-406, the number of which is 12; the similar element 417 represents the elements corresponding to Figure 3 The elements of the text box in the visual element 307 therein, the number of which is 1; and the similar element 418 represents the elements corresponding to Figure 3 The elements of the circular shape in the visual element 307 therein, the number of which is 1. It can be seen that the number of elements in 5 groups is 6, the number of elements in 1 group is 12, and the number of elements in 2 groups is 2. Therefore, the most frequent number of elements is 6 (frequency is 5), and thus the number of repeating units is 6.

[0032] In some implementations, in order to identify similar elements, different strategies or different similarity metrics can be used for different element types. For example, static infographics usually contain three types of visual elements: shapes, text boxes, and icons. The height and width of the visual elements can be extracted. For shapes, their paths can be extracted, and the paths of the shapes can be further classified into basic shapes, such as circles, matrices, etc. The shape similarity between two visual elements can be measured by shape type, width and height, color, fill pattern, etc. For text boxes, the font of the text inside the text box can be extracted. Since the text lengths of different units may be different, the similarity of the text boxes can be measured by the font and the width of the text box (if there are multiple lines of text). It should be understood that any other suitable similarity metric can also be used.

[0033] After extracting multiple groups of n similar visual elements, repeating units can be constructed from the similar elements. For example, these visual elements can be divided into units based on the principle of regularity. Generally speaking, the elements are arranged in a regular manner between the units because designers usually avoid the crossing of related elements and irregular intervals. In some implementations, repeating units can be constructed according to one or more of the color scheme, similar layout, and element proximity.

[0034] For example, elements between different units can adopt the same or similar color schemes. Therefore, elements with similar colors or color combinations can be grouped into different units respectively. Then, these elements can be used as the anchors for these units to assign other elements without color coding to the units. Alternatively, elements within each unit can adopt the same or similar color schemes. Therefore, elements with similar colors or color combinations can be grouped into one unit, and elements with different color combinations can be grouped into different units.

[0035] In some examples, for each identified repeated element, the layout of the element can be determined in a group of similar elements. If the layouts of different groups are the same, the unit construction can be performed according to the coordinate positions of each element. For example, if all elements are horizontal, the elements can be sorted according to the horizontal positions and placed into each unit one by one.

[0036] In some examples, repeated units can be constructed based on element proximity. For example, the information graphic design without a standard layout usually enhances the user's perception by means of proximity, that is, the elements within one unit are more likely to be placed close to each other. Therefore, repeated units can be constructed based on element proximity. For example, starting from a group of similar elements, the elements of the corresponding unit can be increased by searching for the elements closest to the corresponding unit within other groups.

[0037] In some implementations, the anchor points for the repeated units in the visual elements can be determined, and starting from the anchor points, the visual elements in the visual elements with a similarity greater than the threshold to the anchor points can be added to the repeated units represented by the anchor points. The similarity can be based on the similarity of color schemes, layouts, and / or proximities. In a specific example, the repeated units can be constructed successively according to the similarities of color schemes, layouts, and proximities.

[0038] In the example as Figure 5 shown, the group of similar elements 500 includes elements 501 - 506, and these elements can be used as anchor points to construct repeated units. In the elements 600 as Figure 6 shown, according to the element proximity, all other elements with the number of 6 are added to the corresponding repeated units to form repeated units 601 - 606. In an example, the element regularity between units can be further utilized to avoid incorrect grouping. For example, the standard deviation of the distances between the current unit and the newly added elements can be calculated. The standard deviation should be lower than the threshold to avoid incorrect grouping.

[0039] In some implementations, elements in a group of similar elements with a number greater than n may be omitted from the unit. In one example, there are n + 1 similar text boxes in a group of similar elements, where n text boxes belong to n repeating units and 1 text box is a global text box. In another example, each unit uses 2 similar decorative shapes, resulting in a group of size 2n. In such cases, the missing elements can be added using the above strategy with the existing units as anchors. For example, these elements can be placed into the repeating units according to color, layout, and / or proximity.

[0040] As Figure 3 shown, assume that the unit text boxes of units 301 - 306 and the global text box "mathematical symbols" are all recognized as text boxes as a group of similar elements, without being distinguished into two different groups of similar elements, 412 and 417 as Figure 4 shown. The number of text boxes within this group of similar elements is 7 = 6 + 1, where 6 text boxes belong to 6 repeating units and 1 text box is a global text box. In such cases, the existing units as Figure 5 shown can be used as anchors, and these text boxes can be placed into the repeating units according to color, layout, and / or proximity. For example, in this example, the unit text boxes can be placed into the repeating units according to proximity, leaving the global text box.

[0041] For example, an endpoint of a connector can be added to an element 600 as Figure 6 shown to form an element 700 as Figure 7 shown. As Figure 4 shown, the number of similar elements 416 that are endpoints of the connector is 12 = 6 × 2. In this example, these elements can be placed into the corresponding repeating units according to proximity to form units 701 - 706 as Figure 7 shown.

[0042] In some implementations, after identifying the repeating units, the layout of the information graph can be further determined based on the repeating units, and the connectors in the information graph can be determined. For example, common layouts include linear layout, radial layout, segmented layout, and free - form layout. In a linear layout, each unit has the same form and forms a straight line, for example, a horizontal line, a vertical line, or a diagonal line, etc. In a radial layout, each unit is placed together to form an arc or a circle. In a segmented layout, each unit is arranged in a "zigzag" or saw - tooth pattern and can be set in a horizontal, vertical, or diagonal direction. In a free - form layout, each unit is not arranged in a regular pattern. For example, each unit can be arranged along a free - form curve.

[0043] In some examples, the layout of an infographic can be classified according to the positions of the repeating units. If the infographic belongs to one of the layouts, these repeating units are connected into a sequence. Then, the connectors can be further searched for by looking at other visual elements within the area between two adjacent units. If the determined layout is a free-form layout, the relationships between the individual units can be further clarified based on the connectors. A connector is a special type of repeating unit. To identify a connector, visual elements in the shape of a straight line, an arrow, or other shapes indicating a connection relationship located between any two units can be searched for. After identifying the units and connectors, they can be constructed into an infographic structure.

[0044] In some examples, the order of the units can be inferred from the text content of the text boxes. For example, if there is an index (such as 1, 2, 3, etc.), the index order can be followed. If there is a connector with a direction such as an arrow, the units can be traversed in the direction of the connector. If such content is not found in the infographic, the reading order (such as from left to right, from top to bottom, clockwise, counterclockwise, etc.) can be used to determine the unit order.

[0045] Figure 8 A schematic diagram of layout recognition according to some implementations of the present disclosure is shown. Based on the positions of units 801 - 806, it can be determined that the layout of this infographic is a radial layout. In layout 800, the text content identified from units 801 - 806 respectively contains indices 01 - 06. Therefore, the order between the individual units can be determined according to the index order, that is, the clockwise order, as Figure 8 shown.

[0046] After constructing the structure of the infographic, semantic labels can be added to the infographic components based on heuristic rules to indicate the roles of the elements in the infographic, thereby enabling flexible animation arrangements. For example, semantic labels can be added to elements other than the repeating units and connectors as infographic components at the global level, such as titles, descriptions, backgrounds, bodies, and footnotes. For example, a text box with the largest font size close to the canvas boundary can be designated as the infographic title; the visual element with the lowest z - order (where the z - order represents the display hierarchy of the element in the window, and the larger the value of the z - order, the higher the display level) can be designated as the background; and a text box with a smaller font size at the bottom of the canvas can be designated as a footnote. For the visual elements within a unit, semantic labels can also be added. For example, the elements within a unit can include a unit title, a unit icon, a unit background, etc.

[0047] Figure 9 and Figure 10 shows an example of how to add semantic labels, where element 900 includes repeating units 901 - 906 and visual element 907, and Figure 10 shows Figure 9 Specific examples of the repeating unit 902 and the visualization element 907 in Figure 10 As shown, element 1002 is the background, element 1004 is the title, element 1006 is the unit background, element 1008 is the unit title, element 1010 is the unit index, and element 1012 is the unit icon.

[0048] Now return Figure 2 , the infographic structure inference 204 can output a body (e.g., text) with structural information and can identify other components such as titles, footnotes, and backgrounds. Using this information, an animation layout 206 can be performed. The animation layout 206 applies dynamic effects to the visualization elements, e.g., arranging an animation sequence, applying staging, applying animation effects, etc. The animation sequence represents the chronological order of presenting the visualization elements, and the staging indicates the way for hierarchical presentation of the visualization elements, e.g., how to hierarchically arrange these elements and / or which elements are presented simultaneously.

[0049] In some implementations, the animation sequence can be arranged based on the reading order. For example, the infographic components in an infographic design may not have clear dependencies or logical order. In this case, the animation sequence can be arranged according to the reading order (e.g., from left to right, from top to bottom, clockwise or counterclockwise). In other implementations, the animation sequence can be arranged based on semantic tags. For example, some designs adopt a semantic order, e.g., the title appears first, followed by the subtitle. The footnotes appear at the end. This method is more preferable for infographics with unclear layout patterns. Based on semantic tags, it is easy to adjust the content order. It should be understood that any other suitable animation sequence can be used in addition to the above animation sequences.

[0050] Inside the body, an animation sequence can also be assigned. For example, the infographic structure inference 204 can determine the body structure of the infographic. For example, for an infographic with explicit order cues such as indexes and arrows, the original order of the infographic can be followed. For an infographic without a specific order, the reading order can also be used. A special structure of the infographic is the parallel structure, which means that all the units are not ordered. For example, these units can be evenly arranged from top to bottom and are not connected to each other. For example, two element arrangement methods can be provided: unit-first and group-first. In the unit-first, the unit relationships of the elements are prioritized, where the units are displayed one by one, and the elements in the unit tend to appear together. In the group-first, the corresponding elements between the units are prioritized, and similar elements are displayed together. For example, all unit titles can appear first, and all unit descriptions can appear subsequently. Figures 11 - 13 Shows different examples of the animation sequence, where Figure 11 Shows an example of simultaneous display, where three units are displayed simultaneously; Figure 12 Shows an example of unit priority, where three units are displayed sequentially; and Figure 13 Shows an example of group priority, where three groups are displayed sequentially.

[0051] In some implementations, animations can be arranged according to the semantic hierarchy of the infographic components. Displaying all animations one after another may become scattered and chaotic, while displaying animations simultaneously may be difficult to capture and understand. A time arrangement strategy can be used to combine animations into multiple stages. For example, components can be graded, and visual elements at one level will be displayed together. The title, footnote, and description of the infographic can be displayed at the same level. Within the body of the infographic, elements within a unit can be considered as one level and displayed simultaneously.

[0052] Figures 14 - 16 Shows three ways of animating arrangements, where Figure 14 Shows an example of simultaneous playback or simultaneous presentation; Figure 15 Shows an example of playback one after another or presentation one by one; Figure 16 Shows an example of staggered playback or staggered presentation, where all animations start playing at different times, and each animation overlaps with the previous one for a period of time. The choice of animation arrangement may depend on the number of elements and the complexity of the unit. In one example, infographic components such as titles and footnotes can be set to "one after another"; for the main structure of the infographic, repeating units are displayed in a "staggered" manner; within each repeating unit, elements are displayed as "all at once".

[0053] In some implementations, an animated infographic can be generated by a machine learning model (e.g., a decision tree model) to apply dynamic effects to visual elements. In one example, a decision tree model is trained on a dataset of visual elements, with attributes such as the width, height, shape, and layout (e.g., the positional relationship between elements and connectors) of each element as input, and dynamic effects such as fade out, appear, scale, erase, fly in, fly out, etc. and their directions as output. For example, the decision tree can recommend one or more dynamic effect options for each visual element within a unit. It should be understood that any other suitable model (e.g., a neural network model) can also be used to generate an animated infographic.

[0054] Designers can choose dynamic effects based on various factors such as semantic structure, element shape, aspect ratio, or personal preference. For this purpose, in some examples, multiple dynamic effect options can be provided for users to choose from. Depending on the flexibility of the animation design environment, more dynamic effects can be adopted to provide more animation design choices.

[0055] Now return Figure 2 The outputs of the infographic structure inference 204 and the animation layout 206 are the abstract specifications of the infographic design. The infographic design is organized into a hierarchical structure composed of visual elements. Animations can be applied to each visual element. For each animation, the delay (start time), duration, effect type, and effect direction can be described.

[0056] In the animation composition 208, according to different applications, the extracted infographic specifications are converted into supported animation types and synthesized into an animated infographic 210. For a static infographic 202, multiple animated infographics 210 can be determined and presented to the user for the user to select. Alternatively, only one optimal animated infographic 210 can be provided to the user.

[0057] Figure 2 A designer 212 is also shown, who can adjust the infographic structure inference 204 and the animation layout 206 through a design user interface (UI) 214. For example, the designer 212 can select the inference criteria in the infographic structure inference 204, such as the criteria for identifying repeating units. Additionally, the designer 212 can modify the intermediate results in the infographic structure inference 204, such as adding, modifying, and deleting semantic tags, etc. In this way, the designer 212 can correct the inference results. In some examples, the designer 212 can select the criteria, animation effects, etc. in the animation layout 206, thereby reflecting the preferences of the designer 212.

[0058] Figure 17 A flowchart of a method 1700 for converting a static infographic into a dynamic infographic according to some implementations of the present disclosure is shown. The method 1700 can be implemented in a conversion module 122 as shown in Figure 1 and can also be implemented in any other suitable architecture.

[0059] In block 1702, the visual elements of the static infographic are extracted. For example, the static infographic can be a vector graphic or a vector file. Therefore, the visual elements of the static infographic can be extracted based on the metadata or structured data in the vector file.

[0060] In block 1704, based on the visual elements, the structure of the static infographic is determined, and the structure at least indicates the layout of the visual elements in the static infographic. For example, the structure of the static infographic can be determined by the infographic structure inference 204 as shown in Figure 2 shown.

[0061] In some implementations, determining the structure of the static information graph includes: identifying repeating units of the visualization elements; and determining the layout of the visualization elements in the static information graph based on the repeating units.

[0062] In some implementations, method 1700 further includes: adding semantic tags indicating the roles of the visualization elements to the visualization elements.

[0063] In some implementations, determining the repeating units includes: dividing the visualization elements into multiple groups based on the similarity between the visualization elements; and determining the number with the highest frequency among the numbers of visualization elements within the multiple groups as the number of the repeating units.

[0064] In some implementations, determining the repeating units includes: determining the repeating units based on at least one of the color scheme, layout, and proximity of the visualization elements.

[0065] In some implementations, determining the repeating units includes: determining the anchor points for the repeating units in the visualization elements; and adding the visualization elements with a similarity greater than a threshold to the repeating units represented by the anchor points.

[0066] In some implementations, determining the layout includes: determining the layout based on the positions of the repeating units; and determining the connectors between the repeating units based on the visualization elements located between the repeating units.

[0067] In block 1706, apply dynamic effects to the visualization elements based on the structure of the static information graph to generate an animated information graph. For example, an animated information graph can be generated through an animated arrangement 206 as shown in Figure 2 Figure 206.

[0068] In some implementations, applying the dynamic effects includes at least one of the following: specifying an animation sequence for the visualization elements, where the animation sequence indicates the chronological order of presenting the visualization elements; specifying a temporal arrangement for the visualization elements, where the temporal arrangement indicates the way of presenting the visualization elements in groups; and applying animation effects to the visualization elements.

[0069] In some implementations, determining the animation sequence includes at least one of the following: determining the animation sequence of the visualization elements based on the reading order; and determining the animation sequence of the visualization elements based on the semantic tags of the visualization elements.

[0070] In some implementations, the temporal arrangement is one or more selected from the following: presenting one by one, presenting simultaneously, and presenting alternately.

[0071] Some example implementations of the present disclosure are listed below.

[0072] In a first aspect, the present disclosure provides a computer-implemented method. The method includes: extracting visual elements of a static information graph; determining a structure of the static information graph based on the visual elements, the structure at least indicating a layout of the visual elements in the static information graph; and applying a dynamic effect to the visual elements based on the structure of the static information graph to generate an animated information graph.

[0073] In some implementations, determining the structure of the static information graph includes: identifying a repeating unit of the visual elements; and determining a layout of the visual elements in the static information graph based on the repeating unit.

[0074] In some implementations, the method further includes adding semantic labels indicating roles of the visual elements to the visual elements.

[0075] In some implementations, identifying the repeating unit includes: dividing the visual elements into multiple groups based on a similarity between the visual elements; and determining a number with the highest frequency among numbers of visual elements within the multiple groups as a number of the repeating unit.

[0076] In some implementations, identifying the repeating unit includes: determining the repeating unit based on at least one of a color scheme, a layout, and a proximity of the visual elements.

[0077] In some implementations, identifying the repeating unit includes: determining an anchor point for the repeating unit in the visual elements; and adding visual elements in the visual elements having a similarity greater than a threshold to the repeating unit represented by the anchor point.

[0078] In some implementations, determining the layout includes: determining the layout based on positions of the repeating units; and determining connectors between the repeating units based on visual elements located between the repeating units.

[0079] In some implementations, applying the dynamic effect includes at least one of the following: specifying an animation sequence of the visual elements, the animation sequence indicating a chronological order of presenting the visual elements; specifying a time arrangement of the visual elements, the time arrangement indicating a manner of presenting the visual elements in groups; and applying an animation effect to the visual elements.

[0080] In some implementations, determining the animation sequence includes at least one of the following: determining the animation sequence of the visual elements based on a reading order; and determining the animation sequence of the visual elements based on semantic labels of the visual elements.

[0081] In some implementations, the temporal arrangement is selected from one or more of the following: presented one by one, presented simultaneously, and presented alternately.

[0082] In a second aspect, the present disclosure provides an apparatus. The apparatus includes: a processing unit; and a memory coupled to the processing unit and containing instructions stored thereon, the instructions, when executed by the processing unit, causing the apparatus to perform the method in the first aspect of the present disclosure.

[0083] In a third aspect, the present disclosure provides a computer program product tangibly stored in a non-transitory computer storage medium and including computer-executable instructions that, when executed by a device, cause the device to perform the method in the first aspect of the present disclosure.

[0084] In a fourth aspect, the present disclosure provides a computer-readable storage medium having computer-executable instructions stored thereon that, when executed by a device, cause the device to perform the method in the first aspect of the present disclosure.

[0085] The functions described above herein can be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that can be used include: Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), Systems on Chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.

[0086] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program codes can be executed entirely on the machine, partially on the machine, executed partially on the machine as an independent software package and partially on a remote machine, or executed entirely on a remote machine or server.

[0087] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0088] Moreover, although the operations are depicted in a particular order, this should be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed to achieve the desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the present disclosure. Certain features described in the context of separate implementations can also be implemented combinatorially in a single implementation. Conversely, the various features described in the context of a single implementation can also be implemented separately or in any suitable sub-combination in multiple implementations.

[0089] Although the subject matter has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims.< / path> < / ellipse> < / rect>

Claims

1. A computer-implemented method, comprising: Extract the visual elements of a static information graph, where the static information graph is an image described in a graphic design file; Based on the visual elements, determine the structure of the static information graph, where the structure indicates the layout of the visual elements in the static information graph. Determining the structure of the static information graph includes: Identify visual elements that are similar to other visual elements; Based on the frequency of repetition of the visual elements, determine the number of repeating units; Based on the determined number of repeating units, construct repeating units; Based on the constructed repeating units, determine the layout of the visual elements in the static information graph; and Based on the structure of the static information graph, apply dynamic effects to the visual elements to generate an animated information graph.

2. The method according to claim 1, further comprising: Add semantic tags indicating the role of the visual elements to the visual elements.

3. The method according to claim 1, wherein determining the number of the repeating units comprises: Based on the similarity between the visual elements, divide the visual elements into multiple groups; And Determine the number with the highest frequency among the numbers of visual elements within the multiple groups as the number of repeating units.

4. The method according to claim 1, wherein identifying the visualization elements similar to other visualization elements comprises: Determine the similarity of the visual elements based on at least one of the color scheme, layout, and proximity of the visual elements.

5. The method according to claim 1, wherein determining the layout of the visualization elements further comprises: Determine an anchor point for a first repeating unit from the repeating units; Select visual elements whose similarity to the anchor point is greater than a threshold; And Add the selected visual elements to the first repeating unit associated with the anchor point.

6. The method according to claim 1, wherein determining the layout of the visualization elements comprises: Determine the layout based on the position of the repeating units in the static information graph; And Determine the connectors between the repeating units based on the visual elements located between the repeating units.

7. The method according to claim 1, wherein applying the dynamic effect comprises at least one of the following: Specifying an animation sequence of the visualization elements, the animation sequence indicating the chronological order of presenting the visualization elements; Specifying a temporal arrangement of the visualization elements, the temporal arrangement indicating a manner for hierarchically presenting the visualization elements; and Applying an animation effect to the visualization elements.

8. The method according to claim 7, wherein the animation sequence is determined by at least one of the following: Determining the animation sequence of the visualization elements based on the reading order; and Determine the animation sequence of the visualization element based on the semantic tags of the visualization element.

9. A device, comprising: Processing unit; And A memory, coupled to the processing unit and containing instructions stored thereon, which when executed by the processing unit cause the device to perform the following actions: Extract the visual elements of a static information graph, where the static information graph is an image described in a graphic design file; Based on the visual elements, determine the structure of the static information graph, where the structure indicates the layout of the visual elements in the static information graph. Determining the structure of the static information graph includes: Identify visual elements that are similar to other visual elements; Based on the frequency of repetition of the visual elements, determine the number of repeating units; Based on the determined number of repeating units, construct repeating units; Based on the constructed repeating units, determine the layout of the visual elements in the static information graph; and Based on the structure of the static information graph, apply dynamic effects to the visual elements to generate an animated information graph.

10. The device according to claim 9, wherein determining the number of the repeating units comprises: Based on the similarity between the visual elements, divide the visual elements into multiple groups; And Determine the number with the highest frequency among the numbers of visual elements within the multiple groups as the number of repeating units.

11. The device according to claim 9, wherein determining the layout of the visualization element further comprises: Determine an anchor point for a first repeating unit from the repeating units; Select visual elements whose similarity to the anchor point is greater than a threshold; And Add the selected visual elements to the first repeating unit associated with the anchor point.

12. A computer program product, the computer program product being stored in a computer storage medium and comprising computer-executable instructions, the computer-executable instructions causing the device to perform the following actions when executed by the device: Extract the visualization elements of a static information graph, the static information graph being an image described in a graphic design file; Based on the visualization elements, determine the structure of the static information graph, the structure indicating the layout of the visualization elements in the static information graph, wherein determining the structure of the static information graph comprises: Identify visual elements that are similar to other visual elements; Determine the number of repeating units based on the frequency of repetition of the visual elements; Construct repeating units based on the determined number of the repeating units; And Determine the layout of the visual elements in the static infographic based on the constructed repeating units; And Apply dynamic effects to the visual elements based on the structure of the static infographic to generate an animated infographic.

13. The computer program product according to claim 12, wherein the device further performs the following actions: Add a semantic tag indicating the role of the visualization element to the visualization element.

14. The computer program product according to claim 12, wherein determining the number of the repeating units includes: Classify the visual elements into multiple groups based on the similarity between the visual elements; And Determine the number with the highest frequency among the numbers of the visual elements in the multiple groups as the number of the repeating units.

15. The computer program product according to claim 12, wherein identifying a visualization element similar to other visualization elements includes: Determine the similarity of the visual elements based on at least one of the color scheme, layout, and proximity of the visual elements.

16. The computer program product according to claim 12, wherein determining the layout of the visualization element includes: Determine an anchor point for a first repeating unit from the repeating units; Select visual elements whose similarity to the anchor point is greater than a threshold; And Add the selected visual elements to the first repeating unit associated with the anchor point.

17. The computer program product according to claim 12, wherein determining the layout of the visualization element further includes: Determine the layout based on the position of the repeating units in the static infographic; And Determine connectors between the repeating units based on the visual elements located between the repeating units.

18. The computer program product according to claim 18, wherein applying the dynamic effect includes at least one of the following: Specify an animation sequence of the visualization element, the animation sequence indicating the chronological order of presenting the visualization element; Specify a temporal arrangement of the visualization element, the temporal arrangement indicating a way of hierarchically presenting the visualization element; and Apply an animation effect to the visualization element.

19. The computer program product according to claim 18, wherein the animation sequence is determined by at least one of the following: Determine the animation sequence of the visualization element based on the reading order; and Determine the animation sequence of the visualization element based on the semantic tag of the visualization element.

Citation Information

Patent Citations

  • Static definition of unknown visual layout positions

    CN102591644A

  • Controlling The Structure Of Animated Documents

    US20130132818A1