US20080034326A1 - Systems and methods for creating an interactive 3d visualization of indexed media - Google Patents

Systems and methods for creating an interactive 3d visualization of indexed media Download PDF

Info

Publication number
US20080034326A1
US20080034326A1 US11/870,351 US87035107A US2008034326A1 US 20080034326 A1 US20080034326 A1 US 20080034326A1 US 87035107 A US87035107 A US 87035107A US 2008034326 A1 US2008034326 A1 US 2008034326A1
Authority
US
United States
Prior art keywords
layout
layouts
node
leaf
selected set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/870,351
Inventor
Patrick Chiu
Andreas Girgensohn
Wolfgang Polak
Frank Shipman
Surapong Lertsithichai
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to US11/870,351 priority Critical patent/US20080034326A1/en
Publication of US20080034326A1 publication Critical patent/US20080034326A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/048023D-info-object: information is displayed on the internal or external surface of a three dimensional manipulable object, e.g. on the faces of a cube that can be rotated by the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Definitions

  • This invention relates to systems and methods for creating an interactive 3D visualization that indexes media and summarizes the indexed media.
  • three-dimensional media indices are just recently becoming viable means for indexing a large amount of related media.
  • the complexity of the index and information about the indexed media conveyed by the three-dimensional indices is rather limited.
  • SGI FSN is a file system navigator with a 3D landscape visualization.
  • Directories are placed in a hierarchical tree layout in the landscape.
  • Each directory in SGI FSN is represented by a pedestal.
  • the size of the files in the directory is proportional to the pedestal height and the file age is shown by color.
  • Files are placed on top of the directory pedestals. Each file is represented by a box.
  • U.S. patent application [Attorney Docket 114890] describes a method for creating and updating interactive 3D visualizations of media indices wherein separate indices are located above and below a ground plane.
  • the indices are organized in a table structure defined by two axes and provide links to the media that is indexed.
  • Various visual characteristics of the indices reflect characteristics of the media that is indexed as well as various user defined or group defined information relating to the indexed media.
  • Perspective Wall is a 3D visualization that indexes files. It utilizes a 3D wall with three sections and displays card icons for the files.
  • 3D/Rooms is a 3D index that has a 3D multi-level building floor plan in which users can select a research group and retrieve photos of members and their offices.
  • various exemplary embodiments of the systems, methods, and graphical user interfaces according to this invention provide an interactive 3D visualization wherein the surfaces of 3D objects representing indexed media provide visual summaries of the indexed media.
  • Various exemplary embodiments of the systems and methods according to this invention provide a 3D graphical user interface including a two-dimensional ground-plane layout representing the relationship between one or more leaf elements of a tree data structure; and at least one building-like structure, each of the at least one building-like structures corresponding to a respective one of the one or more leaf elements, wherein each of the at least one building-like structure provides a summary of media associated with the respective one of the more leaf elements corresponding to that at least one building-like structure.
  • Various exemplary embodiments of the systems and methods according to this invention provide a layout for a 3D visualization including inputting a tree data structure, each leaf of the tree associated with one or more forms of media; determining a plurality of candidate layouts; comparing the plurality of candidate layouts; selecting a solution layout; and constructing a 3D visualization based on the layout, wherein the representation of each leaf within the 3D visualization provides a summary of the media contained by that leaf within the input tree data structure.
  • FIGS. 1 and 2 show an exemplary embodiment of a 3D visualization that utilizes substantially square and similarly sized building-like structure plots
  • FIGS. 3-6 show a number of variations of the 3D visualization shown in FIGS. 1 and 2 ;
  • FIGS. 7 and 8 show an exemplary embodiment of a 3D visualization according to this invention that utilizes differently sized building-like structure plots
  • FIG. 9 shows a graphical user interface for use with the 3D visualizations of FIGS. 1 - 6 ;
  • FIG. 10 shows a graphical user interface for use with the 3D visualization of FIGS. 7 and 8 ;
  • FIGS. 11 and 12 are a flowchart outlining an exemplary embodiment of a grid layout method for the type of 3D visualizations shown in FIGS. 1-6 .
  • FIG. 13 shows an example of leaf nodes layouts and branch nodes layouts
  • FIG. 14 shows the layouts of FIG. 13 in which the leaf node layouts are combined into a single layout
  • FIG. 15 shows an example of the layouts of FIG. 14 combined into larger layouts
  • FIG. 16 shows an exemplary embodiment of a functional block diagram of a 3D visualization system
  • FIGS. 17-21 are a flowchart outlining an embodiment of a method for determining layout for the type of 3D visualizations shown in FIGS. 7 and 8 ;
  • FIG. 22 shows an exemplary embodiment of a functional block diagram of a 3D visualization system.
  • FIGS. 1 and 2 show an exemplary embodiment of a 3D visualization 100 according to this invention that utilizes substantially square and similarly sized building-like structure plots.
  • the 3D visualization utilizes a city metaphor in which each amount of media, indexed by a leaf in a tree data structure, is represented by a building-like structure 120 .
  • the indexed media is video.
  • any other media such as text, graphics, charts, etc. may be used.
  • the indexed media is summarized on the roof 122 and walls 124 , 126 , and 128 (rear not shown) of the buildings such that a user navigating the 3D visualization has an idea of the contents of each leaf without having to access that leaf.
  • the roof 122 and sides 124 , 126 , 128 (rear not shown)of the buildings display the same summary.
  • each of the roof 122 and sides 124 , 126 , 128 have different summaries.
  • a video is summarized by arranging key frames of the video in a predefined rectangular area (here defined by the height and width of the sides and roof of the buildings).
  • FXPAL-IP-98-018 and U.S. patent application Ser. No. 10/392,822 describe methods for automatic video summary using key frames and are incorporated herein by reference in their entirety. Key frame video summaries work particularly well within the context of a city metaphor because each of the summary's frames resemble windows on the side of the building-like structures.
  • each building-like structure 120 exists on a lot 110 wherein a curb width 140 is the distance from the building-like structure to a road.
  • the curb width is inversely proportional to a numerical value associated with each indexed portion of the media.
  • the numerical value may represent the length of the video or an importance of the video determined by the user, or a predefined group of users. As such, the indexed portions of media that have the higher numerical values will have a smaller curb width and the building-like structure will be larger.
  • the numerical value may be directly proportional to the building-like structure's foot print.
  • this may result in building-like structures that are too thin to effectively summarize their respectively indexed media, or building-like structures that are too wide and obstruct a user's view of other buildings.
  • the road width (e.g., 130 , 132 ) represents the distance between the respective indexed media portions within the underlying tree data structure. For example, lots 110 that are separated by roads with a road width 130 are closer to one another within the tree data structure (e.g., leaves) than lots 110 that are separated by roads with road width 132 (e.g., braches).
  • the height 250 of each building-like structure is proportional to a numerical value associated with each indexed portion of the media.
  • the numerical value may represent the length of the video or an importance of the video determined by the user, or a predefined group of users.
  • text may be included in the visualization to provide labels 150 for various groups of indexed media.
  • these labels float over the building-like structures to simulate clouds, consistent with a city metaphor.
  • FIGS. 3-6 show a number of exemplary variations 300 , 400 , 500 , and 600 of the visualization 100 shown in FIGS. 1 and 2 .
  • each leaf represented by a building-like structure is summarized by up to four types of media (single video frames 310 , key frame summaries 410 , slide images 510 and text 610 ).
  • a different type of media is displayed on the roof
  • the type of media that most effectively summarizes the indexed media portion is displayed on the roof because, typically, the roof is most visible from viewpoints in which all or many of the building-like structures are visible.
  • FIGS. 7 and 8 show an exemplary embodiment of a 3D visualization according to this invention that utilizes differently sized building-like structure plots wherein the size of each building-like structure's plot is proportional to some numerical quality of the index media represented by that building-like structure.
  • the building-like structures have curb widths and building heights that are proportional to some numerical qualities of the indexed media portion (leaf) represented by the building-like structures.
  • FIG. 7 shows road widths 732 that represent the distance between the respective indexed media portions within the tree structure.
  • each larger plot 740 , 760 includes all of the plots representing its subnodes according to the underlying tree data structure (e.g., leaf plot 710 is contained n larger plot 740 which is contained in larger plot 760 ).
  • Text may be included in the visualization to provide labels 150 for various groups of indexed media. In various exemplary embodiments, these labels 150 float over the building-like structures to simulate clouds, consistent with a city metaphor.
  • various exemplary embodiments provide a number of functions that facilitate the effective viewing of and interaction with the various portions of the 3D visualizations.
  • Various exemplary embodiments enable a user of the visualization to change the viewing angles, viewing distance, and view point.
  • FIG. 1 shows the visualization of the first embodiment, in which the view is relatively distant and tilted to primarily display the fronts 124 and tops 122 of the building-like structures
  • FIG. 2 shows the visualization of the first embodiment in which the view is relatively close and tilted to primarily display the fronts 124 and tops 122 of the building-like structures.
  • a user may change the viewing angle by, for example grabbing the visualization and rotating it with a pointing device, touch screen, or virtual reality interaction devices such a glove, by using keyboard commands, or by any other known or later developed input device.
  • various exemplary embodiments allow a user to access the indexed media portions by clicking on the various summaries on the building-like structures. For example, clicking on a single video frame 310 or a frame within a key frame summary 410 will play the indexed video beginning from that frame. Similarly, clicking on a slide 510 will access a larger view of the indexed slide or an indexed group of slides. Clicking on a text summary 610 will access the document or documents that the text summary 610 represents.
  • FIGS. 9 and 10 various exemplary embodiments of the invention provide graphical user interfaces 900 , 1000 including a number of slides 920 and 922 and buttons 924 , 926 , 928 , 930 , 932 , 934 , 936 , and 938 that enable a user to navigate and interact with the visualization.
  • FIG. 9 shows one exemplary embodiment of a graphical user interface for use with the 3D visualization of FIGS. 1-6 .
  • FIG. 10 shows one exemplary embodiment of a graphical user interface for use with the 3D visualization of FIGS. 7 and 8 .
  • buttons 936 , 934 , 932 , 938 move the viewpoint forward, backward, left, and right, respectively.
  • Buttons 928 and 930 zoom the viewpoint in and out. Buttons 924 and 926 move the viewpoint up and down (in altitude). Slider 922 tilts the view. Slider 920 is a controller does several operations together; it changes altitude and tilts the view, such that the point at center of the screen is kept fixed. As such, slider 922 enables the user to see the rooftop when high up, to see the front of the building when near the ground, and to maintain the building in the center of the screen in view.
  • FIGS. 11 and 12 show a flowchart outlining an exemplary embodiment of a grid layout method for the above-described type of 3D visualization that utilizes substantially square and similarly sized building-like structure plots according to this invention.
  • the data to be visualized is organized as tree of elements where each branch in the tree is represented by a relatively square rectangle and all of the elements within this rectangle are part of that branch of the tree.
  • This exemplary embodiment of a layout method balances the desire to minimize blank space in the layout with the need for a relatively square layout to match the shape of the majority of output devices, e.g., a computer monitor, a printer, or the like.
  • a single line layout would produce no blank space but would not be an efficient use of output device real estate.
  • step S 1000 operation of the method begins in ‘step S 1000 and continues to step S 1005 where each leaf of the tree is assigned a similar substantially rectangular area.
  • step S 1010 a first/next node whose subnodes are all leaves is selected as the current node.
  • step S 1015 the leaves of the current node are arranged into a larger rectangle such that the ratio of the height to width and the ratio of the width to height is less than a predetermined aspect ratio and that larger rectangle is assigned to the current node.
  • the predetermined aspect ratio is used to insure that the resulting rectangle is relatively square. This prevents the creation of rectangles that are long and thin. Operation of the method continues to step S 1020 .
  • step S 1020 a determination is made whether the current node is the root node of the tree. If the current node is the root node, all of the leaves of the tree have been arranged within a rectangle and operation jumps to step 51085 where the operation of the method ends. However, if the current node is not the root node, operation continues to step S 1025 .
  • step 51025 a determination is made whether all of the nodes whose subnodes are all leaves have been selected as the current node. If all of the nodes whose subnodes are all leaves have not been selected as the current node, operation returns to step S 1010 . However, if all of the nodes whose subnodes are all leaves have been selected as the current node, operation continues to step S 1030 .
  • step S 1030 a first/next node that has at least one larger rectangle associated with one of its subnodes and a rectangle associated with each subnode is selected as a current node.
  • step S 1035 a determination is made whether a current node has more than one leaf rectangle and more than one larger rectangle associated with its subnodes. For example, as shown in FIG. 13 , there are five leaf nodes 1300 and three branch nodes (larger rectangles) 1305 , 1310 , 1315 . If the current node does not have more than one leaf rectangle and more than one larger rectangle associated with its subnodes, operation continues to step S 1040 . However, if the current node has more than one leaf rectangle and more than one larger rectangle associated with its subnodes, operation jumps to step S 1055 .
  • step S 1040 the various rectangles, both leaf rectangles and larger rectangles, associated with the subnodes of the current node are arranged into larger rectangles such that the ratio of the height to width and the ratio of the width to height is less than the predetermined aspect ratio. Then, in step S 1045 , a determination is made whether a successful layout was found such that each of the rectangles fit within a new larger rectangle with a minimum of empty space. If a successful layout is not found, operation to continues to step 51050 , where the aspect of ratio is increased. Then, operation returns to step S 1040 . However, if a successful layout is found, operation jumps to step S 1080 .
  • step S 1055 the various leaf rectangles associated with the subnodes of the current node are arranged into a larger rectangle such that the ratio of the height to width and width to height is less than the predetermined aspect ratio.
  • the leaf nodes of FIG. 13 are combined into a single larger rectangle 1400 .
  • it is advantageous to group the leaf nodes into a larger rectangle because they represent media files in the same directory in the directory tree and therefore should remain close together, rather than scattered throughout the layout.
  • step S 1060 the larger rectangles, including the larger rectangle composed of the various leaf rectangles associated with the subnodes of the current node, are arranged into various larger rectangles such that the ratio of the height to width and width to height is less than the predetermined aspect ratio.
  • the various rectangles 1305 , 1310 , 1315 , 1400 are combined into a number of larger rectangles 1500 , 1510 , 1520 .
  • the aspect ratio is 1.5 (the height cannot be more than 1.5 times the width and vice versa) and rectangles 1500 , 1510 and 1520 show the three larger rectangles that would be considered (4 ⁇ 6, 5 ⁇ 5, and 6 ⁇ 4).
  • step 51065 a determination is made whether a successful layout was found such that each of the rectangles fit within the new larger rectangle with a minimum of empty space.
  • rectangle 1500 encloses each of the smaller rectangles 1305 , 1310 , 1315 , 1400 with only three units of empty space.
  • Rectangle 1510 encloses each of the smaller rectangles 1305 , 1310 , 1315 , 1400 with four units of empty space.
  • Rectangle 1520 cannot enclose each of the smaller rectangles 1305 , 1310 , 1315 , 1400 . It should be appreciated that, in various exemplary embodiments, when the rectangles have the same amount of empty space, preference is given to the rectangle with the smallest circumference.
  • step S 1070 where the aspect ratio is increased. Then, operation returns to step S 1055 . However, if a successful layout was found, operation continues to step S 1080 .
  • step 51080 the successful layout is assigned to the current node.
  • step S 1085 a determination is made whether the current node is the root node. If the current node is the root node, operation continues to step S 1090 where the method ends. However, if the current node is not the root node, operation returns to step S 1030 where the next node that has at least one larger rectangle associated with one of its subnodes and a rectangle associated with each subnode is selected as the current node. Operation of the flowchart will continue until, in step S 1085 , the current node is the root node.
  • FIG. 16 is an exemplary embodiment of a functional block diagram of an exemplary embodiment of a 3D visualization system 1600 that is usable to create 3D visualizations according to the invention.
  • the 3D visualization system 1600 includes an input/output interface 1620 , a controller 1625 , a memory 1630 , a node identifying circuit, routine, or application 1640 , a rectangle assigning circuit, routine, or application 1645 , a rectangle arranging circuit, routine, or application 1650 , an aspect ratio adjusting circuit, routine, or application 1655 , a layout testing comparing circuit, routine, or application 1660 , and a media associating circuit, routine, or application 1665 , each appropriately interconnected by one or more data/control busses and/or application programming interfaces 1670 , or the like.
  • the input/output interface 1620 is connected to one or more input devices 1605 over one or more links 1601 .
  • the input device(s) 1605 can be one or more of a keyboard, a mouse, a track ball, a track pad, a touch screen, a virtual reality glove, or any other known or later-developed device for inputting data and/or control signals to the 3D visualization system 1600 .
  • the input/output interface 1620 is connected to one or more output devices 1610 over one or more links 1602 .
  • the output device(s) 1610 can be one or more of a computer monitor, cathode ray tube, liquid crystal display, image projector, electrophoretic display, a virtual reality display device, or any other known or later-developed device for visually displaying 3D visualization data output from the 3D visualization system 1600 .
  • the input/output interface 1620 is connected to a data source 1700 over a link 1701 .
  • the data source 1700 can be a locally or remotely located laptop or personal computer, a personal digital assistant, a tablet computer, a device that stores and/or transmits electronic data, such as a client or a server of a wired or wireless network, such as for example, an intranet, an extranet, a local area network, a wide area network, a storage area network, the Internet (especially the World Wide Web), and the like.
  • the data source 1700 can be any known or later-developed source that is capable of providing a media data organized in a tree to the input/output interface 1620 .
  • Each of the various links 1601 , 1602 , and 1701 can be any known or later-developed device or system for connecting the input device(s) 1605 , the output device(s) 1601 , and/or the data source 1700 , respectively, to the input/output interface 1620 .
  • the links 1601 , 1602 , and 1701 can each be implemented as one or more of a direct cable connection, a connection over a wide area network, a local area network or a storage area network, a connection over an intranet, a connection over an extranet, a connection over the Internet, a connection over any other distributed processing network or system, and/or an infrared, radio-frequency or other wireless connection.
  • the memory 1630 contains a number of different memory portions, including a layouts portion 1631 , a tree structure portion 1632 , a leaf data portion 1633 , a solution layout portion 1634 , and an aspect ratio portion 1235 .
  • the layouts portion 1631 of the memory 1630 stores various layouts.
  • the tree structure portion 1632 of the memory 1630 stores the tree structure of the data that will be represented in the 3D visualization.
  • the leaf data portion 1633 of the memory 1630 stores the media represented by each leaf in the tree structure.
  • the solution layout portion 1634 stores the solution layout that will be used in the 3D visualization.
  • the aspect ratio portion 1235 stores the aspect ratio used to determine the various layouts.
  • the memory 1630 shown in FIG. 16 can be implemented using any appropriate combination of alterable, volatile or non-volatile memory or non-alterable, or fixed, memory.
  • the alterable memory whether volatile or non-volatile, can be implemented using any one or more of static or dynamic RAM, a floppy disk and disk drive, a writeable or re-re-writeable optical disk and disk drive, a hard drive, flash memory or the like.
  • the non-alterable or fixed memory can be implemented using any one or more of ROM, PROM, EPROM, EEPROM, an optical ROM disk, such as CD-ROM or DVD-ROM disk, and disk drive or the like.
  • the node identifying circuit, routine, or application 1640 accesses the tree structure data and determines the characteristics of a node.
  • the rectangle assigning circuit, routine, or application 1645 assigns rectangular layouts to leaf nodes.
  • the rectangle arranging circuit, routine, or application 1650 arranges rectangular layouts into various larger rectangular layouts, based on the aspect ratio.
  • the aspect ratio adjusting circuit, routine, or application 1655 adjusts the aspect ratio.
  • the layout testing circuit, routine, or application 1660 tests various layouts to based on the amount of empty space.
  • the media associating circuit, routine, or application 1665 associates the leaf data with the solution layout to create the 3D visualization.
  • the exemplary embodiment of the 3D visualization system 1600 shown in FIG. 16 operates in the following manner.
  • the data necessary for creating the 3D visualization is input form the data source 1700 across the link 1701 via the input/output interface 1620 and stored in the tree structure and leaf data portions 1632 , 1633 of the memory 1630 .
  • the node identifying circuit, routine, or application 1640 accesses the tree structure data in the tree structure portion 1632 of the memory 1630 and identifies each of the leaf nodes.
  • the rectangle assigning circuit, routine, or application 1645 accesses the identified leaf nodes and assigns each leaf node a similar substantially rectangular area.
  • the rectangles for each leaf node, under control of the controller 1625 are associated with their respective leaf node and stored in the layouts portion 1631 of the memory 1630 .
  • the node identifying circuit, routine, or application 1640 accesses the tree structure data stored in the tree structure portion 1632 and the layout data in the layout data portion 1631 and identifies each node whose subnodes are all leaves. Then, under control of the controller 1625 , the rectangle arranging circuit, routine, or application 1650 accesses the identified subnodes and arranges the rectangles assigned to the leaf nodes of each identified node into a larger rectangle. The rectangles for the identified nodes, under control of the controller 1625 , are associated with their respective identified nodes and stored in the layouts portion 1631 of the memory 1630 .
  • the node identifying circuit, routine, or application 1650 accesses the tree structure data stored in the tree structure portion 1632 and the layout data in the layout data portion 1631 and identifies each node that has at least one rectangle associated with each subnode, at least one of the rectangles being larger than a leaf rectangle.
  • the node identifying circuit, routine, or application 1640 further identifies a first subgroup of the identified nodes that have more than one leaf rectangle associated with its subnodes, and more than one rectangle larger than a leaf rectangle associate with its subnodes.
  • the rectangle arranging circuit, routine, or application 150 accesses the first subgroup of the identified nodes, and for each node, arranges the various leaf rectangles associated with the subnodes of that node into a larger rectangle with the smallest circumference. Then, under control of the controller 1625 , the rectangle arranging circuit, routine, or application 1650 , for each node of the of the first subgroup of identified nodes, arranges the larger rectangles of the subnodes of that node into rectangles whose height/width or width/height is less than the aspect ratio stored in the aspect ratio portion 1635 of the memory 1630 .
  • the aspect ratio adjusting circuit, routine, or application 1655 accesses the aspect ratio in the aspect ratio portion 1635 and increases the aspect ratio for that node until the larger rectangles of the subnodes of that node will fit into at least one rectangle with the smallest aspect ratio.
  • the layout testing circuit, routine, or application 1660 accesses the various rectangles for each node of the first subgroup of identified nodes and selects the rectangle for each node which has the least amount of empty space. If more than one rectangle for a node of the first subgroup of identified nodes has the same amount of empty space, the layout testing circuit, routine, or application 1660 will select the rectangle with the smallest circumference (i.e., closest to square). Under control of the controller 1625 , the selected rectangle for each node of the first subgroup of identified nodes is associated with its respective node and stored in the layouts portion 1631 of the memory 1630 .
  • the rectangle arranging circuit, routine, or application 1650 accesses the remaining nodes of the identified nodes as the second subgroup of identified nodes (i.e., having a rectangle associated with each subnode and a rectangle larger than a leaf rectangle associated with at least one subnode, but not included in the first subgroup of identified nodes).
  • the rectangle arranging circuit, routine, or application 1650 for each node of the of the second subgroup of identified nodes, arranges the larger rectangles of the subnodes of that node into a rectangles whose height/width or width/height is less than the aspect ratio stored in the aspect ratio portion 1635 of the memory 1630 .
  • the aspect ratio adjusting circuit, routine, or application 1655 accesses the aspect ratio in the aspect ratio portion 1635 and increases the aspect ratio for that node until the rectangles of the subnodes of that node will fit into at least one rectangle.
  • the layout testing circuit, routine, or application 1660 accesses the various rectangles for each node of the second subgroup of identified nodes and selects the rectangle for each node which has the least amount of empty space. If more than one rectangle for a node of the second subgroup of identified nodes has the same amount of empty space, the layout testing circuit, routine, or application 1660 selects the rectangle with the smallest circumference (i.e., closest to square). Under control of the controller 1625 , the selected rectangle for each node of the second subgroup of identified nodes is associated with its respective node and stored in the layouts portion 1631 of the memory 1630 .
  • the node identifying circuit, routine, or application 1640 again accesses the tree structure data stored in the tree structure portion 1632 and the layout data in the layout data portion 1631 and identifies each node that now has at least one rectangle associated with each subnode, at least one of the rectangles being larger than a leaf rectangle. These nodes become the new set of identified nodes, and the data flow continues as above.
  • the node identifying circuit, routine, or application accesses the tree structure data stored in the tree structure portion 1632 and the layout data in the layout data portion 1631 and determines that there is only a single layout associated with a single node, the solution layout has been determined (all layouts have been combined until the root node is associated with the only rectangle).
  • the single layout for the root node is stored in the solution layout portion 1634 of the memory 1630 .
  • the media associating circuit, routine, or application 1665 accesses the solution layout in the solution layout portion 1634 and the media data in the leaf data portion 1633 , and associates the media data for each leaf with that leafs location according to the solution layout.
  • the 3D visualization has been created and, under control of the controller 1625 , is ready to be output to the output device(s) 1610 across link 1602 via the input output interface.
  • one or more of the above-described elements of the 3D visualization system 1200 may be combined into a single element or divided into multiple elements where appropriate.
  • FIGS. 17-21 are flowcharts outlining an exemplary embodiment of a method for determining layout for the above-described 3D visualization, exemplified in FIGS. 7 and 8 , wherein each leaf node is assigned a different size parcel that reflects an attribute of that leaf node.
  • step S 2000 operation of the method begins in step S 2000 and continues to step S 2005 where the root node is selected as the current node. Then, operation continues to step S 2010 , where a determination is made whether the current node is a leaf node. If the current node is a leaf node, operation continues to step S 2015 , where a solution layout for the leaf node is constructed with a given width and height. Then, operation continues to step 52170 . However, if the current node is not a leaf node, operation continues to step S 2020 where the first or next subnode of the current node is selected as the current node. Operation continues to step S 2025 .
  • step S 2025 a determination is made whether the current node is a leaf node. If the current node is a leaf node, operation continues to step S 2030 where a layout is constructed for the leaf node with a given width and height. Otherwise, operation jumps to step S 2040 . Next, in step S 2035 , the constructed layout is assigned to a new set of layouts associated with the parent node of the current node. Then, operation jumps to step S 2065 .
  • step S 2040 a determination is made whether all the subnodes of the current node have been selected as a current node. If all subnodes of the current node have not been selected as a current node, operation returns to step S 2020 . If all subnodes of the current node have been selected as a current node, operation continues to step S 2045 . In step S 2045 , a determination is made whether more than one set of layouts is associated with the current node. If there is more than one set of layouts associated with the current node, operation jumps to step S 2070 . If there is not more than one set of layouts associated with the current node, operation continues to step S 2050 .
  • step S 2050 a determination is made whether the current node is the root node. If the current node is the root node, operation continues to step S 2055 . If the current node is not the root node, operation jumps to step S 2060 .
  • step S 2055 the “smallest” layout is selected from the set of layouts as the solution.
  • the “smallest” layout is determined to be the layout with the smallest circumference. As such, the “smallest” layout may not have the smallest overall area, but will have a small area and be the closest to square. Operation then continues to step S 2170 .
  • step S 2060 the set of layouts that is associated with the current node is associated with the parent node of the current node. Then, operation continues to step S 2065 , where the parent node is selected as the current node. Next, operation returns to step S 2040 , where it is once again determined whether all of the subnodes the current node have been selected as a current node.
  • step S 2070 an empty new set of layouts is created for the current node.
  • step S 2075 a set of layouts containing the smallest layout is selected from the sets of layouts associated with the current node as set 1 .
  • step S 2080 a set of layouts, other than set 1 , containing the smallest layout is selected from the sets of layouts associated with the current node as set 2 .
  • step S 2085 a first or next layout is selected from set 1 as the current layout of set 1 .
  • step S 2090 a first or next layout is selected from set 2 as the current layout of set 2 . Operation continues to step S 2095 .
  • step S 2095 the current layout of set 1 and the current layout of set 2 are combined horizontally adjacent to one another, separated by a given amount of space, to create the current combined layout.
  • step S 2100 determination is made whether the new set of layouts for the current node is empty. If the new set of layouts for the current node is empty, operation continues to step 52105 where the current combined layout is added to the new set of layouts for the current node. Then, operation jumps to step S 2145 . However, if the new set of layouts for the current node is not empty, operation continues to step S 2110 .
  • step S 2110 a first or next layout from the new set of layouts for the current node is selected as the current new layout. Then, operation continues to step 52115 , where it is determined whether the current combined layout is “larger” than the current new layout. According to various exemplary embodiments of this method, “larger” means that one layout has both a larger width and a larger height than another layout. If the current combined layout is larger than the current new layout, operation continues to step 52120 where the current combined layout is discarded. Then, operation jumps to step S 2145 . However, if the current combined layout is not larger than the current new layout, operation continues to step S 2125 .
  • step S 2125 it is determined whether the current new layout is “larger” than the current combined layout. If the current new layout is larger than the current combined layout, operation continues to step 52130 where the current new layout is discarded. Operation then continues to step S 2135 . However, if the current new layout is not larger than the current combined layout, operation jumps to step S 2135 . It should be appreciated that it is possible for the current combined layout to not be larger than the current new layout and the current new layout not be larger than the current combined layout since in order to be larger both the height and the width of one of the layouts must be respectively larger than the height and the width of the other layout.
  • step S 2135 a determination is made whether all of the layouts in the new set of layouts for the current node have been compared with the current combined layout. If not, operation returns to step 52110 . However, if all of the layouts of the new set of layouts for the current node have been compared with the current combined layout, operation continues to step S 2140 where the current combined layout is added to the new set of layouts for the current node. Then, operation continues to step S 2145 .
  • step S 2145 it is determined whether the current layout of set 1 and the current layout of set 2 have been combined both horizontally and vertically. If not, operation continues to step S 2150 , where the current layout of set 1 and the current layout of set 2 are combined vertically adjacent to one another, separated by a given amount of space, to create the current combined layout. Operation then returns to step 52110 . However, if the current layout of set 1 and the current layout of set 2 have been combined both horizontally and vertically, operation continues to step S 2155 .
  • step S 2155 it is determined whether all of the layouts from set 2 have been combined with the current layout from set 1 . If not, operation returns to step S 2090 where the next layout from set 2 is selected as the current layout of set 2 . If all of the layouts from set 2 have been combined with the current layout from set 1 , operation continues to step S 2160 . In step 52160 , it is determined whether all the layouts from set 1 have been selected as the current layout for set 1 . If not, operation returns to step S 2085 where the next layout from set 1 is selected as the current layout of set 1 . However, if all of the layouts from set 1 have been selected as the current layout for set 1 , operation continues to step S 2165 .
  • step S 2165 set 1 and set 2 are discarded, and therefore, are no longer associated with the current node. Then, operation returns to step S 2045 , where a determination is made whether there are more than on one set of layouts associated with the current node, and the operation of the flowchart continues as above.
  • step S 2170 the solution layout is selected as the current layout.
  • step S 2175 a starting x and y are associated with the current layout.
  • step 52180 it is determined whether the current layout is associated with a tree. If the current layout is associated with a tree, operation continues to step S 2185 , where the x, y, width, and height of the current layout are associated with the tree. Operation continues to step S 2190 . However, if the current layout is not associated with a tree, operation jumps directly from step S 2180 to step S 2190 .
  • step S 2190 it is determined whether the current layout is composed horizontally, (i.e., was the current layout created in step S 2095 ). If the current layout is composed horizontally, operation continues to step S 2195 . If the current layout is not composed horizontally, operation jumps to step S 2205 .
  • step 52195 the x and y of the current layout are associated with the left component layout, the left component layout being the layout of the left side of the horizontally combined current layout.
  • step S 2200 the left component layout is selected as the current layout. Then, operation returns to step S 2180 .
  • step S 2205 it is determined whether the current layout is composed vertically (i.e., was created during step S 2150 ). If the current layout is composed vertically, operation continues to step S 2210 . If the current layout is not composed vertically, operation jumps to step S 2220 . In step 52210 , the x and y of the current layout are associated with the lower component layout, the lower component layout being the layout on the bottom of the vertically combined current layout. Next, in step 52215 , the lower component layout is selected as the current layout. Then, operation returns to step S 2180 .
  • step S 2220 a determination is made whether the current layout is the solution layout. If the current layout is the solution layout, every component layout has been assigned a location and operation jumps to step S 2270 , where the method ends. However, if the current layout is not the solution layout, operation continues to step S 2225 .
  • step S 2225 the enclosing layout is selected as the current layout. Then, in step S 2230 , it is determined whether the current layout is composed horizontally. If the current layout is not composed horizontally, operation jumps to step S 2250 . However, if the current layout is composed horizontally, operation continues to step S 2235 where it is determined whether the right layout has been assigned a position value (i.e., whether or not an x and y is associated with the right layout). If so, operation returns to step S 2220 . However, if the right layout has not been assigned a position value, operation continues to step S 2240 . In step S 2240 , the width of the left layout and a given amount of space is added to the x associated with the current layout. Then, this new value and the y of the current layout are associated with the right layout. Next, operation continues to step S 2245 where the right layout is selected as the current layout. Then, operation returns to step S 2180 .
  • step S 2245 the right layout is selected as the current layout.
  • step S 2250 a determination is made whether the current layout is composed vertically. If not, operation returns to step S 2220 . However, if the current layout is composed vertically, operation continues to step S 2255 where it is determined whether the upper layout has been assigned a position value. If the upper layout has been assigned a position value, operation returns to step S 2220 . If the upper layout has not been assigned a position value, operation continues to step S 2260 where the height of the lower layout and a given amount of space is added to the y associated with the current layout. Then, the x of the current layout and the new value for y is associated with the upper layout. Next, operation continues to step S 2265 .
  • step S 2265 the upper layout is selected as the current layout and operation returns to step S 2180 .
  • the operation of the flowchart will continue to move the various steps until, in step S 2220 the current layout is the solution layout. At such time, each component layout of the solution layout has been assigned a position value and operation continues to step S 2270 where operation of the method ends.
  • FIG. 22 is exemplary embodiment of a functional block diagram of another exemplary embodiment of a 3D visualization system 2200 that is usable to create 3D visualizations according to the invention.
  • the 3D visualization system 2200 includes an input/output interface 2220 , a controller 2225 , a memory 2230 , a node identifying determining circuit, routine, or application 2240 , a set associating circuit, routine, or application 2245 , a set creating circuit, routine, or application 2250 , a layout size comparing circuit, routine, or application 2255 , a layout constructing circuit, routine, or application 2260 , a horizontal layout combining circuit, routine, or application 2265 , a vertical layout combining circuit, routine, or application 2270 , and a media associating circuit, routine, or application 2275 , each appropriately interconnected by one or more data/control busses and/or application programming interfaces 2280 , or the like.
  • the input/output interface 2220 is connected to one or more input devices 2205 over one or more links 2201 .
  • the input device(s) 2205 can be one or more of a keyboard, a mouse, a track ball, a track pad, a touch screen, a virtual reality glove, or any other known or later-developed device for inputting data and/or control signals to the 3D visualization system 2200 .
  • the input/output interface 2220 is connected to one or more output devices 2210 over one or more links 2202 .
  • the output device(s) 2210 can be one or more of a computer monitor, cathode ray tube, liquid crystal display, image projector, electrophoretic display, a virtual reality display device, or any other known or later-developed device for visually displaying 3D visualization data output from the 3D visualization system 2200 .
  • the input/output interface 2220 is connected to a data source 2300 over a link 2301 .
  • the data source 2300 can be a locally or remotely located laptop or personal computer, a personal digital assistant, a tablet computer, a device that stores and/or transmits electronic data, such as a client or a server of a wired or wireless network, such as for example, an intranet, an extranet, a local area network, a wide area network, a storage area network, the Internet (especially the World Wide Web), and the like.
  • the data source 2000 can be any known or later-developed source that is capable of providing a media data organized in a tree to the input/output interface 2220 .
  • Each of the various links 2201 , 2202 , and 2301 can be any known or later-developed device or system for connecting the input device(s) 2205 , the output device(s) 2201 , and/or the data source 2300 , respectively, to the input/output interface 2220 .
  • the links 2201 , 2202 , and 2001 can each be implemented as one or more of a direct cable connection, a connection over a wide area network, a local area network or a storage area network, a connection over an intranet, a connection over an extranet, a connection over the Internet, a connection over any other distributed processing network or system, and/or an infrared, radio-frequency or other wireless connection.
  • the memory 2230 contains a number of different memory portions, including a layouts portion 2231 , a tree structure portion 2232 , a leaf data portion 2233 , and a solution layout portion 2234 .
  • the layouts portion 2231 of the memory 2230 stores various layouts.
  • the tree structure portion 2232 of the memory 2230 stores the tree structure of the data that will be represented in the 3D visualization.
  • the leaf data portion 2233 of the memory 2230 stores the media represented by each leaf in the tree structure.
  • the solution layout portion 2234 stores the solution layout that will be used in the 3D visualization.
  • the memory 2230 shown in FIG. 22 can be implemented using any appropriate combination of alterable, volatile or non-volatile memory or non-alterable, or fixed, memory.
  • the alterable memory whether volatile or non-volatile, can be implemented using any one or more of static or dynamic RAM, a floppy disk and disk drive, a writeable or re-re-writeable optical disk and disk drive, a hard drive, flash memory or the like.
  • the non-alterable or fixed memory can be implemented using any one or more of ROM, PROM, EPROM, EEPROM, an optical ROM disk, such as CD-ROM or DVD-ROM disk, and disk drive or the like.
  • the node identifying circuit, routine, or application 2240 accesses the tree structure data and determines the characteristics of a node.
  • the rectangle assigning circuit, routine, or application 2245 assigns rectangles to leaf nodes.
  • the set associating circuit, routine, or application 2245 associates various layouts with a set of layouts.
  • the set creating circuit, routine, or application 2250 creates empty sets with which various layouts may be associated.
  • the layout size comparing circuit, routine, or application 2255 compares the size various layouts.
  • the layout constructing circuit, routine, or application 2260 creates layouts for leaf nodes.
  • the horizontal layout combining circuit, routine, or application 2265 combines layouts horizontally into a larger layout.
  • the vertical layout combining circuit, routine, or application 2270 combines layouts vertically into a larger layout.
  • the media associating circuit, routine, or application 2265 associates the leaf data with the solution layout to create the 3D visualization.
  • the exemplary embodiment of the 3D visualization system 2200 shown in FIG. 16 operates in the following manner.
  • the data necessary for creating the 3D visualization is input from the data source 2000 across the link 2001 via the input/output interface 2220 and stored in the tree structure and leaf data portions 2232 , 2233 of the memory 2230 .
  • the node identifying circuit, routine, or application 2240 accesses the tree data stored in the tree structure portion and identifies the leaf nodes.
  • the layout constructing circuit, routine, or application 2260 accesses the identified leaf nodes and constructs a layout with a given width and height for each leaf node.
  • the set creating circuit, routine, or application 2250 creates an empty set of layouts for each of the identified leaf nodes. Then, under control of the controller 2225 , the layouts for each leaf node are stored within the new set created for that leaf node's layout node in the layouts portion 2231 of the memory 2230 and associated with the parent node of the leaf node for which the set was created.
  • the node identifying circuit, routine, or application 2240 accesses the tree structure data stored in the tree structure portion and identifies each node that only has one set associated with it. Then, under control of the controller 2225 , the set associating circuit, routine, or application 2245 associates that set with the first parent node in the identified node's progeny that has more than one subnodes. Next, under control of the controller 2225 , the node identifying circuit, routine, or application 2240 identifies all of the nodes that have a set of layouts associated with each of that node's subnodes.
  • the set creating circuit, routine, or application 2250 creates a new empty set of layouts for each of the identified nodes. Then, under control of the controller 2225 , for each identified node, the horizontal layout combining circuit, routine, or application 2265 selects a layout from the set of layouts containing the smallest layout (set 1 ). Then, for each identified node, under control of the controller 2225 , the horizontal layout combining circuit, routine, or application 2265 identifies the set of layouts other than set 1 with the smallest layout (set 2 ). Under control of the controller 2225 , the horizontal layout combining circuit, routine, or application 2265 combines each layout from set 1 with every layout from set 2 in a horizontally adjacent fashion.
  • the first of these combined layouts is stored in the newly created empty set of layouts for each of identified nodes. Then, under control of the controller 2225 , the remaining combined layouts for each identified node are accessed by the layout size comparing circuit, routine, or application 2255 .
  • the layout size comparing circuit, routine, or application 2255 under control of the controller 2225 , compares each combined layout with each of the layouts in the newly created set. If, under control of the controller 2225 , the layout size comparing circuit, routine, or application 2255 determines that a combined layout is “larger” than a layout in the new set (i.e., both the height and width of the combined layout is larger than the layout in the new set), the combined layout is discarded. If, under control of the controller 2225 , the layout size comparing circuit, routine, or application 2255 determines that a layout in the new set is “larger” than a combined layout, the new layout is discarded and the combined layout is stored in the new set.
  • the vertical layout combining circuit, routine, or application combines each of the layouts from set 1 with every layout from set 2 .
  • the layout size comparing circuit, routine, or application 2255 determines that a combined layout is “larger” than a layout in the new set, the combined layout is discarded. If, under control of the controller 2225 , the layout size comparing circuit, routine, or application 2255 determines that a layout in the new set is “larger” than a combined layout, the new layout is discarded and the combined layout is stored in the new set.
  • each of the layouts from set 1 has been combined vertically and horizontally with all of the layouts from set 2 , sets 1 and 2 are discarded.
  • the node identifying circuit, routine, or application 2240 under control of the controller 2225 , accesses the tree structure data stored in the tree structure portion 2232 and the layout data stored in the layout portion 2231 and identifies each node that only has one set associated with it. Then, under control of the controller 2225 , the set associating circuit, routine, or application 2245 associates that set with the first parent node in the identified node's progeny that has more than one subnodes. Next, under control of the controller 2225 , the node identifying circuit, routine, or application 2240 identifies all of the nodes that have had a set of layouts associated with each of that node's subnodes.
  • the set creating circuit, routine, or application 2250 again creates a new empty set of layouts for each of the identified nodes. In this manner, for each node, the sets of layouts associated with that node will be consolidated until one set remains and that set will be associated with the nodes parent node. The data flow repeats until, under control of the controller 2225 , the node identifying circuit, routine, or application 2240 determines that the root node has only one set of layouts associated with it and all of the subnodes of the parent node no longer have any sets.
  • the layout size comparing circuit, routine, or application 2255 accesses the set of layouts associated with the root node and selects the smallest layout from the set (i.e., the layout with the smallest circumference). Then, under control of the controller 2225 , the smallest layout is stored in the solution layout portion 2234 , of the memory 2230 . Next, under control of the controller 2225 , the media associating circuit, routine, or application accesses the solution layout in the solution layout portion 2234 and the media data in the leaf data portion 2233 , and associates the media data for each leaf with that leafs location according to the solution layout. At this point, the 3D visualization has been created and, under control of the controller 2225 , is ready to be output to the output device(s) 2210 across link 2202 via the input output interface 2220 .
  • one or more of the above-described elements of the 3D visualization system 1200 may be combined into a single element or divided into multiple elements where appropriate.
  • a 3D visualization of media indexed within a tree data structure wherein 3D objects representing the indexed media display visual summaries of the indexed media.
  • 3D objects representing the indexed media display visual summaries of the indexed media.

Abstract

A 3D graphical user interface includes a two-dimensional ground-plane layout representing the relationship between one or more leaf elements of a tree data structure The interface further includes at least one building-like structure, each of the at least one building-like structures corresponding to a respective one of the one or more leaf elements. Each of the at least one building-like structure provides a summary of media associated with the respective one of the more leaf elements corresponding to that at least one building-like structure.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of Invention
  • This invention relates to systems and methods for creating an interactive 3D visualization that indexes media and summarizes the indexed media.
  • 2. Description of Related Art
  • Based on increases in conventional computing speed and resource management, three-dimensional media indices are just recently becoming viable means for indexing a large amount of related media. However, the complexity of the index and information about the indexed media conveyed by the three-dimensional indices is rather limited.
  • For instance, SGI FSN is a file system navigator with a 3D landscape visualization. Directories are placed in a hierarchical tree layout in the landscape. Each directory in SGI FSN is represented by a pedestal. The size of the files in the directory is proportional to the pedestal height and the file age is shown by color. Files are placed on top of the directory pedestals. Each file is represented by a box.
  • U.S. patent application [Attorney Docket 114890] describes a method for creating and updating interactive 3D visualizations of media indices wherein separate indices are located above and below a ground plane. The indices are organized in a table structure defined by two axes and provide links to the media that is indexed. Various visual characteristics of the indices reflect characteristics of the media that is indexed as well as various user defined or group defined information relating to the indexed media.
  • Perspective Wall is a 3D visualization that indexes files. It utilizes a 3D wall with three sections and displays card icons for the files. 3D/Rooms is a 3D index that has a 3D multi-level building floor plan in which users can select a research group and retrieve photos of members and their offices.
  • Finally, There are many visualizations of the World Wide Web using 3D landscapes. Most of these such as WWW3D, WebPath, and VR-VIBE use abstract geometric objects to represent documents. The Web Forager, utilizes a space that contains 3D bookcases and 3D books, that when opened, display the indexed Web pages.
  • SUMMARY OF THE INVENTION
  • Each of the above-described systems for indexing media within a three-dimensional space shares a similar shortcoming. Particularly, a user is only able to discern very general, if any, qualities of the indexed media from the visualization itself. For example, according to U.S. patent application [Attorney Docket 114890] a user can determine how the media is classified within two axes or determine whether or not the media indexed is one of or a combination of graphics, text, video, etc. However, none of the above-described systems summarize the indexed media within the summary itself, such that a user can view a summary of the indexed media simply by viewing the 3D visualization of the indexed media.
  • Therefore, various exemplary embodiments of the systems, methods, and graphical user interfaces according to this invention provide an interactive 3D visualization wherein the surfaces of 3D objects representing indexed media provide visual summaries of the indexed media.
  • Various exemplary embodiments of the systems and methods according to this invention provide a 3D graphical user interface including a two-dimensional ground-plane layout representing the relationship between one or more leaf elements of a tree data structure; and at least one building-like structure, each of the at least one building-like structures corresponding to a respective one of the one or more leaf elements, wherein each of the at least one building-like structure provides a summary of media associated with the respective one of the more leaf elements corresponding to that at least one building-like structure.
  • Various exemplary embodiments of the systems and methods according to this invention provide a layout for a 3D visualization including inputting a tree data structure, each leaf of the tree associated with one or more forms of media; determining a plurality of candidate layouts; comparing the plurality of candidate layouts; selecting a solution layout; and constructing a 3D visualization based on the layout, wherein the representation of each leaf within the 3D visualization provides a summary of the media contained by that leaf within the input tree data structure.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Various exemplary embodiments of systems and methods according to this invention will be described in detail, with reference to the following figures, wherein:
  • FIGS. 1 and 2 show an exemplary embodiment of a 3D visualization that utilizes substantially square and similarly sized building-like structure plots;
  • FIGS. 3-6 show a number of variations of the 3D visualization shown in FIGS. 1 and 2;
  • FIGS. 7 and 8 show an exemplary embodiment of a 3D visualization according to this invention that utilizes differently sized building-like structure plots;
  • FIG. 9 shows a graphical user interface for use with the 3D visualizations of FIGS. 1-6;
  • FIG. 10 shows a graphical user interface for use with the 3D visualization of FIGS. 7 and 8;
  • FIGS. 11 and 12 are a flowchart outlining an exemplary embodiment of a grid layout method for the type of 3D visualizations shown in FIGS. 1-6.
  • FIG. 13 shows an example of leaf nodes layouts and branch nodes layouts;
  • FIG. 14 shows the layouts of FIG. 13 in which the leaf node layouts are combined into a single layout;
  • FIG. 15 shows an example of the layouts of FIG. 14 combined into larger layouts;
  • FIG. 16 shows an exemplary embodiment of a functional block diagram of a 3D visualization system;
  • FIGS. 17-21 are a flowchart outlining an embodiment of a method for determining layout for the type of 3D visualizations shown in FIGS. 7 and 8; and
  • FIG. 22 shows an exemplary embodiment of a functional block diagram of a 3D visualization system.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • FIGS. 1 and 2 show an exemplary embodiment of a 3D visualization 100 according to this invention that utilizes substantially square and similarly sized building-like structure plots.
  • As shown in FIGS. 1 and 2, the 3D visualization utilizes a city metaphor in which each amount of media, indexed by a leaf in a tree data structure, is represented by a building-like structure 120. According to this exemplary embodiment, the indexed media is video. However, any other media such as text, graphics, charts, etc. may be used. The indexed media is summarized on the roof 122 and walls 124, 126, and 128 (rear not shown) of the buildings such that a user navigating the 3D visualization has an idea of the contents of each leaf without having to access that leaf. In various exemplary embodiments, the roof 122 and sides 124, 126, 128 (rear not shown)of the buildings display the same summary. Alternatively, each of the roof 122 and sides 124, 126, 128 (rear not shown) have different summaries. In various exemplary embodiments, a video is summarized by arranging key frames of the video in a predefined rectangular area (here defined by the height and width of the sides and roof of the buildings). FXPAL-IP-98-018 and U.S. patent application Ser. No. 10/392,822 describe methods for automatic video summary using key frames and are incorporated herein by reference in their entirety. Key frame video summaries work particularly well within the context of a city metaphor because each of the summary's frames resemble windows on the side of the building-like structures.
  • As shown in FIGS. 1 and 2, and consistent with the city metaphor, each building-like structure 120 exists on a lot 110 wherein a curb width 140 is the distance from the building-like structure to a road. In various exemplary embodiments, the curb width is inversely proportional to a numerical value associated with each indexed portion of the media. For instance, the numerical value may represent the length of the video or an importance of the video determined by the user, or a predefined group of users. As such, the indexed portions of media that have the higher numerical values will have a smaller curb width and the building-like structure will be larger.
  • It should be appreciated that, in other exemplary embodiments of the 3D visualization according to this invention, the numerical value may be directly proportional to the building-like structure's foot print. However, in practice this may result in building-like structures that are too thin to effectively summarize their respectively indexed media, or building-like structures that are too wide and obstruct a user's view of other buildings.
  • As shown in FIGS. 1 and 2, and consistent with a city metaphor, a road separates each lot 110. In various exemplary embodiments, the road width (e.g., 130, 132) represents the distance between the respective indexed media portions within the underlying tree data structure. For example, lots 110 that are separated by roads with a road width 130 are closer to one another within the tree data structure (e.g., leaves) than lots 110 that are separated by roads with road width 132 (e.g., braches).
  • Furthermore, in various exemplary embodiments, the height 250 of each building-like structure is proportional to a numerical value associated with each indexed portion of the media. For instance, the numerical value may represent the length of the video or an importance of the video determined by the user, or a predefined group of users.
  • In various exemplary embodiments, as shown in FIG. 1, text may be included in the visualization to provide labels 150 for various groups of indexed media. In various exemplary embodiments, these labels float over the building-like structures to simulate clouds, consistent with a city metaphor.
  • FIGS. 3-6 show a number of exemplary variations 300, 400, 500, and 600 of the visualization 100 shown in FIGS. 1 and 2. According to the variations 300, 400, 500, and 600, each leaf represented by a building-like structure is summarized by up to four types of media (single video frames 310, key frame summaries 410, slide images 510 and text 610). In each exemplary variation 300, 400, 500, and 600, a different type of media is displayed on the roof In various exemplary embodiments of the invention, the type of media that most effectively summarizes the indexed media portion is displayed on the roof because, typically, the roof is most visible from viewpoints in which all or many of the building-like structures are visible.
  • FIGS. 7 and 8 show an exemplary embodiment of a 3D visualization according to this invention that utilizes differently sized building-like structure plots wherein the size of each building-like structure's plot is proportional to some numerical quality of the index media represented by that building-like structure.
  • Similar to the previously described embodiments of FIGS. 1-6, the building-like structures have curb widths and building heights that are proportional to some numerical qualities of the indexed media portion (leaf) represented by the building-like structures. Again, similar to the previously described embodiments, FIG. 7 shows road widths 732 that represent the distance between the respective indexed media portions within the tree structure.
  • As shown in FIGS. 7 and 8, according to this exemplary embodiment the plots 710 of each building-like structure for each leaf are arranged into larger plots 740, 760 wherein each larger plot 740, 760 includes all of the plots representing its subnodes according to the underlying tree data structure (e.g., leaf plot 710 is contained n larger plot 740 which is contained in larger plot 760). Text may be included in the visualization to provide labels 150 for various groups of indexed media. In various exemplary embodiments, these labels 150 float over the building-like structures to simulate clouds, consistent with a city metaphor.
  • In order to facilitate the use of the above-described 3D visualization according to various exemplary embodiments of the invention as a graphical user interface, various exemplary embodiments provide a number of functions that facilitate the effective viewing of and interaction with the various portions of the 3D visualizations. Various exemplary embodiments, enable a user of the visualization to change the viewing angles, viewing distance, and view point. For example, FIG. 1 shows the visualization of the first embodiment, in which the view is relatively distant and tilted to primarily display the fronts 124 and tops 122 of the building-like structures Alternatively, FIG. 2 shows the visualization of the first embodiment in which the view is relatively close and tilted to primarily display the fronts 124 and tops 122 of the building-like structures. A user may change the viewing angle by, for example grabbing the visualization and rotating it with a pointing device, touch screen, or virtual reality interaction devices such a glove, by using keyboard commands, or by any other known or later developed input device.
  • Furthermore, various exemplary embodiments allow a user to access the indexed media portions by clicking on the various summaries on the building-like structures. For example, clicking on a single video frame 310 or a frame within a key frame summary 410 will play the indexed video beginning from that frame. Similarly, clicking on a slide 510 will access a larger view of the indexed slide or an indexed group of slides. Clicking on a text summary 610 will access the document or documents that the text summary 610 represents.
  • Alternatively, as shown in FIGS. 9 and 10, various exemplary embodiments of the invention provide graphical user interfaces 900, 1000 including a number of slides 920 and 922 and buttons 924, 926, 928, 930, 932, 934, 936, and 938 that enable a user to navigate and interact with the visualization. FIG. 9 shows one exemplary embodiment of a graphical user interface for use with the 3D visualization of FIGS. 1-6. FIG. 10 shows one exemplary embodiment of a graphical user interface for use with the 3D visualization of FIGS. 7 and 8. In FIGS. 9 and 10, buttons 936, 934, 932, 938 move the viewpoint forward, backward, left, and right, respectively. Buttons 928 and 930 zoom the viewpoint in and out. Buttons 924 and 926 move the viewpoint up and down (in altitude). Slider 922 tilts the view. Slider 920 is a controller does several operations together; it changes altitude and tilts the view, such that the point at center of the screen is kept fixed. As such, slider 922 enables the user to see the rooftop when high up, to see the front of the building when near the ground, and to maintain the building in the center of the screen in view.
  • FIGS. 11 and 12 show a flowchart outlining an exemplary embodiment of a grid layout method for the above-described type of 3D visualization that utilizes substantially square and similarly sized building-like structure plots according to this invention. As discussed above, the data to be visualized is organized as tree of elements where each branch in the tree is represented by a relatively square rectangle and all of the elements within this rectangle are part of that branch of the tree. This exemplary embodiment of a layout method balances the desire to minimize blank space in the layout with the need for a relatively square layout to match the shape of the majority of output devices, e.g., a computer monitor, a printer, or the like. A single line layout would produce no blank space but would not be an efficient use of output device real estate.
  • As shown in FIGS. 11 and 12, operation of the method begins in ‘step S1000 and continues to step S1005 where each leaf of the tree is assigned a similar substantially rectangular area. Then, in step S1010, a first/next node whose subnodes are all leaves is selected as the current node. Next, in step S1015, the leaves of the current node are arranged into a larger rectangle such that the ratio of the height to width and the ratio of the width to height is less than a predetermined aspect ratio and that larger rectangle is assigned to the current node. The predetermined aspect ratio is used to insure that the resulting rectangle is relatively square. This prevents the creation of rectangles that are long and thin. Operation of the method continues to step S1020.
  • In step S1020, a determination is made whether the current node is the root node of the tree. If the current node is the root node, all of the leaves of the tree have been arranged within a rectangle and operation jumps to step 51085 where the operation of the method ends. However, if the current node is not the root node, operation continues to step S1025.
  • In step 51025, a determination is made whether all of the nodes whose subnodes are all leaves have been selected as the current node. If all of the nodes whose subnodes are all leaves have not been selected as the current node, operation returns to step S1010. However, if all of the nodes whose subnodes are all leaves have been selected as the current node, operation continues to step S1030.
  • In step S1030, a first/next node that has at least one larger rectangle associated with one of its subnodes and a rectangle associated with each subnode is selected as a current node. Then, in step S1035, a determination is made whether a current node has more than one leaf rectangle and more than one larger rectangle associated with its subnodes. For example, as shown in FIG. 13, there are five leaf nodes 1300 and three branch nodes (larger rectangles) 1305, 1310, 1315. If the current node does not have more than one leaf rectangle and more than one larger rectangle associated with its subnodes, operation continues to step S1040. However, if the current node has more than one leaf rectangle and more than one larger rectangle associated with its subnodes, operation jumps to step S1055.
  • In step S1040, the various rectangles, both leaf rectangles and larger rectangles, associated with the subnodes of the current node are arranged into larger rectangles such that the ratio of the height to width and the ratio of the width to height is less than the predetermined aspect ratio. Then, in step S1045, a determination is made whether a successful layout was found such that each of the rectangles fit within a new larger rectangle with a minimum of empty space. If a successful layout is not found, operation to continues to step 51050, where the aspect of ratio is increased. Then, operation returns to step S 1040. However, if a successful layout is found, operation jumps to step S1080.
  • In step S1055, the various leaf rectangles associated with the subnodes of the current node are arranged into a larger rectangle such that the ratio of the height to width and width to height is less than the predetermined aspect ratio. For example, as shown in FIG. 14, the leaf nodes of FIG. 13 are combined into a single larger rectangle 1400. [EXPAND ON ADVANTAGE OF THIS STEP] In various exemplary embodiments, it is advantageous to group the leaf nodes into a larger rectangle because they represent media files in the same directory in the directory tree and therefore should remain close together, rather than scattered throughout the layout. Next, in step S1060, the larger rectangles, including the larger rectangle composed of the various leaf rectangles associated with the subnodes of the current node, are arranged into various larger rectangles such that the ratio of the height to width and width to height is less than the predetermined aspect ratio. For example, as shown in FIG. 15, the various rectangles 1305, 1310, 1315, 1400 are combined into a number of larger rectangles 1500, 1510, 1520. For the purpose of this example, the aspect ratio is 1.5 (the height cannot be more than 1.5 times the width and vice versa) and rectangles 1500, 1510 and 1520 show the three larger rectangles that would be considered (4×6, 5×5, and 6×4).
  • Then, in step 51065, a determination is made whether a successful layout was found such that each of the rectangles fit within the new larger rectangle with a minimum of empty space. As shown in FIG. 15, rectangle 1500 encloses each of the smaller rectangles 1305, 1310, 1315, 1400 with only three units of empty space. Rectangle 1510 encloses each of the smaller rectangles 1305, 1310, 1315, 1400 with four units of empty space. Rectangle 1520 cannot enclose each of the smaller rectangles 1305, 1310, 1315, 1400. It should be appreciated that, in various exemplary embodiments, when the rectangles have the same amount of empty space, preference is given to the rectangle with the smallest circumference. Returning to FIGS. 11 and 12, if a successful layout was not found, operation continues to step S1070, where the aspect ratio is increased. Then, operation returns to step S1055. However, if a successful layout was found, operation continues to step S1080.
  • In step 51080, the successful layout is assigned to the current node. Then, in step S 1085, a determination is made whether the current node is the root node. If the current node is the root node, operation continues to step S 1090 where the method ends. However, if the current node is not the root node, operation returns to step S 1030 where the next node that has at least one larger rectangle associated with one of its subnodes and a rectangle associated with each subnode is selected as the current node. Operation of the flowchart will continue until, in step S 1085, the current node is the root node.
  • FIG. 16 is an exemplary embodiment of a functional block diagram of an exemplary embodiment of a 3D visualization system 1600 that is usable to create 3D visualizations according to the invention. As shown in FIG. 16, the 3D visualization system 1600 includes an input/output interface 1620, a controller 1625, a memory 1630, a node identifying circuit, routine, or application 1640, a rectangle assigning circuit, routine, or application 1645, a rectangle arranging circuit, routine, or application 1650, an aspect ratio adjusting circuit, routine, or application 1655, a layout testing comparing circuit, routine, or application 1660, and a media associating circuit, routine, or application 1665, each appropriately interconnected by one or more data/control busses and/or application programming interfaces 1670, or the like.
  • In this exemplary embodiment, the input/output interface 1620 is connected to one or more input devices 1605 over one or more links 1601. The input device(s) 1605 can be one or more of a keyboard, a mouse, a track ball, a track pad, a touch screen, a virtual reality glove, or any other known or later-developed device for inputting data and/or control signals to the 3D visualization system 1600. Furthermore, in this exemplary embodiment, the input/output interface 1620 is connected to one or more output devices 1610 over one or more links 1602. The output device(s) 1610 can be one or more of a computer monitor, cathode ray tube, liquid crystal display, image projector, electrophoretic display, a virtual reality display device, or any other known or later-developed device for visually displaying 3D visualization data output from the 3D visualization system 1600.
  • In this exemplary embodiment, the input/output interface 1620 is connected to a data source 1700 over a link 1701. The data source 1700 can be a locally or remotely located laptop or personal computer, a personal digital assistant, a tablet computer, a device that stores and/or transmits electronic data, such as a client or a server of a wired or wireless network, such as for example, an intranet, an extranet, a local area network, a wide area network, a storage area network, the Internet (especially the World Wide Web), and the like. In general, the data source 1700 can be any known or later-developed source that is capable of providing a media data organized in a tree to the input/output interface 1620.
  • Each of the various links 1601, 1602, and 1701 can be any known or later-developed device or system for connecting the input device(s) 1605, the output device(s) 1601, and/or the data source 1700, respectively, to the input/output interface 1620. In particular, the links 1601, 1602, and 1701 can each be implemented as one or more of a direct cable connection, a connection over a wide area network, a local area network or a storage area network, a connection over an intranet, a connection over an extranet, a connection over the Internet, a connection over any other distributed processing network or system, and/or an infrared, radio-frequency or other wireless connection.
  • As shown in FIG. 16, the memory 1630 contains a number of different memory portions, including a layouts portion 1631, a tree structure portion 1632, a leaf data portion 1633, a solution layout portion 1634, and an aspect ratio portion 1235. The layouts portion 1631 of the memory 1630 stores various layouts. The tree structure portion 1632 of the memory 1630 stores the tree structure of the data that will be represented in the 3D visualization. The leaf data portion 1633 of the memory 1630 stores the media represented by each leaf in the tree structure. The solution layout portion 1634 stores the solution layout that will be used in the 3D visualization. The aspect ratio portion 1235 stores the aspect ratio used to determine the various layouts.
  • The memory 1630 shown in FIG. 16 can be implemented using any appropriate combination of alterable, volatile or non-volatile memory or non-alterable, or fixed, memory. The alterable memory, whether volatile or non-volatile, can be implemented using any one or more of static or dynamic RAM, a floppy disk and disk drive, a writeable or re-re-writeable optical disk and disk drive, a hard drive, flash memory or the like. Similarly, the non-alterable or fixed memory can be implemented using any one or more of ROM, PROM, EPROM, EEPROM, an optical ROM disk, such as CD-ROM or DVD-ROM disk, and disk drive or the like.
  • The node identifying circuit, routine, or application 1640 accesses the tree structure data and determines the characteristics of a node. The rectangle assigning circuit, routine, or application 1645 assigns rectangular layouts to leaf nodes. The rectangle arranging circuit, routine, or application 1650 arranges rectangular layouts into various larger rectangular layouts, based on the aspect ratio. The aspect ratio adjusting circuit, routine, or application 1655 adjusts the aspect ratio. The layout testing circuit, routine, or application 1660 tests various layouts to based on the amount of empty space. Finally, the media associating circuit, routine, or application 1665 associates the leaf data with the solution layout to create the 3D visualization.
  • In operation, the exemplary embodiment of the 3D visualization system 1600 shown in FIG. 16 operates in the following manner. Under control of the controller 1625, the data necessary for creating the 3D visualization is input form the data source 1700 across the link 1701 via the input/output interface 1620 and stored in the tree structure and leaf data portions 1632, 1633 of the memory 1630. Next, under control of the controller 1625, the node identifying circuit, routine, or application 1640 accesses the tree structure data in the tree structure portion 1632 of the memory 1630 and identifies each of the leaf nodes. Then, under control of the controller 1625, the rectangle assigning circuit, routine, or application 1645, accesses the identified leaf nodes and assigns each leaf node a similar substantially rectangular area. The rectangles for each leaf node, under control of the controller 1625, are associated with their respective leaf node and stored in the layouts portion 1631 of the memory 1630.
  • Under control of the controller 1625, the node identifying circuit, routine, or application 1640 accesses the tree structure data stored in the tree structure portion 1632 and the layout data in the layout data portion 1631 and identifies each node whose subnodes are all leaves. Then, under control of the controller 1625, the rectangle arranging circuit, routine, or application 1650 accesses the identified subnodes and arranges the rectangles assigned to the leaf nodes of each identified node into a larger rectangle. The rectangles for the identified nodes, under control of the controller 1625, are associated with their respective identified nodes and stored in the layouts portion 1631 of the memory 1630.
  • Under control of the controller 1625, the node identifying circuit, routine, or application 1650 accesses the tree structure data stored in the tree structure portion 1632 and the layout data in the layout data portion 1631 and identifies each node that has at least one rectangle associated with each subnode, at least one of the rectangles being larger than a leaf rectangle. Of these identified nodes, under control of the controller 1625, the node identifying circuit, routine, or application 1640, further identifies a first subgroup of the identified nodes that have more than one leaf rectangle associated with its subnodes, and more than one rectangle larger than a leaf rectangle associate with its subnodes.
  • Under control of the controller 1625, the rectangle arranging circuit, routine, or application 150 accesses the first subgroup of the identified nodes, and for each node, arranges the various leaf rectangles associated with the subnodes of that node into a larger rectangle with the smallest circumference. Then, under control of the controller 1625, the rectangle arranging circuit, routine, or application 1650, for each node of the of the first subgroup of identified nodes, arranges the larger rectangles of the subnodes of that node into rectangles whose height/width or width/height is less than the aspect ratio stored in the aspect ratio portion 1635 of the memory 1630. When, for a particular node, the larger rectangles of the subnodes of that node will not fit into any rectangle according to the aspect ratio, the aspect ratio adjusting circuit, routine, or application 1655 accesses the aspect ratio in the aspect ratio portion 1635 and increases the aspect ratio for that node until the larger rectangles of the subnodes of that node will fit into at least one rectangle with the smallest aspect ratio.
  • Then, under control of the controller 1625, the layout testing circuit, routine, or application 1660 accesses the various rectangles for each node of the first subgroup of identified nodes and selects the rectangle for each node which has the least amount of empty space. If more than one rectangle for a node of the first subgroup of identified nodes has the same amount of empty space, the layout testing circuit, routine, or application 1660 will select the rectangle with the smallest circumference (i.e., closest to square). Under control of the controller 1625, the selected rectangle for each node of the first subgroup of identified nodes is associated with its respective node and stored in the layouts portion 1631 of the memory 1630.
  • Once a rectangle has been stored in the layouts portion 1631 for each node of the first subgroup of identified nodes, the rectangle arranging circuit, routine, or application 1650 accesses the remaining nodes of the identified nodes as the second subgroup of identified nodes (i.e., having a rectangle associated with each subnode and a rectangle larger than a leaf rectangle associated with at least one subnode, but not included in the first subgroup of identified nodes). Then, under control of the controller 1625, the rectangle arranging circuit, routine, or application 1650, for each node of the of the second subgroup of identified nodes, arranges the larger rectangles of the subnodes of that node into a rectangles whose height/width or width/height is less than the aspect ratio stored in the aspect ratio portion 1635 of the memory 1630. When, for a particular node, the larger rectangles of the subnodes of that node will not fit into any rectangle according to the aspect ratio, the aspect ratio adjusting circuit, routine, or application 1655 accesses the aspect ratio in the aspect ratio portion 1635 and increases the aspect ratio for that node until the rectangles of the subnodes of that node will fit into at least one rectangle.
  • Then, under control of the controller 1625, the layout testing circuit, routine, or application 1660 accesses the various rectangles for each node of the second subgroup of identified nodes and selects the rectangle for each node which has the least amount of empty space. If more than one rectangle for a node of the second subgroup of identified nodes has the same amount of empty space, the layout testing circuit, routine, or application 1660 selects the rectangle with the smallest circumference (i.e., closest to square). Under control of the controller 1625, the selected rectangle for each node of the second subgroup of identified nodes is associated with its respective node and stored in the layouts portion 1631 of the memory 1630.
  • Once a rectangle has been selected and stored in the layouts portion 1631 for each node of the identified nodes (i.e., both the first and second subgroups), under control of the controller 1625, the node identifying circuit, routine, or application 1640 again accesses the tree structure data stored in the tree structure portion 1632 and the layout data in the layout data portion 1631 and identifies each node that now has at least one rectangle associated with each subnode, at least one of the rectangles being larger than a leaf rectangle. These nodes become the new set of identified nodes, and the data flow continues as above. However, when at any time during the operation of the 3D visualization system 1600, under control of the controller 1625, the node identifying circuit, routine, or application accesses the tree structure data stored in the tree structure portion 1632 and the layout data in the layout data portion 1631 and determines that there is only a single layout associated with a single node, the solution layout has been determined (all layouts have been combined until the root node is associated with the only rectangle).
  • Then, under control of the controller 1625, the single layout for the root node is stored in the solution layout portion 1634 of the memory 1630. Next, under control of the controller 1625, the media associating circuit, routine, or application 1665 accesses the solution layout in the solution layout portion 1634 and the media data in the leaf data portion 1633, and associates the media data for each leaf with that leafs location according to the solution layout. At this point the 3D visualization has been created and, under control of the controller 1625, is ready to be output to the output device(s) 1610 across link 1602 via the input output interface.
  • It should be appreciated that, depending on cost or other design constraints, one or more of the above-described elements of the 3D visualization system 1200 may be combined into a single element or divided into multiple elements where appropriate.
  • FIGS. 17-21 are flowcharts outlining an exemplary embodiment of a method for determining layout for the above-described 3D visualization, exemplified in FIGS. 7 and 8, wherein each leaf node is assigned a different size parcel that reflects an attribute of that leaf node.
  • As shown in FIG. 17, operation of the method begins in step S2000 and continues to step S2005 where the root node is selected as the current node. Then, operation continues to step S2010, where a determination is made whether the current node is a leaf node. If the current node is a leaf node, operation continues to step S2015, where a solution layout for the leaf node is constructed with a given width and height. Then, operation continues to step 52170. However, if the current node is not a leaf node, operation continues to step S2020 where the first or next subnode of the current node is selected as the current node. Operation continues to step S2025.
  • In step S2025, a determination is made whether the current node is a leaf node. If the current node is a leaf node, operation continues to step S2030 where a layout is constructed for the leaf node with a given width and height. Otherwise, operation jumps to step S2040. Next, in step S2035, the constructed layout is assigned to a new set of layouts associated with the parent node of the current node. Then, operation jumps to step S2065.
  • In step S2040, a determination is made whether all the subnodes of the current node have been selected as a current node. If all subnodes of the current node have not been selected as a current node, operation returns to step S2020. If all subnodes of the current node have been selected as a current node, operation continues to step S2045. In step S2045, a determination is made whether more than one set of layouts is associated with the current node. If there is more than one set of layouts associated with the current node, operation jumps to step S2070. If there is not more than one set of layouts associated with the current node, operation continues to step S2050.
  • In step S2050, a determination is made whether the current node is the root node. If the current node is the root node, operation continues to step S2055. If the current node is not the root node, operation jumps to step S2060.
  • In step S2055, the “smallest” layout is selected from the set of layouts as the solution. In various exemplary embodiments, the “smallest” layout is determined to be the layout with the smallest circumference. As such, the “smallest” layout may not have the smallest overall area, but will have a small area and be the closest to square. Operation then continues to step S2170.
  • In step S2060, the set of layouts that is associated with the current node is associated with the parent node of the current node. Then, operation continues to step S2065, where the parent node is selected as the current node. Next, operation returns to step S2040, where it is once again determined whether all of the subnodes the current node have been selected as a current node.
  • In step S2070, an empty new set of layouts is created for the current node. Next, in step S2075, a set of layouts containing the smallest layout is selected from the sets of layouts associated with the current node as set 1. Then, in step S2080, a set of layouts, other than set 1, containing the smallest layout is selected from the sets of layouts associated with the current node as set 2. Next, step S2085, a first or next layout is selected from set 1 as the current layout of set 1. Then, in step S2090, a first or next layout is selected from set 2 as the current layout of set 2. Operation continues to step S2095.
  • In step S2095 the current layout of set 1 and the current layout of set 2 are combined horizontally adjacent to one another, separated by a given amount of space, to create the current combined layout. Next, in step S2100, determination is made whether the new set of layouts for the current node is empty. If the new set of layouts for the current node is empty, operation continues to step 52105 where the current combined layout is added to the new set of layouts for the current node. Then, operation jumps to step S2145. However, if the new set of layouts for the current node is not empty, operation continues to step S2110.
  • In step S2110, a first or next layout from the new set of layouts for the current node is selected as the current new layout. Then, operation continues to step 52115, where it is determined whether the current combined layout is “larger” than the current new layout. According to various exemplary embodiments of this method, “larger” means that one layout has both a larger width and a larger height than another layout. If the current combined layout is larger than the current new layout, operation continues to step 52120 where the current combined layout is discarded. Then, operation jumps to step S2145. However, if the current combined layout is not larger than the current new layout, operation continues to step S2125.
  • In step S2125, it is determined whether the current new layout is “larger” than the current combined layout. If the current new layout is larger than the current combined layout, operation continues to step 52130 where the current new layout is discarded. Operation then continues to step S2135. However, if the current new layout is not larger than the current combined layout, operation jumps to step S2135. It should be appreciated that it is possible for the current combined layout to not be larger than the current new layout and the current new layout not be larger than the current combined layout since in order to be larger both the height and the width of one of the layouts must be respectively larger than the height and the width of the other layout.
  • In step S2135, a determination is made whether all of the layouts in the new set of layouts for the current node have been compared with the current combined layout. If not, operation returns to step 52110. However, if all of the layouts of the new set of layouts for the current node have been compared with the current combined layout, operation continues to step S2140 where the current combined layout is added to the new set of layouts for the current node. Then, operation continues to step S2145.
  • In step S2145, it is determined whether the current layout of set 1 and the current layout of set 2 have been combined both horizontally and vertically. If not, operation continues to step S2150, where the current layout of set 1 and the current layout of set 2 are combined vertically adjacent to one another, separated by a given amount of space, to create the current combined layout. Operation then returns to step 52110. However, if the current layout of set 1 and the current layout of set 2 have been combined both horizontally and vertically, operation continues to step S2155.
  • In step S2155, it is determined whether all of the layouts from set 2 have been combined with the current layout from set 1. If not, operation returns to step S2090 where the next layout from set 2 is selected as the current layout of set 2. If all of the layouts from set 2 have been combined with the current layout from set 1, operation continues to step S2160. In step 52160, it is determined whether all the layouts from set 1 have been selected as the current layout for set 1. If not, operation returns to step S2085 where the next layout from set 1 is selected as the current layout of set 1. However, if all of the layouts from set 1 have been selected as the current layout for set 1, operation continues to step S2165.
  • In step S2165, set 1 and set 2 are discarded, and therefore, are no longer associated with the current node. Then, operation returns to step S2045, where a determination is made whether there are more than on one set of layouts associated with the current node, and the operation of the flowchart continues as above.
  • In steps S2015 and S2055, once a solution layout has been determined, operation continues to step S2170. In step S2170, the solution layout is selected as the current layout. Next, in step S2175, a starting x and y are associated with the current layout. Then, in step 52180, it is determined whether the current layout is associated with a tree. If the current layout is associated with a tree, operation continues to step S2185, where the x, y, width, and height of the current layout are associated with the tree. Operation continues to step S2190. However, if the current layout is not associated with a tree, operation jumps directly from step S2180 to step S2190.
  • In step S2190, it is determined whether the current layout is composed horizontally, (i.e., was the current layout created in step S2095). If the current layout is composed horizontally, operation continues to step S2195. If the current layout is not composed horizontally, operation jumps to step S2205.
  • In step 52195, the x and y of the current layout are associated with the left component layout, the left component layout being the layout of the left side of the horizontally combined current layout. Next, in step S2200, the left component layout is selected as the current layout. Then, operation returns to step S2180.
  • In step S2205, it is determined whether the current layout is composed vertically (i.e., was created during step S2150). If the current layout is composed vertically, operation continues to step S2210. If the current layout is not composed vertically, operation jumps to step S2220. In step 52210, the x and y of the current layout are associated with the lower component layout, the lower component layout being the layout on the bottom of the vertically combined current layout. Next, in step 52215, the lower component layout is selected as the current layout. Then, operation returns to step S2180.
  • In step S2220, a determination is made whether the current layout is the solution layout. If the current layout is the solution layout, every component layout has been assigned a location and operation jumps to step S2270, where the method ends. However, if the current layout is not the solution layout, operation continues to step S2225.
  • In step S2225, the enclosing layout is selected as the current layout. Then, in step S2230, it is determined whether the current layout is composed horizontally. If the current layout is not composed horizontally, operation jumps to step S2250. However, if the current layout is composed horizontally, operation continues to step S2235 where it is determined whether the right layout has been assigned a position value (i.e., whether or not an x and y is associated with the right layout). If so, operation returns to step S2220. However, if the right layout has not been assigned a position value, operation continues to step S2240. In step S2240, the width of the left layout and a given amount of space is added to the x associated with the current layout. Then, this new value and the y of the current layout are associated with the right layout. Next, operation continues to step S2245 where the right layout is selected as the current layout. Then, operation returns to step S2180.
  • In step S2250, a determination is made whether the current layout is composed vertically. If not, operation returns to step S2220. However, if the current layout is composed vertically, operation continues to step S2255 where it is determined whether the upper layout has been assigned a position value. If the upper layout has been assigned a position value, operation returns to step S2220. If the upper layout has not been assigned a position value, operation continues to step S2260 where the height of the lower layout and a given amount of space is added to the y associated with the current layout. Then, the x of the current layout and the new value for y is associated with the upper layout. Next, operation continues to step S2265. In step S2265, the upper layout is selected as the current layout and operation returns to step S2180. The operation of the flowchart will continue to move the various steps until, in step S2220 the current layout is the solution layout. At such time, each component layout of the solution layout has been assigned a position value and operation continues to step S2270 where operation of the method ends.
  • FIG. 22 is exemplary embodiment of a functional block diagram of another exemplary embodiment of a 3D visualization system 2200 that is usable to create 3D visualizations according to the invention. As shown in FIG. 22, the 3D visualization system 2200 includes an input/output interface 2220, a controller 2225, a memory 2230, a node identifying determining circuit, routine, or application 2240, a set associating circuit, routine, or application 2245, a set creating circuit, routine, or application 2250, a layout size comparing circuit, routine, or application 2255, a layout constructing circuit, routine, or application 2260, a horizontal layout combining circuit, routine, or application 2265, a vertical layout combining circuit, routine, or application 2270, and a media associating circuit, routine, or application 2275, each appropriately interconnected by one or more data/control busses and/or application programming interfaces 2280, or the like.
  • In this exemplary embodiment, the input/output interface 2220 is connected to one or more input devices 2205 over one or more links 2201. The input device(s) 2205 can be one or more of a keyboard, a mouse, a track ball, a track pad, a touch screen, a virtual reality glove, or any other known or later-developed device for inputting data and/or control signals to the 3D visualization system 2200. Furthermore, in this exemplary embodiment, the input/output interface 2220 is connected to one or more output devices 2210 over one or more links 2202. The output device(s) 2210 can be one or more of a computer monitor, cathode ray tube, liquid crystal display, image projector, electrophoretic display, a virtual reality display device, or any other known or later-developed device for visually displaying 3D visualization data output from the 3D visualization system 2200.
  • In this exemplary embodiment, the input/output interface 2220 is connected to a data source 2300 over a link 2301. The data source 2300 can be a locally or remotely located laptop or personal computer, a personal digital assistant, a tablet computer, a device that stores and/or transmits electronic data, such as a client or a server of a wired or wireless network, such as for example, an intranet, an extranet, a local area network, a wide area network, a storage area network, the Internet (especially the World Wide Web), and the like. In general, the data source 2000 can be any known or later-developed source that is capable of providing a media data organized in a tree to the input/output interface 2220.
  • Each of the various links 2201, 2202, and 2301 can be any known or later-developed device or system for connecting the input device(s) 2205, the output device(s) 2201, and/or the data source 2300, respectively, to the input/output interface 2220. In particular, the links 2201, 2202, and 2001 can each be implemented as one or more of a direct cable connection, a connection over a wide area network, a local area network or a storage area network, a connection over an intranet, a connection over an extranet, a connection over the Internet, a connection over any other distributed processing network or system, and/or an infrared, radio-frequency or other wireless connection.
  • As shown in FIG. 22, the memory 2230 contains a number of different memory portions, including a layouts portion 2231, a tree structure portion 2232, a leaf data portion 2233, and a solution layout portion 2234. The layouts portion 2231 of the memory 2230 stores various layouts. The tree structure portion 2232 of the memory 2230 stores the tree structure of the data that will be represented in the 3D visualization. The leaf data portion 2233 of the memory 2230 stores the media represented by each leaf in the tree structure. The solution layout portion 2234 stores the solution layout that will be used in the 3D visualization.
  • The memory 2230 shown in FIG. 22 can be implemented using any appropriate combination of alterable, volatile or non-volatile memory or non-alterable, or fixed, memory. The alterable memory, whether volatile or non-volatile, can be implemented using any one or more of static or dynamic RAM, a floppy disk and disk drive, a writeable or re-re-writeable optical disk and disk drive, a hard drive, flash memory or the like. Similarly, the non-alterable or fixed memory can be implemented using any one or more of ROM, PROM, EPROM, EEPROM, an optical ROM disk, such as CD-ROM or DVD-ROM disk, and disk drive or the like.
  • The node identifying circuit, routine, or application 2240 accesses the tree structure data and determines the characteristics of a node. The rectangle assigning circuit, routine, or application 2245 assigns rectangles to leaf nodes. The set associating circuit, routine, or application 2245 associates various layouts with a set of layouts. The set creating circuit, routine, or application 2250 creates empty sets with which various layouts may be associated. The layout size comparing circuit, routine, or application 2255 compares the size various layouts. The layout constructing circuit, routine, or application 2260 creates layouts for leaf nodes. The horizontal layout combining circuit, routine, or application 2265 combines layouts horizontally into a larger layout. The vertical layout combining circuit, routine, or application 2270 combines layouts vertically into a larger layout. Finally, the media associating circuit, routine, or application 2265 associates the leaf data with the solution layout to create the 3D visualization.
  • In operation, the exemplary embodiment of the 3D visualization system 2200 shown in FIG. 16 operates in the following manner. Under control of the controller 2225, the data necessary for creating the 3D visualization is input from the data source 2000 across the link 2001 via the input/output interface 2220 and stored in the tree structure and leaf data portions 2232, 2233 of the memory 2230. Next, under control of the controller 2225, the node identifying circuit, routine, or application 2240 accesses the tree data stored in the tree structure portion and identifies the leaf nodes. Then, under control of the controller 2225, the layout constructing circuit, routine, or application 2260 accesses the identified leaf nodes and constructs a layout with a given width and height for each leaf node. Under control of the controller 2225, the set creating circuit, routine, or application 2250 creates an empty set of layouts for each of the identified leaf nodes. Then, under control of the controller 2225, the layouts for each leaf node are stored within the new set created for that leaf node's layout node in the layouts portion 2231 of the memory 2230 and associated with the parent node of the leaf node for which the set was created.
  • After a layout for each node has been created, under control of the controller 2225, the node identifying circuit, routine, or application 2240 accesses the tree structure data stored in the tree structure portion and identifies each node that only has one set associated with it. Then, under control of the controller 2225, the set associating circuit, routine, or application 2245 associates that set with the first parent node in the identified node's progeny that has more than one subnodes. Next, under control of the controller 2225, the node identifying circuit, routine, or application 2240 identifies all of the nodes that have a set of layouts associated with each of that node's subnodes.
  • Under control of the controller 2225, the set creating circuit, routine, or application 2250 creates a new empty set of layouts for each of the identified nodes. Then, under control of the controller 2225, for each identified node, the horizontal layout combining circuit, routine, or application 2265 selects a layout from the set of layouts containing the smallest layout (set 1). Then, for each identified node, under control of the controller 2225, the horizontal layout combining circuit, routine, or application 2265 identifies the set of layouts other than set 1 with the smallest layout (set 2). Under control of the controller 2225, the horizontal layout combining circuit, routine, or application 2265 combines each layout from set 1 with every layout from set 2 in a horizontally adjacent fashion. The first of these combined layouts is stored in the newly created empty set of layouts for each of identified nodes. Then, under control of the controller 2225, the remaining combined layouts for each identified node are accessed by the layout size comparing circuit, routine, or application 2255.
  • The layout size comparing circuit, routine, or application 2255, under control of the controller 2225, compares each combined layout with each of the layouts in the newly created set. If, under control of the controller 2225, the layout size comparing circuit, routine, or application 2255 determines that a combined layout is “larger” than a layout in the new set (i.e., both the height and width of the combined layout is larger than the layout in the new set), the combined layout is discarded. If, under control of the controller 2225, the layout size comparing circuit, routine, or application 2255 determines that a layout in the new set is “larger” than a combined layout, the new layout is discarded and the combined layout is stored in the new set.
  • Next, under control of the controller 2225, the vertical layout combining circuit, routine, or application combines each of the layouts from set 1 with every layout from set 2. Again, under control of the controller 2225, if the layout size comparing circuit, routine, or application 2255 determines that a combined layout is “larger” than a layout in the new set, the combined layout is discarded. If, under control of the controller 2225, the layout size comparing circuit, routine, or application 2255 determines that a layout in the new set is “larger” than a combined layout, the new layout is discarded and the combined layout is stored in the new set.
  • Once, under control of the controller 2225, each of the layouts from set 1 has been combined vertically and horizontally with all of the layouts from set 2, sets 1 and 2 are discarded. Next, the node identifying circuit, routine, or application 2240, under control of the controller 2225, accesses the tree structure data stored in the tree structure portion 2232 and the layout data stored in the layout portion 2231 and identifies each node that only has one set associated with it. Then, under control of the controller 2225, the set associating circuit, routine, or application 2245 associates that set with the first parent node in the identified node's progeny that has more than one subnodes. Next, under control of the controller 2225, the node identifying circuit, routine, or application 2240 identifies all of the nodes that have had a set of layouts associated with each of that node's subnodes.
  • Under control of the controller 2225, the set creating circuit, routine, or application 2250 again creates a new empty set of layouts for each of the identified nodes. In this manner, for each node, the sets of layouts associated with that node will be consolidated until one set remains and that set will be associated with the nodes parent node. The data flow repeats until, under control of the controller 2225, the node identifying circuit, routine, or application 2240 determines that the root node has only one set of layouts associated with it and all of the subnodes of the parent node no longer have any sets. At this point, under control of the controller 2225, the layout size comparing circuit, routine, or application 2255 accesses the set of layouts associated with the root node and selects the smallest layout from the set (i.e., the layout with the smallest circumference). Then, under control of the controller 2225, the smallest layout is stored in the solution layout portion 2234, of the memory 2230. Next, under control of the controller 2225, the media associating circuit, routine, or application accesses the solution layout in the solution layout portion 2234 and the media data in the leaf data portion 2233, and associates the media data for each leaf with that leafs location according to the solution layout. At this point, the 3D visualization has been created and, under control of the controller 2225, is ready to be output to the output device(s) 2210 across link 2202 via the input output interface 2220.
  • It should be appreciated that, depending on cost or other design constraints, one or more of the above-described elements of the 3D visualization system 1200 may be combined into a single element or divided into multiple elements where appropriate.
  • According to the above-described exemplary embodiments of the systems, methods, and graphical user interfaces according to this invention, a 3D visualization of media indexed within a tree data structure is provided wherein 3D objects representing the indexed media display visual summaries of the indexed media. These summaries allow a user to visually evaluate the indexed media, based on its content, without having to access the media itself. The ability to evaluate the media based on its content is particularly advantageous when a large amount of media is indexed and it would be impractical to access each leaf of the tree data structure in order to evaluate the media.
  • While the invention has been described in conjunction with exemplary embodiments, these embodiments should be viewed as illustrative, not limiting. Various modifications, substitutes, or the like are possible within the spirit and scope of the invention.

Claims (15)

1. A method for creating a layout for a 3D visualization comprising:
inputting a tree data structure, each leaf of the tree associated with one or more forms of media;
obtaining a plurality of candidate layouts;
comparing the plurality of candidate layouts;
selecting a solution layout based on the comparison; and
constructing a 3D visualization of the tree data structure based on the solution layout,
wherein the representation of each leaf of the tree data structure within the 3D visualization provides a summary of the media associated with that leaf.
2. The method of claim 1, wherein obtaining the plurality of candidate layouts further comprises:
assigning each leaf a rectangular layout;
arranging, for each node of the tree data structure whose subnodes are all leaves, the rectangular layouts of the leaves of that node into a layout for that node.
3. The method of claim 2, wherein, for each node that has a rectangular layout for each subnode, one of the rectangular layouts being larger than a leaf rectangular layout, obtaining the plurality of candidate layouts further comprises:
arranging—for each node that has more than one leaf subnode and more than one non-leaf subnode, each non-leaf subnode having a rectangular layout—the rectangular layouts of the more than one leaf subnodes of that node into a rectangular layout; and
arranging, for that node, the rectangular layouts of the non-leaf subnodes and the rectangular layout of the leaf subnodes into a plurality of candidate layouts, the candidate layouts each defined by an aspect ratio.
4. The method of claim 3, wherein:
obtaining the plurality of candidate layouts further comprises arranging, for each node that does not have more than one leaf subnode and more than one non-leaf subnode, each non-leaf subnode having a rectangular layout, the layouts of the subnodes of that node into a plurality of candidate layouts, the candidate layouts defined by an aspect ratio.
5. The method of claim 4, wherein:
comparing the plurality of candidate layouts comprises determining a total area of each candidate layout that does not contain the rectangular layouts of the non-leaf subnodes and the rectangular layout of the leaf subnodes; and
selecting the solution layout comprises selecting the candidate layout with the smallest total area that does not contain the rectangular layouts of the non-leaf subnodes and the rectangular layout of the leaf subnodes.
6. The method of claim 5, wherein constructing the 3D visualization based on the layout comprises:
associating, for each leaf within the input tree data structure, the media associated with that leaf with a location of the layout of that leaf with the solution layout; and
creating, for each leaf within the input free data structure, a summary of the media associated with that leaf.
7. The method of claim 6, wherein the summary of the media contained by that leaf is a building-like structure with visual summaries of the media on each side of the building and the roof of the building.
8. The method of claim 1, wherein obtaining a plurality of candidate layouts comprises:
determining, for each leaf, a rectangular layout, a size of the rectangular layout being determined by a quality of the media associated with that leaf;
assigning, for each leaf, the determined rectangular layout to a new set of layouts; and
associating, for each leaf, the new set of layouts with a parent node of that leaf;
wherein, whenever there is only a single set of layouts associated with a root node, and no sets of layouts associated with any other nodes, selecting the solution layout comprises selecting a smallest layout from the set of layouts associated with the root node as the solution layout.
9. The method of claim 8, wherein obtaining the plurality of candidate layouts further comprises:
identifying each node that has a set of layouts associated with it for each of its subnodes; combining, for each identified node, the sets of layouts associated with that identified node into a single set, wherein the single set contains combined layouts that are not larger than any other combined layouts within the set.
10. The method of claim 9, wherein, to be considered larger, a layout must be longer in width and longer in length than another layout of the other layouts within the set.
11. The method of claim 10, wherein combining, for each identified node, the sets of layouts associated with that identified node into a single set comprises:
selecting a first set of layouts associated with that identified node containing a smallest layout;
selecting a second set of layouts associated with that identified node, other than the first set of layouts, that contains a smallest layout;
creating a new set of layouts associated with that identified node;
horizontally combining a first layout from the first selected set of layouts with a first layout from the second selected set of layouts; and
assigning the horizontally combined first layout from the first selected set and first layout from the second selected to the new set of layouts associated with the identified node.
12. The method of claim 11, wherein combining, for each identified node, the sets of layouts associated with that identified node into a single set further comprises, for each layout within the first selected set of layouts:
horizontally combining, for each layout within the second selected set of layouts, that layout from the first selected set of layouts with that layout from the second selected set of layouts; and
comparing, for each layout within the new set for the identified node, the horizontally combined layout from the first selected set and layout from the second selected set with that layout within the new set;
wherein:
whenever the horizontally combined layout from the first selected set and the second selected set is larger than a layout within the new set for the identified node, the horizontally combined layout from the first selected set and the second selected set is discarded;
whenever a layout within the new set for the identified node is larger than the horizontally combined layout from the first selected set and the second selected set, that layout within the new set for the identified node is discarded; and
if the horizontally combined layout from the first selected set and the second selected set has been compared with every layout in the new set for the identified node without being discarded, the horizontally combined layout from the first selected set and the second selected set is added to the new set for the identified node.
13. The method of claim 12, wherein combining, for each identified node, the sets of layouts associated with that identified node into a single set further comprises, for each layout within the first selected set of layouts:
vertically combining, for each layout within the second selected set of layouts, that layout from the first selected set of layouts with that layout from the second selected set of layouts; and
comparing, for each layout within the new set for the identified node, the vertically combined layout from the first selected set and layout from the second selected set with that layout within the new set;
wherein:
whenever the vertically combined layout from the first selected set and the second selected set is larger than a layout within the new set for the identified node, the vertically combined layout from the first selected set and the second selected set is discarded;
whenever a layout within the new set for the identified node is larger than the vertically combined layout from the first selected set and the second selected set, that layout within the new set for the identified node is discarded; and
if the vertically combined layout from the first selected set and the second selected set has been compared with every layout in the new set for the identified node without being discarded, the vertically combined layout from the first selected set and the second selected set is added to the new set for the identified node.
14. The method of claim 13, wherein the first selected set and the second selected set are discarded.
15.-42. (canceled)
US11/870,351 2004-02-12 2007-10-10 Systems and methods for creating an interactive 3d visualization of indexed media Abandoned US20080034326A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/870,351 US20080034326A1 (en) 2004-02-12 2007-10-10 Systems and methods for creating an interactive 3d visualization of indexed media

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/776,618 US7340678B2 (en) 2004-02-12 2004-02-12 Systems and methods for creating an interactive 3D visualization of indexed media
US11/870,351 US20080034326A1 (en) 2004-02-12 2007-10-10 Systems and methods for creating an interactive 3d visualization of indexed media

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/776,618 Division US7340678B2 (en) 2004-02-12 2004-02-12 Systems and methods for creating an interactive 3D visualization of indexed media

Publications (1)

Publication Number Publication Date
US20080034326A1 true US20080034326A1 (en) 2008-02-07

Family

ID=34837913

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/776,618 Active 2026-04-30 US7340678B2 (en) 2004-02-12 2004-02-12 Systems and methods for creating an interactive 3D visualization of indexed media
US11/870,351 Abandoned US20080034326A1 (en) 2004-02-12 2007-10-10 Systems and methods for creating an interactive 3d visualization of indexed media
US11/971,185 Abandoned US20080104546A1 (en) 2004-02-12 2008-01-08 Systems and methods for creating an interactive 3d visualization of indexed media

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/776,618 Active 2026-04-30 US7340678B2 (en) 2004-02-12 2004-02-12 Systems and methods for creating an interactive 3D visualization of indexed media

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/971,185 Abandoned US20080104546A1 (en) 2004-02-12 2008-01-08 Systems and methods for creating an interactive 3d visualization of indexed media

Country Status (2)

Country Link
US (3) US7340678B2 (en)
JP (1) JP2005235204A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070120846A1 (en) * 2005-10-31 2007-05-31 Samsung Electronics Co., Ltd. Three-dimensional motion graphic user interface and apparatus and method for providing three-dimensional motion graphic user interface
US20080189611A1 (en) * 2006-12-12 2008-08-07 Sony Computer Entertainment Inc. Content presentation device, content presentation method, and information storage medium
US20090158174A1 (en) * 2007-12-14 2009-06-18 International Business Machines Corporation Method and Apparatus for a Computer Simulated Environment
US20100031229A1 (en) * 2008-07-30 2010-02-04 Donna N Eng Dillenberger Visualization of complex systems using buildings
US20110105192A1 (en) * 2009-11-03 2011-05-05 Lg Electronics Inc. Terminal and control method thereof
US9128516B1 (en) * 2013-03-07 2015-09-08 Pixar Computer-generated imagery using hierarchical models and rigging

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003231510A1 (en) * 2002-04-25 2003-11-10 Sharp Kabushiki Kaisha Image data creation device, image data reproduction device, and image data recording medium
US7505984B1 (en) 2002-12-09 2009-03-17 Google Inc. Systems and methods for information extraction
US8006197B1 (en) * 2003-09-29 2011-08-23 Google Inc. Method and apparatus for output of search results
US7836038B2 (en) * 2003-12-10 2010-11-16 Google Inc. Methods and systems for information extraction
US8434027B2 (en) * 2003-12-15 2013-04-30 Quantum Matrix Holdings, Llc System and method for multi-dimensional organization, management, and manipulation of remote data
US7647300B2 (en) * 2004-01-26 2010-01-12 Google Inc. Methods and systems for output of search results
JP4636845B2 (en) * 2004-10-07 2011-02-23 任天堂株式会社 GAME DEVICE AND GAME PROGRAM
US8819569B2 (en) 2005-02-18 2014-08-26 Zumobi, Inc Single-handed approach for navigation of application tiles using panning and zooming
US20060200775A1 (en) * 2005-03-01 2006-09-07 Behr Jay A Displaying a plurality of selection areas in a computer-implemented graphical user interface
KR100610689B1 (en) * 2005-06-24 2006-08-09 엔에이치엔(주) Method for inserting moving picture into 3-dimension screen and record medium for the same
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US8015056B1 (en) * 2006-06-20 2011-09-06 Fenstermaker William H Method for visual presentation of key performance indicators of a business utilizing a squarified tree map
US10313505B2 (en) 2006-09-06 2019-06-04 Apple Inc. Portable multifunction device, method, and graphical user interface for configuring and displaying widgets
JP2008090395A (en) * 2006-09-29 2008-04-17 Hitachi Ltd Computer system, node for calculation and program
US8519964B2 (en) 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
US8914786B2 (en) 2007-03-23 2014-12-16 Zumobi, Inc. Systems and methods for controlling application updates across a wireless interface
US9251608B2 (en) * 2007-04-30 2016-02-02 Hewlett Packard Enterprise Development Lp Data visualization of a datacenter
US8373698B2 (en) 2007-05-10 2013-02-12 International Business Machines Corporation Holographic enterprise network
US7839401B2 (en) * 2007-05-10 2010-11-23 International Business Machines Corporation Management of enterprise systems and applications using three-dimensional visualization technology
US8294705B2 (en) * 2007-05-10 2012-10-23 International Business Machines Corporation Virtual network operations center
US20080288220A1 (en) * 2007-05-17 2008-11-20 Dillenberger Donna N Use of a three-dimensional (3d) data center to share service operations
US8259099B2 (en) * 2007-05-17 2012-09-04 International Business Machines Corporation Use of three-dimensional data center to support servicing external operations
US8375312B2 (en) * 2007-06-08 2013-02-12 Apple Inc. Classifying digital media based on content
KR100912398B1 (en) 2007-08-31 2009-08-14 한양대학교 산학협력단 Method and apparatus for generating three dimension geographic information about the inner structure
US8619038B2 (en) 2007-09-04 2013-12-31 Apple Inc. Editing interface
WO2009070319A1 (en) * 2007-11-27 2009-06-04 Ortiz David J Computer graphic user interface and display system
WO2009154480A1 (en) * 2008-06-20 2009-12-23 Business Intelligence Solutions Safe B.V. A method of graphically representing a tree structure
JP4636141B2 (en) * 2008-08-28 2011-02-23 ソニー株式会社 Information processing apparatus and method, and program
US8667419B2 (en) 2008-09-09 2014-03-04 Applied Systems, Inc. Method and apparatus for displaying a menu for accessing hierarchical content data including caching multiple menu states
US8423916B2 (en) * 2008-11-20 2013-04-16 Canon Kabushiki Kaisha Information processing apparatus, processing method thereof, and computer-readable storage medium
US8432400B1 (en) * 2008-12-02 2013-04-30 Adobe Systems Incorporated Transitional animation for generating tree maps
TW201106251A (en) * 2009-04-24 2011-02-16 Ibm Editing apparatus, editing method and program
US8713426B2 (en) * 2009-06-25 2014-04-29 Oracle International Corporation Technique for skipping irrelevant portions of documents during streaming XPath evaluation
US10097880B2 (en) 2009-09-14 2018-10-09 Tivo Solutions Inc. Multifunction multimedia device
US20110138330A1 (en) * 2009-12-03 2011-06-09 Apple Inc. Display of relational datasets
US8682145B2 (en) 2009-12-04 2014-03-25 Tivo Inc. Recording system based on multimedia content fingerprints
US10007393B2 (en) * 2010-01-19 2018-06-26 Apple Inc. 3D view of file structure
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US10788976B2 (en) 2010-04-07 2020-09-29 Apple Inc. Device, method, and graphical user interface for managing folders with multiple pages
US8423911B2 (en) 2010-04-07 2013-04-16 Apple Inc. Device, method, and graphical user interface for managing folders
GB201009182D0 (en) * 2010-06-01 2010-07-14 Treadway Oliver Method,apparatus and system for a graphical user interface
US10324605B2 (en) 2011-02-16 2019-06-18 Apple Inc. Media-editing application with novel editing tools
US9001053B2 (en) 2010-10-28 2015-04-07 Honeywell International Inc. Display system for controlling a selector symbol within an image
JP5643617B2 (en) * 2010-11-18 2014-12-17 任天堂株式会社 Image processing program, image processing apparatus, image processing method, and image processing system
JP2012128662A (en) * 2010-12-15 2012-07-05 Samsung Electronics Co Ltd Display control device, program and display control method
US9251855B2 (en) 2011-01-28 2016-02-02 Apple Inc. Efficient media processing
US9997196B2 (en) 2011-02-16 2018-06-12 Apple Inc. Retiming media presentations
US11747972B2 (en) 2011-02-16 2023-09-05 Apple Inc. Media-editing application with novel editing tools
US9026909B2 (en) * 2011-02-16 2015-05-05 Apple Inc. Keyword list view
KR101277487B1 (en) * 2011-10-20 2013-06-21 아주대학교산학협력단 System for controlling treemap and method thereof
US9098516B2 (en) * 2012-07-18 2015-08-04 DS Zodiac, Inc. Multi-dimensional file system
US10380799B2 (en) 2013-07-31 2019-08-13 Splunk Inc. Dockable billboards for labeling objects in a display having a three-dimensional perspective of a virtual or real environment
US20150035823A1 (en) 2013-07-31 2015-02-05 Splunk Inc. Systems and Methods for Using a Three-Dimensional, First Person Display to Convey Data to a User
EP3063608B1 (en) 2013-10-30 2020-02-12 Apple Inc. Displaying relevant user interface objects
US10831528B2 (en) 2013-12-19 2020-11-10 International Business Machines Corporation Replication of batch jobs of computing systems
US20160036906A1 (en) * 2014-08-04 2016-02-04 Vixlet LLC Dynamic adjustment of client thickness
US10581989B2 (en) * 2015-07-30 2020-03-03 Nasdaq, Inc. Application logging framework
DK201670595A1 (en) 2016-06-11 2018-01-22 Apple Inc Configuring context-specific user interfaces
US11816325B2 (en) 2016-06-12 2023-11-14 Apple Inc. Application shortcuts for carplay
JP6746790B2 (en) * 2016-10-12 2020-08-26 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. Sub-volume octree
US20190057180A1 (en) * 2017-08-18 2019-02-21 International Business Machines Corporation System and method for design optimization using augmented reality
US10754523B2 (en) * 2017-11-27 2020-08-25 International Business Machines Corporation Resizing of images with respect to a single point of convergence or divergence during zooming operations in a user interface
US10969935B2 (en) * 2018-06-08 2021-04-06 Microsoft Technology Licensing, Llc System for generation of novel artifacts with user-guided discovery and navigation of the creative space
WO2020018592A1 (en) 2018-07-17 2020-01-23 Methodical Mind, Llc. Graphical user interface system
US11675476B2 (en) 2019-05-05 2023-06-13 Apple Inc. User interfaces for widgets
US11538210B1 (en) * 2021-11-22 2022-12-27 Adobe Inc. Text importance spatial layout

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638523A (en) * 1993-01-26 1997-06-10 Sun Microsystems, Inc. Method and apparatus for browsing information in a computer database
US5835094A (en) * 1996-12-31 1998-11-10 Compaq Computer Corporation Three-dimensional computer environment
US5861885A (en) * 1993-03-23 1999-01-19 Silicon Graphics, Inc. Method and apparatus for indicating selected objects by spotlight
US5909217A (en) * 1997-09-30 1999-06-01 International Business Machines Corporation Large scale system status map
US5926825A (en) * 1995-08-31 1999-07-20 Nec Corporation Article layout device for automatically making layout of multi-column documents
US6002403A (en) * 1996-04-30 1999-12-14 Sony Corporation Graphical navigation control for selecting applications on visual walls
US6037939A (en) * 1995-09-27 2000-03-14 Sharp Kabushiki Kaisha Method for enabling interactive manipulation of data retained in computer system, and a computer system for implementing the method
US6201544B1 (en) * 1997-08-11 2001-03-13 Alpine Electronics, Inc. Location floor number display device in navigation apparatus
US6222557B1 (en) * 1998-06-26 2001-04-24 Visual Insights, Inc. Navigation system and method for viewing a 3D data landscape
US6243091B1 (en) * 1997-11-21 2001-06-05 International Business Machines Corporation Global history view
US6259451B1 (en) * 1997-03-07 2001-07-10 Silicon Graphics, Inc. Method, system, and computer program product for mapping between an overview and a partial hierarchy
US6281898B1 (en) * 1997-05-16 2001-08-28 Philips Electronics North America Corporation Spatial browsing approach to multimedia information retrieval
US20020033848A1 (en) * 2000-04-21 2002-03-21 Sciammarella Eduardo Agusto System for managing data objects
US6400366B1 (en) * 1998-09-14 2002-06-04 Visual Insights, Inc. Method and system for the interactive visualization and examination of data
US6522347B1 (en) * 2000-01-18 2003-02-18 Seiko Epson Corporation Display apparatus, portable information processing apparatus, information recording medium, and electronic apparatus
US6526215B2 (en) * 1997-11-11 2003-02-25 Hitachi Denshi Kabushiki Kaisha Apparatus for editing moving picture having a related information thereof, a method of the same and recording medium for storing procedures in the same method
US6613100B2 (en) * 1997-11-26 2003-09-02 Intel Corporation Method and apparatus for displaying miniaturized graphical representations of documents for alternative viewing selection
US6795972B2 (en) * 2001-06-29 2004-09-21 Scientific-Atlanta, Inc. Subscriber television system user interface with a virtual reality media space
US7250951B1 (en) * 2002-04-10 2007-07-31 Peter Hurley System and method for visualizing data

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366296B1 (en) 1998-09-11 2002-04-02 Xerox Corporation Media browser using multimodal analysis
US6535639B1 (en) 1999-03-12 2003-03-18 Fuji Xerox Co., Ltd. Automatic video summarization using a measure of shot importance and a frame-packing method
US6707454B1 (en) * 1999-07-01 2004-03-16 Lucent Technologies Inc. Systems and methods for visualizing multi-dimensional data in spreadsheets and other data structures
US7117453B2 (en) * 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
US7509321B2 (en) * 2003-01-21 2009-03-24 Microsoft Corporation Selection bins for browsing, annotating, sorting, clustering, and filtering media objects
GB2404546B (en) * 2003-07-25 2005-12-14 Purple Interactive Ltd A method of organising and displaying material content on a display to a viewer
US7467356B2 (en) * 2003-07-25 2008-12-16 Three-B International Limited Graphical user interface for 3d virtual display browser using virtual display windows
US7743322B2 (en) * 2003-09-30 2010-06-22 Hewlett-Packard Development Company, L.P. Automatic photo album page layout

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638523A (en) * 1993-01-26 1997-06-10 Sun Microsystems, Inc. Method and apparatus for browsing information in a computer database
US5861885A (en) * 1993-03-23 1999-01-19 Silicon Graphics, Inc. Method and apparatus for indicating selected objects by spotlight
US5926825A (en) * 1995-08-31 1999-07-20 Nec Corporation Article layout device for automatically making layout of multi-column documents
US6037939A (en) * 1995-09-27 2000-03-14 Sharp Kabushiki Kaisha Method for enabling interactive manipulation of data retained in computer system, and a computer system for implementing the method
US6002403A (en) * 1996-04-30 1999-12-14 Sony Corporation Graphical navigation control for selecting applications on visual walls
US5835094A (en) * 1996-12-31 1998-11-10 Compaq Computer Corporation Three-dimensional computer environment
US6259451B1 (en) * 1997-03-07 2001-07-10 Silicon Graphics, Inc. Method, system, and computer program product for mapping between an overview and a partial hierarchy
US6281898B1 (en) * 1997-05-16 2001-08-28 Philips Electronics North America Corporation Spatial browsing approach to multimedia information retrieval
US6201544B1 (en) * 1997-08-11 2001-03-13 Alpine Electronics, Inc. Location floor number display device in navigation apparatus
US5909217A (en) * 1997-09-30 1999-06-01 International Business Machines Corporation Large scale system status map
US6526215B2 (en) * 1997-11-11 2003-02-25 Hitachi Denshi Kabushiki Kaisha Apparatus for editing moving picture having a related information thereof, a method of the same and recording medium for storing procedures in the same method
US6243091B1 (en) * 1997-11-21 2001-06-05 International Business Machines Corporation Global history view
US6613100B2 (en) * 1997-11-26 2003-09-02 Intel Corporation Method and apparatus for displaying miniaturized graphical representations of documents for alternative viewing selection
US6222557B1 (en) * 1998-06-26 2001-04-24 Visual Insights, Inc. Navigation system and method for viewing a 3D data landscape
US6400366B1 (en) * 1998-09-14 2002-06-04 Visual Insights, Inc. Method and system for the interactive visualization and examination of data
US6522347B1 (en) * 2000-01-18 2003-02-18 Seiko Epson Corporation Display apparatus, portable information processing apparatus, information recording medium, and electronic apparatus
US20020033848A1 (en) * 2000-04-21 2002-03-21 Sciammarella Eduardo Agusto System for managing data objects
US6795972B2 (en) * 2001-06-29 2004-09-21 Scientific-Atlanta, Inc. Subscriber television system user interface with a virtual reality media space
US7250951B1 (en) * 2002-04-10 2007-07-31 Peter Hurley System and method for visualizing data

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070120846A1 (en) * 2005-10-31 2007-05-31 Samsung Electronics Co., Ltd. Three-dimensional motion graphic user interface and apparatus and method for providing three-dimensional motion graphic user interface
US20080189611A1 (en) * 2006-12-12 2008-08-07 Sony Computer Entertainment Inc. Content presentation device, content presentation method, and information storage medium
US8484580B2 (en) * 2006-12-12 2013-07-09 Sony Corporation Content presentation device, content presentation method, and information storage medium
US20090158174A1 (en) * 2007-12-14 2009-06-18 International Business Machines Corporation Method and Apparatus for a Computer Simulated Environment
US8239775B2 (en) * 2007-12-14 2012-08-07 International Business Machines Corporation Method and apparatus for a computer simulated environment
US20100031229A1 (en) * 2008-07-30 2010-02-04 Donna N Eng Dillenberger Visualization of complex systems using buildings
US8813023B2 (en) 2008-07-30 2014-08-19 International Business Machines Corporation Visualization of complex systems using buildings
US20110105192A1 (en) * 2009-11-03 2011-05-05 Lg Electronics Inc. Terminal and control method thereof
US8627236B2 (en) * 2009-11-03 2014-01-07 Lg Electronics Inc. Terminal and control method thereof
US9128516B1 (en) * 2013-03-07 2015-09-08 Pixar Computer-generated imagery using hierarchical models and rigging

Also Published As

Publication number Publication date
US20050183041A1 (en) 2005-08-18
JP2005235204A (en) 2005-09-02
US20080104546A1 (en) 2008-05-01
US7340678B2 (en) 2008-03-04

Similar Documents

Publication Publication Date Title
US7340678B2 (en) Systems and methods for creating an interactive 3D visualization of indexed media
JP5055699B2 (en) System, program, and graphical user interface device for generating three-dimensional visualization
CN100451921C (en) Graphical user interface for 3-dimensional view of a data collection based on an attribute of the data
US7737995B2 (en) Graphical user interface system and process for navigating a set of images
US6304259B1 (en) Computer system, method and user interface components for abstracting and accessing a body of knowledge
US7263667B1 (en) Methods, apparatus and data structures for providing a user interface which facilitates decision making
CN103398719B (en) Digital mapping system
US7707503B2 (en) Methods and systems for supporting presentation tools using zoomable user interface
US5546529A (en) Method and apparatus for visualization of database search results
US8495066B2 (en) Photo-based virtual world creation system for non-professional volunteers
US20130249812A1 (en) Interactive visual representation of points of interest data
US20090125801A1 (en) 3D windows system
US6874123B1 (en) Three-dimensional model to facilitate user comprehension and management of information
WO1999008170A2 (en) Method of generating a 3-d representation of a hierarchical data structure
JP2014096151A (en) Panoptic visualization document printing
JP2013232177A (en) Panoramic visualized document database management
Pecchioli et al. ISEE: Information access through the navigation of a 3D interactive environment
CN116301348A (en) Personalized tour layout method and system for museum exhibition hall
EP2711897B1 (en) Panoptic visualization document differencing
JP6456017B2 (en) Panoramic visualization document access control
Tenev et al. Managing multiple focal levels in table lens
Shiffer Augmenting geographic information with collaborative multimedia technologies
Peng et al. Reconstructing urban contexts online for interactive urban designs
US9442637B1 (en) Hierarchical navigation and visualization system
Müller Granularity based multiple coordinated views to improve the information seeking process

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION