A method and apparatus for increasing the displayed detail of a tree structure

Abstract: A method and apparatus (Fig.1) for increasing the displayed detail of a tree structure (Fig.2). The present invention is for use on a computer controlled display system and provides for visualization of a tree structure so that a greater amount of the detail of the tree structure may be displayed in a display area. In the present invention, a tree structure is laid out (502) on a plane, and the surface about which the tree surface is to be warped is determined (503). Then the tree structure is warped (504) about an arbitrary surface for display (505). Such an arbitrary surface would include a surface defined by a parabola, a hyperbola or by the intersection of two lines. As a result, an increased number of nodes in each level of the tree can be displayed.

Description: The present invention relates generally to the field of information display, and in particular to the display of hierarchical information structures. It is well understood that information visualizations provide insights to the underlying data. For example, for any given set of information, new information regarding patterns or relationships can be obtained by looking at attributes of the information. It is often useful to view the attributes of the information in a hierarchical structure. However, a difficulty lies in displaying large hierarchical structures in a limited display area. EP-A-435,601 discloses a technique for displaying and manipulating three-dimensional representations of a tree structure which have rotating substructures. U-A-4,752,889 describes a graphic display that shows links between chunks of knowledge. The user, with mouse clicks, can obtain a display of links from a displayed chunk of knowledge to other chunks of knowledge, which are added to the display. Screen scrolling mechanisms allow movement from one area of the overall graph to another. EP-A-535,986 describes a method for centering a selected node of a node link structure along a centering line. The nodes are in rows, and each row extends across a centering line with links between nodes in adjacent rows. When a user requests a centering operation for an indicated node, a sequence of images is presented, each including a row that appears to be a continuation of the row with the indicated node and that includes a continued indicated node that appears to be a continuation of the indicated node. Furnas, G.W., "Generalized Fisheye Views," CHI '86 Proceedings, ACM, April 1986, pp. 16-23, describes fisheye views that provide a balance of local detail and global context. Section 1 discusses fisheye lenses that show places nearby in great detail while showing the whole world, showing remote regions in successively less detail; a caricature is the poster of the New Yorker's View of the United States." Section 3 describes a degree of interest (DOI) function that assigns to each point in a structure, a number telling how interested the user is in seeing that point, given the current task. A display can then be made by showing the most interesting points, as indicated by the DOI function. The fisheye view can achieve, for example, a logarithmically compressed display of a tree, as illustrated by Fig. 4 of Furnas for a tree structured text file. Section 4 also describes fisheye views for botanical taxonomies, legal codes, text outlines, a decisions tree, a telephone area code directory, a corporate directory, and UNIX file hierarchy listings. Section 5 indicates that a display-relevant notion of a priori importance can be defined for lists, trees, acylic directed graphs, general graphs, and Euclidean spaces, unlike the geographical example which inspired the metaphor of the "New Yorker's View," the underlying structures need not be spatial, nor need the output be graphic. Fig. 6 of Furnas shows a fisheye calendar. EP-A-447,095 discloses a processor which presents a sequence of images of a workspace that is stretched to enable the user to view a part of a workspace in greater detail. The workspace includes a middle section and two peripheral sections that meet the middle section on opposite edges. Each of the sections appears to be a rectangular two-dimensional surface and they are perceptible in three dimensions. When the user is viewing the middle section as if it were parallel to the display screen surface, each peripheral section appears to extend away from the user at an angle from the edge of the middle section so that the peripheral sections occupy relatively little of the screen. When the user requests stretching, the middle section is stretched and the peripheral sections are compressed to accommodate the stretching. When the user requests destretching, the middle section is destretched and the peripheral sections are decompressed accordingly. Proceedings of the Human Factors and Ergonomics Society 37 th Annual Meeting, Seattle, WA, USA, 11-15 Oct. 1993, 1993, Santa Monica, CA, USA, Human Factors & Ergonomics Soc., USA, pages 333,337, vol. 1, XP002001998, Chignell M. H. et al., "An exploration in the design space of three dimensional hierarchies" describes an information tree visualization system called Info-TV. The system is based on the idea that three dimensional hierarchies may be used to visualize and manipulate a variety of types of information, including tables of contents, taxonomies, fault trees, and code libraries in languages such as C++. It is suggested that visual scanning and perceived organization are two main process involved in the understanding and use of such 3D hierarchies. Info-TV is described as being a software environment that takes hierarchical information and displays it in a three dimensional format. EP-A-535 986 discloses techniques that present an image of a hierarchical mode-link structure and respond to request from a user to modify the image to make part of the structure more visible. It is therefore the object of the present invention to provide for an improved method and apparatus for increasing the displayed detail of a tree structure The above object is solved by the subject-matters of independent claims 1 and 7. Preferred embodiments are the subject-matters of the dependent claims. The present invention is for use on a computer controlled display system as defined in claim 1 and provides for visualization of a tree structure so that a greater amount of the detail of the tree structure may be displayed in a display area. In the present invention, a two-dimensional tree structure is warped about an arbitrary surface for display. Such an arbitrary surface would include a surface defined by a parabola, a hyperbola or a surface defined by the intersection of two lines. As a result, an increased number of nodes in each level of the tree can be displayed. The invention further provides a method for displaying a node link structure on a display, according to claim 7 of the appended claims. In a preferred embodiment according to claim 11, said method further comprises the step of adding an offset to a node based on the node's level in the node-link structure, wherein said node-link structure is visually perceived as closer to a viewer. Figure 1 is a block diagram of computer controlled display system in a preferred embodiment of the present invention. Figure 2 illustrates a two dimensional tree structure as is known in the prior art. Figure 3 illustrates the tree structure of Figure 2 warped about an arbitrary surface. Figure 4 is an illustration of a data structure for a node as may be utilized in a preferred embodiment of the present invention. Figure 5 is a flowchart of the general steps performed when creating the visualization of a tree structure in a preferred embodiment of the present invention. Figure 6 is a flowchart of the steps for creating display addresses for nodes of the tree structure, i.e. warping the tree structure, as may be performed in a preferred embodiment of the present invention. Figure 7 illustrates the tree structure of Figure 2 warped about a parabolic surface as created by a preferred embodiment of the present invention. Figure 8 illustrates the tree structure of Figure 2 warped about a hyperbolic surface as created by a preferred embodiment of the present invention. Figure 9 illustrates the tree structure of Figure 2 warped about a surface defined by two intersecting lines, as created by a preferred embodiment of the present invention. EP-A-535,986 discloses the display of a tree structure in two dimensions and the centering of a selected node along a centerline, and the use of animation steps for scrolling of the tree for centering a node. A method and apparatus for visualization of a tree structure with an increased number of nodes in a display area is described. In the following description numerous specific details are set forth, such as data models for representing a tree structure, in order to provide a thorough understanding of the present invention. It would be apparent, however, to one skilled in the art to practice the invention without such specific details. In other instances, specific implementation details such as the system calls for causing a tree structure to be displayed on a screen, have not been shown in detail in order not to unnecessarily obscure the present invention. Hierarchically related information is often represented as a tree. As used herein, the term node will refer to a point on the tree structure. Each node includes pointers to a parent node and one or more child nodes to create the tree structure. A root node is the highest level node. Leaf nodes are the bottom level nodes. When a tree structure becomes large, it may be difficult or even impossible to present the entire tree on a display area in full detail. Thus, it is desirable to place as much of the tree structure into a display area as possible. It should be noted that a tree is in the general class of node-link structures. As will become apparent in the description below, the present invention could be implemented so as to support other node link structures. Overview of the Computer Controlled Display System Referring to Figure 1, the computer based system on which a preferred embodiment of the present invention may be implemented is comprised of a plurality of components coupled via a bus 101. The bus 101 may consist of a plurality of parallel buses (e.g. address, data and status buses) as well as a hierarchy of buses (e.g. a processor bus, a local bus and an I/O bus). In any event, the computer system is further comprised of a processor 102 for executing instructions provided via bus 101 from Internal memory 103 (note that the Internal memory 103 is typically a combination of Random Access and Read Only Memories). The processor 102 will be used to perform various operations in support of creating the tree visualizations. Instructions for performing such operations are retrieved from Internal memory 103. Such operations that would be performed by the processor 102 are described with reference to Figures 5-6. The processor 102 and Internal memory 103 may be discrete components or a single integrated device such as an Application Specification Integrated Circuit (ASIC) chip. Also coupled to the bus 101 are a keyboard 104 for entering alphanumeric input, external storage 105 for storing data, a cursor control device 106 for manipulating a cursor, and a display 107 for displaying visual output. The keyboard 104 would typically be a standard QWERTY keyboard but may also be telephone like keypad. The external storage 105 may be fixed or removable magnetic or optical disk drive. The cursor control device 106, e.g. a mouse or trackball, will typically have a button or switch associated with it to which the performance of certain functions can be programmed. The currently preferred embodiment of the present invention has been implemented on a Silicon Graphics workstation with graphics facilities as described in SGI Graphics Library Programming Guide , Silicon Graphics, Inc. of Mountain View, California. The Silicon Graphics workstation provides for manipulating graphical objects in a three dimensional space. However, it would have been apparent to one of skill in the art to implement the present invention on other suitable computer systems providing graphical functionality which manipulate graphical objects in a two dimensional space. Overview of the Tree Visualization Figure 2 illustrates a visualization of tree structure laid out on a plane as is known in the prior art. A tree structure comprised of levels 201, 202 and 203 is displayed in display area 200. Each of the levels 201-203 of the tree structure are aligned in a column. Level 201 is comprised of a single node (node 223) and level 202 is comprised of three nodes (nodes 220-221.) Level 203 contains sixteen nodes (nodes 204-219). The nodes in level 203 exceed the entire height X 224 of display area 202. So for example, the nodes 204, 205 and 219 would not be completely displayed. Thus it is readily observed that the height X 224 of display area 202 accommodates a maximum number of complete nodes (here 13). As is known in the art, nodes which are above or below the display area may be scrolled in. Figure 3 illustrates the tree structure of Figure 2 warped about an arbitrary surface for display. As will be described below, the arbitrary surface provides a frame of reference for transforming a node's planar address to a "warped" display address. Referring to Figure 3, it is readily observed that all sixteen nodes at level 3 (nodes 204'-219') are displayed at level 203'. Clearly, it would have been possible to display more than sixteen nodes. This is contrasted with the 13 nodes from level 203 of Figure 2. Thus, given the same dimensions for a display area, more information is available using the warping of the present invention. It should further be noted that the nodes 220'-222' of level 202' are also displayed in a more compact manner. Further examples of warping to other surfaces are provided below in Figures 7-9. Internal Representation of Node As noted above, a tree is an instantiation of a node-link structure. Figure 4 illustrates a minimal data structure for a node in a tree structure in a preferred embodiment of the present invention. Other structures may be utilized which contain more or less information. Referring to Figure 4, the structure is comprised of a plurality of pointers 401-402, node information and a layout address for the node 404. The pointer 401 points to a parent node and the pointers 402 point to one or more child nodes. The pointers 401 and 402 are typical for a tree structure representation. The node information 403 may contain a label for the node to be used when it is displayed, or it may contain a pointer to such information. The layout address 404 contains the address for the node with respect to the plane as generated in the layout plane step described in Figure 5. As will be described in greater detail below, the layout address 404 would subsequently contain the display address after the node is "warped." Creating the Tree Visualization The basic steps for creating the tree structure are described with references to the flowcharts of Figures 5 and 6. Referring to Figure 5, a tree structure is received, step 501 and laid out onto a plane, step 502. Creation of a tree structure is beyond the scope of the present invention and various techniques for creating tree structures are known in the art. Moreover, the creation of tree structures often depends on the nature of the tree structure being created. Similarly, various techniques for laying out a tree structure on a plane are known in the art and could be used with the present invention. In a preferred embodiment of the present invention, a layout technique described in EP-A-535,986 is utilized. Inherent in the underlying operation of the present invention is a step by which the surface to the tree structure is warped is determined, step 503. Preferably, this is done through a user specifying the desired shape via a menu. Alternatively, the surface could be automatically selected by the computer controlled display system according to some predetermined criteria relating to the size and shape of the tree structure. In any event, although exact timing is not critical, it must be done before the tree structure is warped. Once the tree structure is laid out on a plane each node will have associated with it a plane address. This plane address may directly correspond to a screen address for display as illustrated by the prior art, or it may require some scaling in order for it to be displayed. In any event, the plane address is then warped with respect to the specified predetermined surface, step 504. This warping is conceptually analogous to bending the structure about the surface and creates a three-dimensional visual effect for the displayed portions of the tree structure. The result of this warping step is to provide new display addresses for each node of the tree structure. The warping step is described in greater detail with respect to Figure 6. The tree structure is then displayed at the display address, step 505. In this display step, the tree structure is rendered by the computer controlled displays systems so that the nodes are displayed at their display address. In a preferred embodiment the techniques for scrolling described in EP-A-535,986 are utilised, although it will be appreciated that other techniques may be used. Referring now to Figure 6, the "warping" step is described in greater detail. It should first be noted that the coordinate references described below are in units of inches. Referring to Figure 6, a planar address for a node is received, step 601. Warping is effected with respect to a particular surface shape. In a preferred embodiment the shapes includes a parabola, hyperbola and an intersection of two lines. Each of the various shapes are defined by a particular function which is described in greater detail below. The received planar address is then adjusted according to the function corresponding to the shape the tree is being warped about, step 602. In the currently preferred embodiment, the X coordinate address corresponds to a column or level at which the particular node is at and will not change. Y and Z coordinates are determined using the function corresponding to the desired surface. Next, an offset is added to the derived Y and Z addresses to control the "closeness" at which the tree structure appears to the viewer, step 603. The offset applied depends on the particular level at which the node is. The effect of drawing the structure closer to the viewer, as expected, causes the tree and corresponding text to be larger. It has been determined experimentally that an offset equation of N x 5 inches (N x 125mm), where N is the level of the tree structure for the node, produces acceptable results. Note that it would also be possible to implement the present invention so that the "warping" shape is different for each level of a tree structure or that warping only occurs at certain levels (e.g. when the number of nodes in a level exceeds a certain threshold.) Warping Surfaces As noted above, various warping surfaces may be utilized in a preferred embodiment of the present invention. Two-dimensional shape formulas for various warping surface types can be found in various references, e.g. "MATHEMATICAL TABLES FROM HANDBOOK OF CHEMISTRY AND PHYSICS ELEVENTH EDITION", Copyright 1959 by THE CHEMICAL RUBBER PUBLISHING COMPANY Cleveland, Ohio. Each of the shape formulas includes constants which define the actual end shape. Through experimentation, values for the constants have been determined which provide acceptable results. Generally, the horizontal coordinate for a node will remain fixed while the shape formula is used to find vertical and depth coordinates. Figure 7 illustrates a two-dimensional tree structure warped about a parabola which extends back in the Z direction. Via the steps described in Figures 5 and 6, each level of the tree structure is laid out along the parabola in the Y and Z coordinates. The X coordinate is unchanged from it's original planar address. The formula for deriving the Y and Z coordinates is Y**2 = 4fZ, where f is a constant which defines the distance from the focus to the vertex. In a preferred embodiment, it has been experimentally determined that the constant f = 10 inches (25cm) provides acceptable results. Figure 8 illustrates a two-dimensional tree structure warped about a hyperbolic surface (actually half of a hyperbola). Again, the X coordinate remains unchanged. The formula for deriving the Y and Z coordinates is Z**2/a**2-Y**2/b**2 = 1 where a and b are constants defining the semi-axes of the hyperbola. It has been determined experimentally that that values a = 5 and b = 7 provide acceptable results. It should be noted that this warping results in the bottom and top nodes being "closer" to the viewer and thus more readable. Figure 9 illustrates a surface defined by the intersection of two lines. Again, the X coordinate remains unchanged. The formula for deriving the Y and Z coordinates is the surface defined by the equation z=-alYl, where a is a constant. This surface is particular advantageous because it is easy to compute. It has been determined experimentally that a = 1.4 provides acceptable results.

Claims: A computer controlled display system for displaying three dimensional visualizations of hierarchically related information, said hierarchically related information comprised of a node-link structure, said computer controlled display system comprising: a display (107) for displaying said node-link structure on a viewing area (200) of said display; receiving means for receiving a node-link structure, said node-link structure having multiple levels; layout means coupled to said receiving means, said layout means for creating planar addresses for each of said nodes in said node-link structure, said planar addresses representing a layout of said node-link structure on a plane; warping means coupled to said layout means, said warping means for transforming said planar addresses into three dimensional display addresses comprising horizontal, vertical and depth coordinates using a predetermined surface function for each of a plurality of nodes in said node-link structure, said predetermined surface function corresponding to a surface shape; rendering means coupled to said warping means and said display, said rendering means for causing nodes in said node-link structure to be displayed in said viewing area (200) of said display (107) at said created three dimensional display addresses so that said entire node-link structure appears to be warped about said surface shape; and scrolling means coupled to said warping means, said scrolling means for causing scrolling of said node-link structure so that said node-link structure scrolls about said surface shape; wherein said warping means is further comprised of means for modifying said three dimensional display addresses for each of a plurality of nodes of said node-link structure so that said structure is perceived as closer to a viewer; wherein said means for modifying is comprised of offset adding means for adding an offset to said vertical and depth coordinates based on the level of the node in the node-link structure. The computer controlled display system as claimed in claim 1, wherein for each of said plurality of nodes, a horizontal coordinate is retained and vertical and depth co-ordinates are created from said surface function. The computer controlled display system as recited in one of the claims 1 to 2, wherein said surface function is for a parabola. The computer controlled display system as recited in one of the claims 1 to 2, wherein said surface function is a hyperbola. The computer controlled display system as recited in one of the claims 1 to 2, wherein said surface function is a surface defined by two intersecting lines. The computer controlled display system as recited in one of the claims 1 to 2, further comprising means for selecting a surface about which said node-link structure will be warped from a set of surfaces, said set of surfaces including a hyperbola, a parabola and a surface defined by two intersecting lines. A method for displaying a node-link structure in a three-dimensional visualization on a display, said method comprising the steps of: a) receiving a node-link structure (501), said node-link structure comprised of a plurality of nodes and levels; b) laying out said node-link structure on a plane (502) to create a planar address for each of said plurality of nodes in said node-link structure; c) transforming the planar address of each node (504) of said plurality of nodes in said node-link structure using a surface function to create a three dimensional display address comprising horizontal, vertical and depth coordinates, said surface function corresponding to a surface shape; d) displaying said nodes of said node-link structure (505) at their corresponding three dimensional display address, wherein said entire node-link structure appears warped about said surface shape; e) causing scrolling of said node link structure so that said node-link structure scrolls about said surface shape; wherein said step of transforming the planar address of each node of said node-link structure using a surface function to create a display address is further comprised of the step of adding an offset to said vertical and depth coordinates based on the node's level in the node-link structure, wherein said node-link structure is visually perceived as closer to a viewer. The method as recited in claim 7, wherein said step of transforming the planar address of each node of said node-link structure using a surface function to create a display address is further comprised of the step of retaining a horizontal coordinate for said node in said node-link structure and creating vertical and depth coordinates from said surface function. The method as recited in one of claims 7 and 8, wherein said surface function is an equation for a hyperbola. The method as recited in one of claims 7 and 8, wherein said surface function is an equation for a parabola. The method as recited in one of claims 7 and 8, wherein said surface function is an equation for a surface defined by two intersecting lines.

Inventors: ROBERTSON GEORGE G, ROBERTSON, GEORGE G.
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1995
Main classification: G06T11
IPC codes: G06F3, G06T11, G06F17